[Java] While문 예제

삶걀·2022년 5월 5일
0

Java

목록 보기
7/15

117p. 예제 4-14

import java.util.*;

public class Ex_JS {

	public static void main(String[] args) {
		int num = 0, sum = 0;
		System.out.print("숫자를 입력하세요: ");
		
		Scanner scanner = new Scanner(System.in);
		String tmp = scanner.nextLine();
		num = Integer.parseInt(tmp);
		
		while(num!=0) { //num!=0, num이 0이 되면 거짓이 되어 while 반복문을 탈출!
			sum += num%10; //변수 sum값 계산 방법
			System.out.printf("sum=%3d num=%d%n", sum, num);
			num /= 10; //변수 num값을 출력하기 위해 작성.
		}
		System.out.println("각 자리수의 합:"+sum); //마지막 자릿수부터 더한다.
	
	}
}

118p. 예제 4-15

import java.util.*;

public class Ex_JS {

	public static void main(String[] args) {
		int input = 0, answer = 0;
		
		answer = (int)(Math.random() * 100) + 1;
		Scanner scanner = new Scanner(System.in);
		
		do {
			System.out.print("1과 100사이의 정수를 입력하세요.: ");
			input = scanner.nextInt();
			
			if (input > answer) {
				System.out.println("더 작은 수로 다시 시도해보세요.");
			} else if(input < answer) {
				System.out.println("더 큰 수로 다시 시도해보세요.");
			}
		} while(input != answer);
		
		System.out.println("정답입니다.");
	}
}

123p. 예제 4-20

import java.util.*;

public class Ex_JS {

	public static void main(String[] args) {
		int menu = 0, num = 0;
		Scanner scanner = new Scanner(System.in);
		
		outer: //while문에 이름을 붙임
		while(true) {
			System.out.println("(1) square");
			System.out.println("(2) square root");
			System.out.println("(3) log");
			System.out.print("원하시는 메뉴를 선택하세요.(종료는 0번을 입력): ");
			
			String tmp = scanner.nextLine(); //입력받은 내용을 tmp로 저장
			menu = Integer.parseInt(tmp); //입력받은 문자열(tmp)을 숫자로 변환
			
			if(menu==0) {
				System.out.println("프로그램을 종료합니다.");
				break;
			} else if (!(1<= menu && menu <= 3)) {
				System.out.println("메뉴를 잘못 선택하셨습니다. (종료는 0)");
				continue;
			}
			
			for(;;) {
				System.out.print("계산할 값을 입력하세요.(계산 종료:0, 전체 종료:99): );");
				tmp = scanner.nextLine();
				num = Integer.parseInt(tmp);
				
				if(num==0)
					break;
				if(num==99)
					break outer;
				
				switch(menu) {
					case 1:
						System.out.println("result="+ num*num);
						break;
					case 2:
						System.out.println("result="+ Math.sqrt(num));
						break;
					case 3:
						System.out.println("result="+ Math.log(num));
						break;	
				}
			}
		}
		
	}
}
profile
반숙란 좋아하는사람

0개의 댓글