java_jungsuk3_슰ì−µë¬¸ì€œì€—ì²´_ hwp

Similar documents
PowerPoint 프레젠테이션

TEST BANK & SOLUTION

Microsoft PowerPoint - Java7.pptx

PowerPoint Presentation

Java ...

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint Presentation

PowerPoint 프레젠테이션

Infinity(∞) Strategy

PowerPoint 프레젠테이션

2 Java 의정석定石 2 판 - 연습문제풀이 안녕하십니까? Java 의정석의저자남궁성입니다. 요즘제가 Java예제를정리한 Java1000제를집필하고있는데요. Java의정석에연습문제가있었으면좋겠다는독자분들의요청을많이받았습니다. 그래서 Java1000제의일부를연습문제로만

java_jungsuk3_슰ì−µë¬¸ì€œì€—ì²´_ hwp

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - chap06-1Array.ppt

윈도우즈프로그래밍(1)

Microsoft PowerPoint - ch07 - 포인터 pm0415

OCW_C언어 기초

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

Microsoft PowerPoint - chap04-연산자.pptx

중간고사

PowerPoint 프레젠테이션

4장.문장

JAVA PROGRAMMING 실습 09. 예외처리

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - Chapter_04.pptx

Visual Basic 반복문

02 C h a p t e r Java

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint 프레젠테이션

쉽게

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint Presentation

Microsoft PowerPoint - chap05-제어문.pptx

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Design Issues

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

CHAPTER 02 데이터형과수식 JAVA Programing

금오공대 컴퓨터공학전공 강의자료

Java

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - 04-UDP Programming.ppt

슬라이드 1

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

C 언어 프로그래밊 과제 풀이

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

JAVA PROGRAMMING 실습 08.다형성

PowerPoint 프레젠테이션

PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

11장 포인터

C++ Programming

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

C프로-3장c03逞풚

Microsoft PowerPoint - lec2.ppt

07 자바의 다양한 클래스.key

03-JAVA Syntax(2).PDF

설계란 무엇인가?

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

금오공대 컴퓨터공학전공 강의자료

쉽게 풀어쓴 C 프로그래밍

설계란 무엇인가?

비긴쿡-자바 00앞부속

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint Presentation

Java Programing Environment

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

쉽게 풀어쓴 C 프로그래밍

untitled

Microsoft PowerPoint - 2강

chap 5: Trees

No Slide Title

02장.배열과 클래스

쉽게 풀어쓴 C 프로그래밍

Chapter_06

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

PowerPoint 프레젠테이션

강의 개요

Transcription:

Web Programming 실습 JAVA 연습문제 01 변수 / 연산자 / 조건문 / 반복문 / 배열 1

4 JAVA 연습문제 01 Chapter 변수 Variable

