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