티스토리 뷰

1.  switch 문에서 아래의 프로그래밍을 짜시오.

1234 월 봄입니다.출력
5678 월 여름입니다.출력
9 10 11 12 월 겨울 입니다. 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class Season{
    public static void main(String[] args) {
        
        int n = 101;
        switch (n) {
        case 1:
        case 2:
        case 3:
        case 4:
            System.out.println("봄입니다.");
            break;
 
        case 5:
        case 6:
        case 7:
        case 8:
            System.out.println("여름입니다.");
            break;
 
        case 9:
        case 10:
        case 11:
        case 12:
            System.out.println("겨울입니다.");
            break;
 
        default:
            System.out.println("찾을 수 없습니다.");
            break;
        }
 
        
    }
}
cs



 


2. int num = -10 을 할당 후 해당 정수에 대한 절댓값을 출력하는 프로그램을 작성하시오.
절대값은 양수 입니다 ! ! 

 

 

1
2
3
4
5
6
7
8
9
10
11
public class AbsoluteValue{
    public static void main(String[] args) {
        int num = -10;
        if (num < 0) {
            num = -num;
        }
        
        System.out.println("-10의 절대값: " + num);
 
    }
}
cs

 

 

 


절대값 공식 이용

Math.abs()함수는 절대값으로 변환해주는 함수이다.

절대값은 영어로 absolute value라고 한다. 

 

1
2
3
4
5
6
7
8
9
10
11
public class AbsoluteValue{
    public static void main(String[] args) {
 
        int num2 = -10;        
        int result = Math.abs(num2);
 
        System.out.println(result);
 
 
    }
}
cs

 

 

 

 


3. while 문과 do while 문의 차이는 무엇인가요?

whie문은 반복 조건을 뜻한다. 조건 검사 후 결과가 참이면 중괄호 영역을 false가 나올 때 까지 반복 진행한다.

즉, 조건에 맞지 않으면 내용을 실행하지 않는다.

	while(num < 5) {
		//반복영역 
		System.out.println("I like Java" + num);

		num++;
	
    }

 

그러나 do while문은 반드시 do 영역 조건을 한 번은 진행해야 한다. 
이유는 do while이 조건 끝에 있기 때문이다. 

	int num = 0;

	do {
    
		System.out.println("I like Java" + num);
	
		num++;

	} while(num<5);






4. 아래에서 for 문이 실행 되는 순서를 정리하시오.

for (i = 1; i <= 1000; i++){
    sum = sum +i
}

 

 i=1이라는 조건이 먼저 실행되고 i<=1000 이라는 범위(비교구문)가 진행된다.
범위값이 참이면 i++가 아니라 하단 sum 값을 계산한다. 이후 i+1 (i++)을 진행하고
다시 범위가 참이면 계산을 진행하고 i값을 증가하는 행위를 반복한다.



5. 구구단 6단을 출력 하는 프로그램을 짜시오.



1
2
3
4
5
6
7
8
9
10
11
12
public class Gugudan{
    public static void main(String[] args) {
        
        int i;
        int dan = 6;
        for (i = 1; i < 10; i++) {
            System.out.println(dan + " * " + i + " = " + i * dan);
        }
        
        
    }
}
cs

 

 

 

 


6. 1부터 10000 까지의을 구하는 프로그램을 짜시오.

 

 

1
2
3
4
5
6
7
8
9
10
11
public class SumNumber{
    public static void main(String[] args) {
        int j;
        int sum = 0;
        for (j = 1; j <= 10000; j++) {
            sum = j + sum;
        }
        System.out.println("1부터 10000까지의 합: " + sum);
 
    }
}
cs

 

 

 


7. 1부터 10000 까지의 숫자중 홀수 의 합을 구하는 프로그램을 짜시오.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
public class SumNumber2{
    public static void main(String[] args) {
        int sum2 = 0;
        for (int k = 1; k <= 10000; k++) {
            if (k % 2 == 1) {
                sum2 = sum2 + k;
            }
        }
        System.out.println("1부터 10000까지의 합: " + sum2);
        
    }
}
cs

 

 

 

 


8. break 와 continue에 대하여 설명하시오.


break는 조건진행을 강제로 멈추고 나오게 하는 것이다. 
while문에 break를 걸게되면, while문이 계속 진행될때 break라는 특정 조건을 걸어 while문을 탈출할 수 있다.
while (n < 100) {
if(x==20)
break;
           }
continue는 break와 반대로 조건을 계속 진행하게 하는 것이다. 
하단 코딩을 예로 들자면, x=20인 순간 소스코드를 타지 않고 처음 조건으로 돌아가고 싶을 때 사용한다.
while (n < 100) {
if(x==20)
continue;
 }



9. 1과 100 사이의 숫자중 5의 배수이자 7의 배수의 첫번재 수 (프로그램밍 하시오)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class LCM{
    public static void main(String[] args) {
        
        int m;
 
        for (m = 1; m < 100; m++) {
            if ((m % 5 == 0&& (m % 7 == 0)) {
                break;
            }
        }
        System.out.println("5의 배수이자 7의 배수의 첫번재 수: " + m);
 
    }
}
cs

 

 



/*나의 오답
 * continue와 break위치, continue넣으니까 답 1나옴  
    int m;
for(m=1; m<100; m++) {
if( (m%5==0) && (m%7==0) ) {
continue;             
}break;
} System.out.println(m); */



10. 1과 10000 사이의 숫자중 5의 배수이자 7의 배수의 첫번재 수 (프로그램밍 하시오) count 사용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class LCM{
    public static void main(String[] args) {
 
        int p;
        int count = 0;
 
        for (p = 1; p < 10000; p++) {
            if ((p % 5 == 0&& (p % 7 == 0)) {
                break;
            }
            count++;
        }
        System.out.println("5의 배수이자 7의 배수의 첫번재 수: " + p);
 
    }
}
cs

 

 

 


/* 나의 오답 
 * 첫번째 수가 아니라 총 개수 구하고 심지어 틀림 count 변수 설정만 하고 숫자 제시 안함. 
         * count++위치 틀림 
 * int = p; 
 * int = count; 
 *  for(p=1; p<10000; p++) { 
 *  if((p%5!=0)||(p%7!=0)) { 
 *  continue; 
 *  } 
 *  } count++; //자꾸 오류 뜸
 * System.out.println(count); */

/* 개수 구하는 옳은 방법 
 * int p; 
 * int count=0; 
 *  for(p=1; p<10000; p++) {
 *  if((p%5!=0)||(p%7!=0)) { 
 *  continue; 
 *  } count++; 
 *  }
 * System.out.println(count); */




 

 

 

 

 

 

 

 

 

댓글