5 [ 연습문제 ] [2-1] 다음표의빈칸에 8 개의기본형 (primitive type) 을알맞은자리에넣으시오. 종류 논리형 크기 1 byte 2 byte 4 byte 8 byte 문자형 정수형 실수형 [2-2] 주민등록번호를숫자로저장하고자한다. 이값을저장하기위해서는어떤자료형 (data type) 을선택해야할까? regno 라는이름의변수를선언하고자신의주민등록번호로 초기화하는한줄의코드를적으시오. [2-3] 다음의문장에서리터럴, 변수, 상수, 키워드를적으시오. int i = 100; long l =100L; final float PI = 3.14f; - 리터럴 : - 변수 : - 키워드 : - 상수 : [2-4] 다음중기본형 (primitive type) 이아닌것은? a. int b. Byte c. double d. boolean [2-5] 다음문장들의출력결과를적으세요. 류 라고적으시오. 오류가있는문장의경우, 괄호안에 오 System.out.println( 1 + 2 ) System.out.println(true + ) System.out.println( A' + 'B') System.out.println('1' + 2) System.out.println('1' + '2') System.out.println('J' + ava ) System.out.println(true + null) ( ) ( ) ( ) ( ) ( ) ( ) ( )

6 JAVA 연습문제 01 [2-6] 다음중키워드가아닌것은?( 모두고르시오 ) a. if b. True c. NULL d. Class e. System [2-7] 다음중변수의이름으로사용할수있는것은? ( 모두고르시오 ) a. $ystem b. channel#5 c. 7eleven d. If e. 자바 f. new g. $MAX_NUM h. hello@com [2-8] 참조형변수 (reference type) 와같은크기의기본형 (primitive type) 은? ( 모두고르시오 ) a. int b. long c. short d. float e. double [2-9] 다음중형변환을생략할수있는것은? ( 모두고르시오 ) byte b = 10; char ch = 'A'; int i = 100; long l = 1000L; a. b = (byte)i; b. ch = (char)b; c. short s = (short)ch; d. float f = (float)l; e. i = (int)ch; [2-10] char 타입의변수에저장될수있는정수값의범위는? (10 진수로적으시오 )

7 [2-11] 다음중변수를잘못초기화한것은? ( 모두고르시오 ) a. byte b = 256; b. char c = ''; c. char answer = 'no'; d. float f = 3.14 e. double d = 1.4e3f; [2-12] 다음중 main 메서드의선언부로알맞은것은? ( 모두고르시오 ) a. b. public static void main(string args[]) c. public static void main(string[] arv) d. public void static main(string[] args) e. static public void main(string[] args) [2-13] 다음중타입과기본값이잘못연결된것은? ( 모두고르시오 ) a. boolean - false b. char - '\u0000' c. float - 0.0 d. int - 0 e. long - 0 f. String - ""

8 JAVA 연습문제 01 Chapter 연산자 Operator

9 [ 연습문제 ] [3-1] 다음연산의결과를적으시오. [ 연습문제 ]/ch3/exercise3_1.java class Exercise3_1 int x = 2; int y = 5; char c = 'A'; // 'A' 의문자코드는 65 System.out.println(1 + x << 33); System.out.println(y >= 5 x < 0 && x > 2); System.out.println(y += 10 - x++); System.out.println(x+=2); System.out.println(!('A' <= c && c <='Z') ); System.out.println('C'-c); System.out.println('5'-'0'); System.out.println(c+1); System.out.println(++c); System.out.println(c++); System.out.println(c); [3-2] 아래의코드는사과를담는데필요한바구니 ( 버켓 ) 의수를구하는코드이다. 만일 사과의수가 123 개이고하나의바구니에는 10 개의사과를담을수있다면, 13 개의바구니 가필요할것이다. (1) 에알맞은코드를넣으시오. [ 연습문제 ]/ch3/exercise3_2.java class Exercise3_2 int numofapples = 123; // 사과의개수 int sizeofbucket = 10; // 바구니의크기 ( 바구니에담을수있는사과의개수 ) int numofbucket = ( /* (1) */ ); // 모든사과를담는데필요한바구니의수 System.out.println(" 필요한바구니의수 :"+numofbucket); 13

10 JAVA 연습문제 01 [3-3] 아래는변수 num 의값에따라 양수, 음수, 0 을출력하는코드이다. 삼항연산 자를이용해서 (1) 에알맞은코드를넣으시오. [Hint] 삼항연산자를두번사용하라. [ 연습문제 ]/ch3/exercise3_3.java class Exercise3_3 int num = 10; System.out.println( /* (1) */ ); 양수 [3-4] 아래는변수 num 의값중에서백의자리이하를버리는코드이다. 만일변수 num 의값이 456 이라면 400 이되고, 111 이라면 100 이된다. (1) 에알맞은코드를넣으 시오. [ 연습문제 ]/ch3/exercise3_4.java class Exercise3_4 int num = 456; System.out.println( /* (1) */ ); 400 [3-5] 아래는변수 num 의값중에서일의자리를 1 로바꾸는코드이다. 만일변수 num 의 값이 333 이라면 331 이되고, 777 이라면 771 이된다. (1) 에알맞은코드를넣으시오. [ 연습문제 ]/ch3/exercise3_5.java class Exercise3_5 int num = 333; System.out.println( /* (1) */ ); 331

11 [3-6] 아래는변수 num 의값보다크면서도가장가까운 10 의배수에서변수 num 의값을뺀나머지를구하는코드이다. 예를들어, 24 의크면서도가장가까운 10 의배수는 30 이다. 19 의경우 20 이고, 81 의경우 90 이된다. 30 에서 24 를뺀나머지는 6 이기때문에변수 num 의값이 24 라면 6 을결과로얻어야한다. (1) 에알맞은코드를넣으시오. [Hint] 나머지연산자를사용하라. [ 연습문제 ]/ch3/exercise3_6.java class Exercise3_6 int num = 24; System.out.println( /* (1) */ ); 6 [3-7] 아래는화씨 (Fahrenheit) 를섭씨 (Celcius) 로변환하는코드이다. 변환공식이 'C = 5/9 (F - 32)' 라고할때, (1) 에알맞은코드를넣으시오. 단, 변환결과값은소수점 셋째자리에서반올림해야한다.(Math.round() 를사용하지않고처리할것 ) [ 연습문제 ]/ch3/exercise3_7.java class Exercise3_7 int fahrenheit = 100; float celcius = ( /* (1) */ ); System.out.println("Fahrenheit:"+fahrenheit); System.out.println("Celcius:"+celcius); Fahrenheit:100 Celcius:37.78

12 JAVA 연습문제 01 [3-8] 아래코드의문제점을수정해서실행결과와같은결과를얻도록하시오. [ 연습문제 ]/ch3/exercise3_8.java class Exercise3_8 byte a = 10; byte b = 20; byte c = a + b; char ch = 'A'; ch = ch + 2; float f = 3 / 2; long l = 3000 * 3000 * 3000; float f2 = 0.1f; double d = 0.1; boolean result = d==f2; System.out.println("c="+c); System.out.println("ch="+ch); System.out.println("f="+f); System.out.println("l="+l); System.out.println("result="+result); c=30 ch=c f=1.5 l=27000000000 result=true [3-9] 다음은문자형변수 ch 가영문자 ( 대문자또는소문자 ) 이거나숫자일때만변수 b 의값이 true 가되도록하는코드이다. (1) 에알맞은코드를넣으시오. [ 연습문제 ]/ch3/exercise3_9.java class Exercise3_9 char ch = 'z'; boolean b = ( /* (1) */ ); System.out.println(b); true

13 [3-10] 다음은대문자를소문자로변경하는코드인데, 문자 ch 에저장된문자가대문자 인경우에만소문자로변경한다. 문자코드는소문자가대문자보다 32 만큼더크다. 예를 들어 'A 의코드는 65 이고 a' 의코드는 97 이다. (1)~(2) 에알맞은코드를넣으시오. [ 연습문제 ]/ch3/exercise3_10.java class Exercise3_10 char ch = 'A'; char lowercase = ( /* (1) */ )? ( /* (2) */ ) : ch; System.out.println("ch:"+ch); System.out.println("ch to lowercase:"+lowercase); ch:a ch to lowercase:a

14 JAVA 연습문제 01 Chapter 조건문과반복문 if, switch, for, while

15 [ 연습문제 ] [4-1] 다음의문장들을조건식으로표현하라. 1. int 형변수 x 가 10 보다크고 20 보다작을때 true 인조건식 2. char 형변수 ch 가공백이나탭이아닐때 true 인조건식 3. char 형변수 ch 가 x' 또는 X' 일때 true 인조건식 4. char 형변수 ch 가숫자 ( 0 ~ 9 ) 일때 true 인조건식 5. char 형변수 ch 가영문자 ( 대문자또는소문자 ) 일때 true 인조건식 6. int 형변수 year 가 400 으로나눠떨어지거나또는 4 로나눠떨어지고 100 으로나눠떨어지지않을때 true 인조건식 7. boolean 형변수 poweron 가 false 일때 true 인조건식 8. 문자열참조변수 str 이 yes 일때 true 인조건식 [4-2] 1 부터 20 까지의정수중에서 2 또는 3 의배수가아닌수의총합을구하시오. [4-3] 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10) 의결과를계산하시오. [4-4] 1+(-2)+3+(-4)+... 과같은식으로계속더해나갔을때, 몇까지더해야총합이 100 이상이되는지구하시오. [4-5] 다음의 for 문을 while 문으로변경하시오. [ 연습문제 ]/ch4/exercise4_5.java public class Exercise4_5 for(int i=0; i<=10; i++) for(int j=0; j<=i; j++) System.out.print("*"); System.out.println(); // end of main // end of class [4-6] 두개의주사위를던졌을때, 눈의합이 6 이되는모든경우의수를출력하는프 로그램을작성하시오.

