프로그램 예시
1. 합 2. 홀수합 3. 짝수합 4. 종료 => 1
원하는 수 ? 10
1~10 합 : 55
이런 프로그램을 작성하시오.
입력받은 수, 합계, 프로그램 실행번호
Scanner sc = new Scanner(System.in);
int input, s, program;
while(ture){
do {System.out.print("1. 합 2.홀수합 3.짝수합 4.종료 =>");
program=sc.nextInt();
} while(program<1 || program>4);
if(program==4){
break;}
}
===========================4를 누르면 종료하는 프로그램을 만듦.
이제 1을 입력하고 숫자를 입력하면 입력한 숫자까지의 합을 구하고
2를 입력하고 숫자를 입력하면 입력한 숫자까지의 홀수합을 구하고
3를 입력하고 숫자를 입력하면 입력한 숫자까지의 짝수합을 구하는 것을 짜야함.
if (program ==1) {
System.out.print("원하는 수 ?");
input=sc.nextInt();
for(int num=1; num<=input; num++){
s+=num;
}
} else if (program ==2) {
System.out.print("원하는 수 ?");
input=sc.nextInt();
for(int num=1; num<=input; num+=2){
s+=num;
}
} else {
System.out.print("원하는 수 ?");
input=sc.nextInt();
for(int num=2; num<=input; num+=2){
s+=num;
}
}
System.out.printf("1 ~ %까지 합 : %d", input, s);
s=0;
}
sc.close();
선생님께서는
이렇게 하셨다.
변수를 3개를 더 설정함.
String title;
int start, offset;
switch(menu) {
case 1 : title="합 : "; start=1; offset=1; break;
case 2 : title="홀수 합 : "; start=1; offset=2; break;
default : title="짝수 합 : "; start=2; offset=2; break;
}
s=0;
for(int n=start; n<=num; n+=offset) {
s+=n;
}
System.out.println("1~"+num+"까지 "+title+s);
내가 짠 코드 보다 훨씬 짧아졌다.
이런 생각은 어케하는건지...
'쌍용강북교육센터 > 7월' 카테고리의 다른 글
0709_Ex05_continue : label을 활용한 continue문 // break와 비교 (0) | 2021.07.11 |
---|---|
0709_Ex04_continue : 5개의 실수를 입력받아 0보다 큰 수의 합 구하하기 (0) | 2021.07.11 |
0709_Ex02_break : break와 label 알아보기 (0) | 2021.07.10 |
0709_Ex01_break : 실수를 입력 받아 입력 받은 수들의 합 구하기 (0) | 2021.07.10 |
0709_저번시간 복습 (0) | 2021.07.10 |