Java勉強中です、計算機を作っています。
javaで計算機を作っています。
sum が答えになり最後に表示されます。
数字を入力されると number へ格納されて、
計算方法(+,-,*,/)を入力すると type へ入力されます
それらを繰り返し、 = を入力すると繰り返しを抜けるようにしました
sum が最初0の状態で number と計算されてしまうせいなのか
1 + 1 = 1
1 * = 0
100 + 1 = 100
というような感じになってしまいます。
package calculator2;
import java.util.Scanner;
public class Calculator2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
//ループ
type : while (true) {
System.out.print("number or = ");
String input = scanner.nextLine();
//=が入力されたらループ終
if (input.equals("=")) break;
//数字の場合(数字以外はtry catchで対応)
try {
System.out.print("+ - * / = :");
String type = scanner.nextLine();
int number = Integer.parseInt(input);
//それぞれのケース
switch(type) {
case "+":
sum += number;
break;
case "-":
sum -= number;
break;
case "*":
sum *= number;
break;
case "/":
sum /= number;
break;
case "=":
break type;
default :
//sum = Integer.parseInt(input);
break type;
}
//それ以外はエラーになるのでメッセ表示
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter a valid number.");
}
}
//結果表示
System.out.println("Sum: " + sum);
scanner.close();
}
}
どなたか正しい計算をできるように知恵を貸していただきたいです、
chatGPTにも通してみましたが回答は得られるものの、それらのコード修正をしても
計算結果に変化が見られません。
0