0

Java を使ったのはほんの短い間ですが、しばらくお待ちください。私はJavaクラスへの導入のためのプログラムに取り組んでおり、例外を使用せずに単純な計算機(GUIなし)を作成する必要がありますが、それでも入力エラーがキャプチャされます。私は問題なく例外ハンドラを実行できましたが、これは私を大騒ぎさせています!! 「if (a==char || b==char)」というステートメントに代わるものが必要です。これまでのところ、次のようなものがあります。

import java.util.*;

public class calculator_No_Event {

public static void main(String[] args) 
{
    // TODO Auto-generated method stub
    int a,b,c;
    char d;
    boolean e;
    Scanner input=new Scanner(System.in);

    try
    {   
        System.out.print(" Enter the first number: ");
        a=input.nextInt();
        System.out.print("Enter the second number: ");
        b=input.nextInt();
        System.out.print("Enter + or - :");
        String f=input.next();
        d=f.charAt(0);


        if (a==char || b==char)
        {
            System.out.println("Error");
        }   
        else
        {
            switch(d)
            {
                case '+':
                    c =a+b;
                    System.out.print(a + "+" + b + "=" + c);
                    break;
                case '-':
                    c =a-b;
                    System.out.print(a + "-" + b + "=" + c);
                    break;
            }
        }
}
    finally
    {
        System.out.println("Thank you.");
    }
}

}

4

2 に答える 2

2

Scanner.hasNextInt()に電話する前に電話する必要がありますScanner.nextInt()Scanner.hasNext()と も同様Scanner.next()です。

于 2014-11-10T17:52:18.763 に答える
0

この1行で多くの誤解を示しています

if (a = char || b = char)
  1. equal to演算子ではなく、演算子assignmentを使用するつもりだと思います== instead of =

  2. aand b( andc ) はint、 で宣言されているように smainです。したがって、それらを char に変換しない限り、決して s にならないことはわかっていcharますが、変換すると常に char になります。intcharは異なるタイプであり、1キャラクターはどちらかのタイプである可能性があります。

  3. 文字列が数値であるかどうかを確認するためのGoogle検索は、文字列がJavaで整数であるかどうかを決定しますが、この場合、@ ElliottFrischの答えは、おそらく使用したい方法です。新しい Java クラス ( Scannerなど)を使用するたびにドキュメントを参照することを学ぶことは非常に価値があり、使用しているクラスの理解と知識を大幅に向上させることができます。

于 2014-11-10T18:21:35.957 に答える