16 JAVA 연습문제 01 [4-7] Math.random() 을이용해서 1 부터 6 사이의임의의정수를변수 value 에저장하는 코드를완성하라. (1) 에알맞은코드를넣으시오. [ 연습문제 ]/ch4/exercise4_7.java class Exercise4_7 int value = ( /* (1) */ ); System.out.println("value:"+value); [4-8] 방정식 2x+4y=10 의모든해를구하시오. 단, x 와 y 는정수이고각각의범위는 0<=x<=10, 0<=y<=10 이다. x=1, y=2 x=3, y=1 x=5, y=0 [4-9] 숫자로이루어진문자열 str 이있을때, 각자리의합을더한결과를출력하는코 드를완성하라. 만일문자열이 "12345" 라면, 1+2+3+4+5 의결과인 15 를출력이출력되

17 어야한다. (1) 에알맞은코드를넣으시오. [Hint] String 클래스의 charat(int i) 을사용 [ 연습문제 ]/ch4/exercise4_9.java class Exercise4_9 String str = "12345"; int sum = 0; for(int i=0; i < str.length(); i++) /* (1) 알맞은코드를넣어완성하시오. */ System.out.println("sum="+sum); 15 [4-10] int 타입의변수 num 이있을때, 각자리의합을더한결과를출력하는코드를 완성하라. 만일변수 num 의 값이에알맞은코드를 넣으시오. 12345 라면, 1+2+3+4+5 의결과인 15 를출력하라. (1) [ 주의 ] 문자열로변환하지말고숫자로만처리해야한다. [ 연습문제 ]/ch4/exercise4_10.java class Exercise4_10 int num = 12345; int sum = 0; /* (1) 알맞은코드를넣어완성하시오. */ System.out.println("sum="+sum); 15 [4-11] 피보나치 (Fibonnaci) 수열 ( 數列 ) 은앞을두수를더해서다음수를만들어나가 는수열이다. 예를들어앞의두수가 1 과 1 이라면그다음수는 2 가되고그다음수는 1 과 2 를더해서 3 이되어서 1,1,2,3,5,8,13,21,... 과같은식으로진행된다. 1 과 1 부터

