Java 4-6) 계산기 프로그램 업그레이드 _ 잘못 입력 받았을 때, 문장...

Java 4-6) 계산기 프로그램 업그레이드 _ 잘못 입력 받았을 때, 문장...

* 계산기 프로그램 : 1번째 숫자, 연산자, 2번째 숫자를 입력받아서 연산 결과를 출력하는 프로그램

// 숫자와 연산자를 잘못 입력했을 때, 문장 출력 후 다시 입력받기

Scanner sc = new Scanner(System.in); // 변수 선언 String numStr1, numStr2; int number1, number2; String oper; int result = 0; // 초기화 // 1.입력 // 1번째 숫자 while(true) { // 입력받은 수가 숫자가 아니라면 무한반복 System.out.print("첫번째 수 = "); numStr1 = sc.next(); boolean ok = true; for (int i = 0; i < numStr1.length(); i++) { int n = (int)numStr1.charAt(i); // 입력받은 문자열에서 한글자씩 산출하는 문장 → 아스키코드로 변경 if(n < 48 || n > 57) { // 숫자가 아님 ok = false; break; } } if(ok == true) { // 입력받은 수가 숫자라면 아래 문장이 출력되지 않음 break; } System.out.println("숫자를 정확히 입력해 주세요."); } // 연산자 + - * / while(true) { System.out.print("연산(+, -, *, /) = "); oper = sc.next(); if(oper.equals("+") || oper.equals("-") || oper.equals("*") || oper.equals("/")) { break; } System.out.println("연산자를 정확히 입력해 주십시오"); } // 2번째 숫자 while(true) { System.out.print("두번째 수 = "); numStr2 = sc.next(); boolean ok = true; for (int i = 0; i < numStr2.length(); i++) { int n = (int)numStr2.charAt(i); // 입력받은 문자열에서 한글자씩 산출하는 문장 if(n < 48 || n > 57) { ok = false; break; } } if(ok == false) { continue; } break; } // 문자로 입력받은 수를 숫자로 변경 number1 = Integer.parseInt(numStr1); number2 = Integer.parseInt(numStr2); // 2.연산 switch(oper) { case "+": result = number1 + number2; break; case "-": result = number1 - number2; break; case "*": result = number1 * number2; break; case "/": result = number1 / number2; break; } // 3.결과 출력 System.out.println(number1 + " " + oper + " " + number2 + " = " + result);

- 업그레이드 전에는 숫자를 잘못 입력하면 오류가 발생되는데, 업그레이드를 하니 "숫자를 정확히 입력해주세요."라는 문구가 출력된다.

from http://greencolin-developer.tistory.com/25 by ccl(A) rewrite - 2021-12-12 13:02:18