編集: 文字列を != と比較した以前のコードを .equals() に変更しましたが、それでも同じです。
初心者向けの電卓を作ろうとしています。私は理解できないこの無限ループに陥っています。
最初にこれを試しました:
public void GetValues()
{
System.out.println("Welcome to the \"Math Calculator\"\n");
System.out.print("Type in the first number: ");
int FirstNumber = Scan.nextInt();
System.out.print("Type in the second number: ");
int SecondNumber = Scan.nextInt();
System.out.println("\nWhat operation would you like to do?\n");
System.out.println("For addition, type \"+\"");
System.out.println("For subtraction, type \"-\"");
System.out.println("For multiplication, type \"*\"");
System.out.println("For division, type \"/\"\n");
MathOperation = Scan.next();
while (MathOperation != "+" || MathOperation != "-" || MathOperation != "*" || MathOperation != "/")
{
System.out.print("The value you typed, is not valid. Type again: ");
MathOperation = Scan.next();
}
}
それでも、何を入力しても、入力した値は無効ですというメッセージが表示されます。もう一度入力します。
私はそれを理解することはできません。私は何が欠けていますか?
EDIT2:ループを次のように変更しました:
while (!IsEqual)
{
System.out.print("The value you typed, is not valid. Type again: ");
MathOperator = Scan.next();
if (MathOperator.equals("+") || MathOperator.equals("-") || MathOperator.equals("*") || MathOperator.equals("/"))
{
IsEqual = true;
}
}
そして今、それは機能します。私を助けるために努力してくれたすべての人に感謝します。乾杯 :)