18 JAVA 연습문제 01 시작하는피보나치수열의 10 번째수는무엇인지계산하는프로그램을완성하시오. [ 연습문제 ]/ch4/exercise4_11.java public class Exercise4_11 // Fibonnaci 수열의시작의첫두숫자를 1, 1 로한다. int num1 = 1; int num2 = 1; int num3 = 0; // 세번째값 System.out.print(num1+","+num2); for (int i = 0 ; i < 8 ; i++ ) /* (1) 알맞은코드를넣어완성하시오. */ // end of main // end of class 1,1,2,3,5,8,13,21,34,55

19 [4-12] 구구단의일부분을다음과같이출력하시오. 2*1=2 3*1=3 4*1=4 2*2=4 3*2=6 4*2=8 2*3=6 3*3=9 4*3=12 5*1=5 6*1=6 7*1=7 5*2=10 6*2=12 7*2=14 5*3=15 6*3=18 7*3=21 8*1=8 9*1=9 8*2=16 9*2=18 8*3=24 9*3=27 [4-13] 다음은주어진문자열 (value) 이숫자인지를판별하는프로그램이다. (1) 에알맞 은코드를넣어서프로그램을완성하시오. [ 연습문제 ]/ch4/exercise4_13.java class Exercise4_13 String value = "12o34"; char ch = ' '; boolean isnumber = true; // 반복문과 charat(int i) 를이용해서문자열의문자를 // 하나씩읽어서검사한다. for(int i=0; i < value.length() ;i++) /* (1) 알맞은코드를넣어완성하시오. */ if (isnumber) System.out.println(value+" 는숫자입니다."); else System.out.println(value+" 는숫자가아닙니다."); // end of main // end of class 12o34 는숫자가아닙니다.

