Java - 문제풀이2 (반복문)
예제1) while 문과 switch 문
import java.util.Scanner;
public class Sample {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean start = true;
while(start) { //무한루프를 돈다.
System.out.print("1:입력 2번:종료>");
int menu = s.nextInt();
switch(menu) {
case 1:
System.out.print("점수를 입력하세요 :");
int score = s.nextInt();
if(score>=90) {
System.out.println("우수");
} else if(score>=80) {
System.out.println("보통");
} else {
System.out.println("분발");
}
break;
case 2:
start= false;
break;
default:
System.out.println("1~2를 입력하세요!");
}
}
System.out.println("프로그램종료!");
}
}
while 문으로 무한루프를 돌려 입력값을 받는다.
case 1 안에 if문을 넣어 조건을 만족하면 break로 빠져나와 출력된다.
2는 false 가 되므로 빠져나와서 프로그램종료를 출력하게된다.
예제2)
1,2를 입력했을때 속도를 증속, 감속시키고 3은 프로그램 종료이다.
import java.io.IOException;
class Sample1 {
public static void main(String[] args) throws IOException {
boolean run = true;
int speed = 0;
int keyCode = 0;
while(run) {
if(keyCode != 13 && keyCode != 10) {
System.out.println("-----------------------");
System.out.println("1.증속 | 2.감속 | 3.중지");
System.out.println("-----------------------");
System.out.println("선택 : ");
}
keyCode =System.in.read();
if(keyCode == 49) {
speed++;
System.out.println("현재 속도=" + speed);
} else if(keyCode == 50) {
speed--;
System.out.println("현재 속도=" + speed);
} else if(keyCode == 51) {
run = false ;
}
}
System.out.println("프로그램 종료!");
}
}
java keycode 사용법
-
System.in.read()
키보드의 키 코드를 읽는 명령어이다.
출처: https://whiterussian.tistory.com/67
-
throws Exception
예외처리를 해주는 것
오류가 나면 프로그램에서 처리하지 않고 상위에 넘긴다
예제3)
import java.util.Scanner;
public class Sample {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean start = true;
while(start) { //무한루프를 돈다.
System.out.println("--------------------------");
System.out.println("1: 1~100까지의 합");
System.out.println("2: 1~100까지의 짝수의 합");
System.out.println("3: 1~100까지의 홀수의 합");
System.out.println("4: 프로그램 종료");
System.out.print("메뉴선택를 선택해주세요 :");
int menu = s.nextInt();
System.out.println("--------------------------");
switch(menu) {
case 1:
int sum=0;
for(int i=1; i<=100; i++) {
sum = sum+i;
}
System.out.println(sum);
break; // 브레이크문 꼭 넣어야한다.
case 2:
sum=0;
for(int i=0; i<=100; i=i+2) {
sum = sum+i;
}
System.out.println(sum);
break;
case 3:
sum=0;
for(int i=0; i<=100; i=i+2) {
sum = sum+i;
}
System.out.println(sum);
break;
case 4:
System.out.println("프로그램 종료!");
start= false;
break;
default:
System.out.println("1~4번 메뉴를 선택하세요!");
}
}
}
}
※주의 문제를 풀다가 계속 출력이 다르게나와서 당황했는데 break를 까먹고 안찍었다 ㅠㅠ 간단한 오류였는데 .. 한참을 찾았네 ..ㅎ 다음부터는 break 꼭 쓰자 !
while 문으로 무한루프를 돌려 화면에 입력값을 받고, 1~4번을 누르면 switch문에 해당하는 case 문을 실행시킨다. 다른 값을 입력하면 프로그램이 종료됨.
댓글남기기