[연습문제] Chapter06
[01]
다음과 같은 멤버변수를 갖는 SutdaCard클래스를 정의하시오.
타입 | 변수명 | 설명 |
---|---|---|
int | num | 카드의 숫자(1~10사이의 정수) |
boolean | isKwang | 광(光)이면 true, 아니면 false |
class SutdaCard{
int num;
boolean isKwang;
}
[02]
문제6-1에서 정의한 StudaCard클래스에 두 개의 생성자와 info()를 추가해서 실행 결과와 같은 결과를 얻도록 하시오.
class Exercise6_2 {
public static void main(String args[]) {
SutdaCard card1 = new SutdaCard(3, false);
SutdaCard card2 = new SutdaCard();
System.out.println(card1.info());
System.out.println(card2.info());
}
}
class SutdaCard {
/*
(1) 알맞은 코드를 넣어 완성하시오.
*/
}
[03]
1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+…+10)의 결과를 계산하시오.
[04]
1+(-2)+3+(-4)+… 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오.
[05]
다음의 for문을 while문으로 변경하시오.
public class Exercise4_5 {
public static void main(String[] args) {
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
[06]
두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프 로그램을 작성하시오.
[07]
Math.random()을 이용해서 1부터 6사이의 임의의 정수를 변수 value에 저장하는 코드를 완성하라. (1)에 알맞은 코드를 넣으시오.
class Exercise4_7 {
public static void main(String[] args) {
int value = ( /* (1) */ );
System.out.println("value:"+value);
}
}
[08]
방정식 2x+4y=10의 모든 해를 구하시오. 단, x와 y는 정수이고 각각의 범위는 0<=x<=10, 0<=y<=10 이다.
실행결과
x=1, y=2
x=3, y=1
x=5, y=0
[09]
숫자로 이루어진 문자열 str이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코 드를 완성하라. 만일 문자열이 “12345”라면, ‘1+2+3+4+5’의 결과인 15를 출력이 출력되 어야 한다. (1)에 알맞은 코드를 넣으시오.
[Hint] String클래스의 charAt(int i)을 사용
class Exercise4_9 {
public static void main(String[] args) {
String str = "12345";
int sum = 0;
for(int i=0; i < str.length(); i++) {
/*
(1) 알맞은 코드를 넣어 완성하시오.
*/
}
System.out.println("sum="+sum);
}
}
실행결과
15
[10]
int타입의 변수 num 이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라. 만일 변수 num의 값이 12345라면, ‘1+2+3+4+5’의 결과인 15를 출력하라. (1) 에 알맞은 코드를 넣으시오.
[주의] 문자열로 변환하지 말고 숫자로만 처리해야 한다.
class Exercise4_10 {
public static void main(String[] args) {
int num = 12345;
int sum = 0;
/*
(1) 알맞은 코드를 넣어 완성하시오.
*/
System.out.println("sum="+sum);
}
}
실행결과
15
[11]
피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 다음 수를 만들어 나가 는 수열이다. 예를 들어 앞의 두 수가 1과 1이라면 그 다음 수는 2가 되고 그 다음 수는 1과 2를 더해서 3이 되어서 1,1,2,3,5,8,13,21,… 과 같은 식으로 진행된다. 1과 1부터 시작하는 피보나치수열의 10번째 수는 무엇인지 계산하는 프로그램을 완성하시오.
public class Exercise4_11 {
public static void main(String[] args) {
// 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
[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
댓글남기기