20 JAVA 연습문제 01 [4-14] 다음은숫자맞추기게임을작성한것이다. 1 과 100 사이의값을반복적으로입력해서컴퓨터가생각한값을맞추면게임이끝난다. 사용자가값을입력하면, 컴퓨터는자신이생각한값과비교해서결과를알려준다. 사용자가컴퓨터가생각한숫자를맞추면게임이끝나고몇번만에숫자를맞췄는지알려준다. (1)~(2) 에알맞은코드를넣어프로그램을완성하시오. [ 연습문제 ]/ch4/exercise4_14.java class Exercise4_14 // 1~100 사이의임의의값을얻어서 answer 에저장한다. int answer = /* (1) */; int input = 0; // 사용자입력을저장할공간 int count = 0; // 시도횟수를세기위한변수 // 화면으로부터사용자입력을받기위해서 Scanner 클래스사용 java.util.scanner s = new java.util.scanner(system.in); do count+ +; System.out.print("1 과 100 사이의값을입력하세요 :"); input = s.nextint(); // 입력받은값을변수 input 에저장한다. /* (2) 알맞은코드를넣어완성하시오. */ while(true); // 무한반복문 // end of main // end of class HighLow 1 과 100 사이의값을입력하세요 :50 더큰수를입력하세요. 1 과 100 사이의값을입력하세요 :75 더큰수를입력하세요. 1 과 100 사이의값을입력하세요 :87 더작은수를입력하세요. 1 과 100 사이의값을입력하세요 :80 더작은수를입력하세요. 1 과 100 사이의값을입력하세요 :77 더작은수를입력하세요. 1 과 100 사이의값을입력하세요 :76 맞췄습니다. 시도횟수는 6 번입니다.

20 JAVA 연습문제 01 [4-15] 다음은회문수를구하는프로그램이다. 회문수 (palindrome) 란, 숫자를거꾸로읽어도앞으로읽는것과같은수를말한다. 예를들면 12321 이나 13531 같은수를말한다. (1) 에알맞은코드를넣어서프로그램을완성하시오. [Hint] 나머지연산자를이용하시오. [ 연습문제 ]/ch4/exercise4_15.java class Exercise4_15 int number = 12321; int tmp = number; int result =0; // 변수 number 를거꾸로변환해서담을변수 while(tmp!=0) /* (1) 알맞은코드를넣어완성하시오. */ if(number == result) System.out.println( number + " 는회문수입니다."); else System.out.println( number + " 는회문수가아닙니다."); // main 12321 는회문수입니다.

21 Chapter 배열 Array

22 JAVA 연습문제 01 [ 연습문제 ] [5-1] 다음은배열을선언하거나초기화한것이다. 잘못된것을고르고그이유를설명하시오. a. int[] arr[]; b. int[] arr = 1,2,3,; c. int[] arr = new int[5]; d. int[] arr = new int[5]1,2,3,4,5; e. int arr[5]; f. int[] arr[] = new int[3][]; [5-2] 다음과같은배열이있을때, arr[3].length 의값은얼마인가? int[][] arr = 5, 5, 5, 5, 5, 10, 10, 10, 20, 20, 20, 20, 30, 30 ; [5-3] 배열 arr 에담긴모든값을더하는프로그램을완성하시오. [ 연습문제 ]/ch5/exercise5_3.java class Exercise5_3 int[] arr = 10, 20, 30, 40, 50; int sum = 0; /* */ (1) 알맞은코드를넣어완성하시오. System.out.println("sum="+sum); sum=150

23 [5-4] 2 차원배열 arr 에담긴모든값의총합과평균을구하는프로그램을완성하시오. [ 연습문제 ]/ch5/exercise5_4.java class Exercise5_4 int[][] arr = 5, 5, 5, 5, 5, 10,10,10,10,10, 20,20,20,20,20, 30,30,30,30,30 ; int total = 0; float average = 0; /* */ (1) 알맞은코드를넣어완성하시오. System.out.println("total="+total); System.out.println("average="+average); // end of main // end of class total=325 average=16.25

24 JAVA 연습문제 01 [5-5] 다음은 1 과 9 사이의중복되지않은숫자로이루어진 3 자리숫자를만들어내는프 로그램이다. (1)~(2) 에알맞은코드를넣어서프로그램을완성하시오. [ 참고 ] Math.random() 을사용했기때문에실행결과와다를수있다. [ 연습문제 ]/ch5/exercise5_5.java class Exercise5_5 int[] ballarr = 1,2,3,4,5,6,7,8,9; int[] ball3 = new int[3]; // 배열 ballarr 의임의의요소를골라서위치를바꾼다. for(int i=0; i< ballarr.length;i++) int j = (int)(math.random() * ballarr.length); int tmp = 0; /* */ (1) 알맞은코드를넣어완성하시오. // 배열 ballarr 의앞에서 3 개의수를배열 ball3 로복사한다. /* (2) */ for(int i=0;i<ball3.length;i++) System.out.print(ball3[i]); // end of main // end of class 486

