日付7
2165 ワード
今まで学んだことをまとめて電卓にする.
(独自に計算機を作成)
**基本的な計算機能を組み込むことに成功しましたが、以下の先生の例に比べて詳細が下がっています.
(Teacher'sの例)
(独自に計算機を作成)
String q = "1. 계산하기\n"
+"2. 나가기";
Scanner sc = new Scanner(System.in);
System.out.println(q);
int choice = sc.nextInt();
while(true) {
if(choice == 2) {
System.out.println("종료");
break;
}
else {
System.out.println("숫자와 계산부호를 차례로 입력해주세요.");
int num1 = Integer.parseInt(sc.next());
String oper = sc.next();
int num2 = Integer.parseInt(sc.next());
switch(oper) {
case "+" :
System.out.println(num1+num2);
break;
case "-":
System.out.println(num1-num2);
break;
case "*":
System.out.println(num1*num2);
break;
case "/":
System.out.println(num1%num2);
break;
default:
System.out.println("?");
}
}
}}}
(結果ウィンドウ)**基本的な計算機能を組み込むことに成功しましたが、以下の先生の例に比べて詳細が下がっています.
(Teacher'sの例)
Scanner sc = new Scanner(System.in);
String menuMsg = "1.계산하기\n2.나가기";
int num1 = 0, num2 = 0;
int choice = 0;
String oper = "";
String result = "";
while(true) {
System.out.println(menuMsg);
choice = sc.nextInt();
if (choice==2) break;
if (choice !=1) continue;
//잘못입력했을 때 continue는 다음 반복으로 넘어가주는 애 즉 첫줄로 넘어감
num1 = Integer.parseInt(sc.next());
oper = sc.next();
num2 = Integer.parseInt(sc.next());
//next 로 받음 왜냐하면 1 + 1 동시에 입력 받을때는 공백을 구분을 하는 next로 써줘야함
//result라는 공간안에 결과를 담아둠 그이후로 마지막에 print함 -> 실무
switch(oper) {
case "+":
result = ""+(num1+num2);
break;
case "-":
result = ""+(num1-num2);
break;
case "*":
result = ""+(num1*num2);
break;
case "/":
if(num2 !=0) {
result = ""+(num1/num2);
}else {
result = "0으로 나눌 수 없습니다.";
//else가 아니라면 아직 if랑 else구문이 헷갈림
}
break;
//분모가 0일때
default: //연산자말고 다른 걸 넣었을때는
result ="사칙연산 외의 연산자는 사용할 수 없습니다.";
}
System.out.println(result);
}}}
**result実際の作業で使用される簡潔さとユーザーを考慮して、分割時や誤った数字の入力時に数字を追加します.この細部には違いがある.Reference
この問題について(日付7), 我々は、より多くの情報をここで見つけました https://velog.io/@jamiview/7일차-계산기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol