프로그램 예시

 

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);

 

내가 짠 코드 보다 훨씬 짧아졌다.

 

이런 생각은 어케하는건지...

+ Recent posts