25 [5-6] 다음은거스름돈을몇개의동전으로지불할수있는지를계산하는문제이다. 변수 money 의금액을동전으로바꾸었을때각각몇개의동전이필요한지계산해서출력하라. 단, 가능한한적은수의동전으로거슬러주어야한다. (1) 에알맞은코드를넣어서프로그램을완성하시오. [Hint] 나눗셈연산자와나머지연산자를사용해야한다. [ 연습문제 ]/ch5/exercise5_6.java class Exercise5_6 public static void main(string args[]) // 큰금액의동전을우선적으로거슬러줘야한다. int[] coinunit = 500, 100, 50, 10; int money = 2680; System.out.println("money="+money); for(int i=0;i<coinunit.length;i++) /* (1) 알맞은코드를넣어완성하시오. */ // main money=2680 500 원 : 5 100 원 : 1 50 원 : 1 10 원 : 3

26 JAVA 연습문제 01 [5-7] 문제 5-6 에동전의개수를추가한프로그램이다. 커맨드라인으로부터거슬러줄 금액을입력받아계산한다. 보유한동전의개수로거스름돈을지불할수없으면, 거스름돈이부족합니다. 라고출력하고종료한다. 지불할돈이충분히있으면, 거스름돈을지불한만큼가진돈에서빼고남은동전의개수를화면에출력한다. (1) 에알맞은코드를넣어서프로그램을완성하시오. [ 연습문제 ]/ch5/exercise5_7.java class Exercise5_7 public static void main(string args[]) if(args.length!=1) System.out.println("USAGE: java Exercise5_7 3120"); System.exit(0); // 문자열을숫자로변환한다. 입력한값이숫자가아닐경우예외가발생한다. int money = Integer.parseInt(args[0]); System.out.println("money="+money); int[] coinunit = 500, 100, 50, 10 ; // 동전의단위 int[] coin = 5, 5, 5, 5; // 단위별동전의개수 for(int i=0;i<coinunit.length;i++) int coinnum = 0; /* (1) 아래의로직에맞게코드를작성하시오. 1. 금액 (money) 을동전단위로나눠서필요한동전의개수 (coinnum) 를구한다. 2. 배열 coin 에서 coinnum 만큼의동전을뺀다. ( 만일충분한동전이없다면배열 coin 에있는만큼만뺀다.) 3. 금액에서동전의개수 (coinnum) 와동전단위를곱한값을뺀다. */ System.out.println(coinUnit[i]+" 원 : "+coinnum); if(money > 0) System.out.println(" 거스름돈이부족합니다."); System.exit(0); // 프로그램을종료한다. System.out.println("= 남은동전의개수 ="); for(int i=0;i<coinunit.length;i++) System.out.println(coinUnit[i]+" 원 :"+coin[i] ); // main [ 참고 ] 실행결과는다음페이지에있다.

27 C:\jdk1.8\work\ch5>java Exercise5_7 USAGE: java Exercise5_7 3120 C:\jdk1.8\work\ch5>java Exercise5_7 3170 money=3170 500 원 : 5 100 원 : 5 50 원 : 3 10 원 : 2 = 남은동전의개수 = 500 원 :0 100 원 :0 50 원 :2 10 원 :3 C:\jdk1.8\work\ch5>java Exercise5_7 3510 money=3510 500 원 : 5 100 원 : 5 50 원 : 5 10 원 : 5 거스름돈이부족합니다. [5-8] 다음은배열 answer 에담긴데이터를읽고각숫자의개수를세어서개수만큼 * 을찍어서그래프를그리는프로그램이다. (1)~(2) 에알맞은코드를넣어서완성하시오. [ 연습문제 ]/ch5/exercise5_8.java class Exercise5_8 int[] answer = 1,4,4,3,1,4,4,2,1,3,2 ; int[] counter = new int[4]; for(int i=0; i < answer.length;i++) /* (1) 알맞은코드를넣어완성하시오. */ for(int i=0; i < counter.length;i++) /* (2) 알맞은코드를넣어완성하시오. */ System.out.println(); // end of main // end of class 3*** 2** 2** 4****

