この基本的なテキストベースの電卓をJavaで書き始めたばかりで、追加部分を実行したときに2つの数字、たとえば「9」と「9」を追加すると、答えは18の代わりに99になります。私は整数を格納していないので、ユーザーの入力を文字列として格納していますか?ありがとう、何か助けていただきありがとうございます。おそらくあなたが言うことができるように、私はむしろコーディングに新しいです。テキストベースの計算機が動作しない
import java.util.Scanner;
import java.lang.String;
public class calc {
public static void main(String[] args) throws InterruptedException {
while (true) {
Scanner in = new Scanner(System.in);
System.out.println("Type in what you would like to do: Add, Subtract, Multiply, or Divide");
String input = in.nextLine();
if (input.equalsIgnoreCase("Add")) {
System.out.println("Type in your first number:");
String add1 = in.nextLine();
System.out.println("Type in your second number");
String add2 = in.nextLine();
String added = add1 + add2;
System.out.println("Your answer is:" + added);
}
else if(input.equalsIgnoreCase("Subtract")) {
System.out.println("Type in your first number:");
}
else if(input.equalsIgnoreCase("Multiply")) {
System.out.println("Type in your first number:");
}
else if(input.equalsIgnoreCase("Divide")) {
System.out.println("Type in your first number:");
}
else {
System.out.println("This was not a valid option");
}
}
}
}
はい、それは文字列の "+"演算子が文字列連結であるためです。 intergerやdoubleなどに変換する必要があります。オーバーフローの問題にも注意してください。整数で除算すると、おそらく期待通りの結果が得られないので、浮動小数点数または倍精度を考慮してください。 – KevinO