28 JAVA 연습문제 01 [5-9] 주어진배열을시계방향으로 90 도회전시켜서출력하는프로그램을완성하시오. [ 연습문제 ]/ch5/exercise5_9.java class Exercise5_9 char[][] star = '*','*',' ',' ',' ', '*','*',' ',' ',' ', '*','*','*','*','*', '*','*','*','*','*' ; char[][] result = new char[star[0].length][star.length]; for(int i=0; i < star.length;i++) for(int j=0; j < star[i].length;j++) System.out.print(star[i][j]); System.out.println(); System.out.println(); for(int i=0; i < star.length;i++) for(int j=0; j < star[i].length;j++) /* (1) 알맞은코드를넣어완성하시오. */ for(int i=0; i < result.length;i++) for(int j=0; j < result[i].length;j++) System.out.print(result[i][j]); System.out.println(); // end of main // end of class ** ** ***** ***** **** **** ** ** **

29 [5-10] 다음은알파벳과숫자를아래에주어진암호표로암호화하는프로그램이다. (1) 에알맞은코드를넣어서완성하시오. a b c d e f g h i j k l m n o p q r s t ` ~! @ # $ % ^ & * ( ) - _ + = [ ] u v w x y z ; :,. / 0 1 2 3 4 5 6 7 8 9 q w e r t y u i o p [ 연습문제 ]/ch5/exercise5_10.java class Exercise5_10 char[] abccode = '`','~','!','@','#','$','%','^','&','*', '(',')','-','_','+','=',' ','[',']','', '',';',':',',','.','/'; // 0 1 2 3 4 5 6 7 8 9 char[] numcode = 'q','w','e','r','t','y','u','i','o','p'; String src = "abc123"; String result = ""; // 문자열 src 의문자를 charat() 으로하나씩읽어서변환후 result 에저장 for(int i=0; i < src.length();i++) char ch = src.charat(i); /* (1) 알맞은코드를넣어완성하시오. */ System.out.println("src:"+src); System.out.println("result:"+result); // end of main // end of class src:abc123 result:`~!wer

30 JAVA 연습문제 01 [5-11] 주어진 2 차원배열의데이터보다가로와세로로 1 이더큰배열을생성해서배열 의행과열의마지막요소에각열과행의총합을저장하고출력하는프로그램이다. (1) 에알맞은코드를넣어서완성하시오. [ 연습문제 ]/ch5/exercise5_11.java class Exercise5_11 int[][] score = 100, 100, 100, 20, 20, 20, 30, 30, 30, 40, 40, 40, 50, 50, 50 ; int[][] result = new int[score.length+1][score[0].length+1]; for(int i=0; i < score.length;i++) for(int j=0; j < score[i].length;j++) /* (1) 알맞은코드를넣어완성하시오. */ for(int i=0; i < result.length;i++) for(int j=0; j < result[i].length;j++) System.out.printf("%4d",result[i][j]); System.out.println(); // main 100 100 100 300 20 20 20 60 30 30 30 90 40 40 40 120 50 50 50 150 240 240 240 720

31 [5-12] 예제 5-23 을변경하여, 아래와같은결과가나오도록하시오. Q1. chair 의뜻은? dmlwk 틀렸습니다. 정답은의자입니다 Q2. computer 의뜻은? 컴퓨터정답입니다. Q3. integer 의뜻은? 정수정답입니다. 전체 3 문제중 2 문제맞추셨습니다. [5-13] 단어의글자위치를섞어서보여주고원래의단어를맞추는예제이다. 실행결과와 같이동작하도록예제의빈곳을채우시오. [ 연습문제 5-13]/ch5/Excercise5_13.java import java.util.scanner; class Exercise5_13 public static void main(string args[]) String[] words = "television", "computer", "mouse", "phone" ; Scanner scanner = new Scanner(System.in); for(int i=0;i<words.length;i++) char[] question = words[i].tochararray(); // String 을 char[] 로변환 /* */ (1) 알맞은코드를넣어완성하시오. char 배열 question 에담긴문자의위치를임의로바꾼다. System.out.printf("Q%d. %s 의정답을입력하세요.>", i+1, new String(question)); String answer = scanner.nextline(); // trim() 으로 answer 의좌우공백을제거한후, equals 로 word[i] 와비교 if(words[i].equals(answer.trim())) System.out.printf(" 맞았습니다.%n%n"); else System.out.printf(" 틀렸습니다.%n%n"); // main 의끝

32 JAVA 연습문제 01 Q1. lvtsieeoin 의정답을입력하세요.>television 맞았습니다. Q2. otepcumr 의정답을입력하세요.>computer 맞았습니다. Q3. usemo 의정답을입력하세요.>asdf 틀렸습니다. Q4. ohpne 의정답을입력하세요.>phone 맞았습니다.