-1

最近作成した電卓で問題が発生しました。
何が悪いのか、何をしなければならないのかよくわからないので、助けていただければ幸いです。

public class calcclass {

public static void main(String []args){

    Scanner input = new Scanner(System.in);
    int numberone;
    System.out.print("Type in a number : ");
    numberone = input.nextInt();
    System.out.println("");
    System.out.print("Type in another number : ");
    int numbertwo = input.nextInt();
    System.out.println("");
    System.out.print("Do you wish to 1(+), 2(-), 3(*), 4(/) : ");
    int Answer = input.nextInt();
    System.out.println("");
    int Sum;
    if (( Answer == '1'))
    {
        System.out.println("PLUS");
        Sum = numberone + numbertwo;
        System.out.println("The answer is : " + Sum);
    }
    if (( Answer == '2'))
    {
        System.out.println("MINUS");
        Sum = numberone - numbertwo;
        System.out.println("The answer is : " + Sum);
    }
    if (( Answer == '3'))
    {
        System.out.println("GONGE");
        Sum = numberone * numbertwo;
        System.out.println("The answer is : " + Sum);
    }
    if (( Answer == '4' ))
    {
        System.out.println("DELE");
        Sum = numberone / numbertwo;
        System.out.println("The answer is : " + Sum);
    }
}
}
4

2 に答える 2

4

if (( Answer == '1'))する必要がありますif (( Answer == 1))

なんで?Answerではintなく、charです。

実際に文字の10 進値と比較しているifため、満足することはありません。if(Answer == '1')Answer'1'

おすすめ:

  1. Java 命名規則に従ってください- 先頭を小文字で変数に名前を付けます。
  2. if((Answer == 1))書くことができますif(Answer == 1)
  3. これらの場合switch-caseの代わりに使用します。if
  4. sum常に「合計」演算であるとは限らないため、別の名前を付けてください。可能な名前: result
于 2013-11-14T09:04:13.927 に答える
1

Answer を 1、2、3、4 の文字値と比較しています。たとえば、次のようになります。

System.out.println((int) '1');

49 を出力します。

数字を引用符で囲まずに、代わりにこれを使用してください。

if ((Answer == 1)) {
        System.out.println("PLUS");
        Sum = numberone + numbertwo;
        System.out.println("The answer is : " + Sum);
    }
    if ((Answer == 2)) {
        System.out.println("MINUS");
        Sum = numberone - numbertwo;
        System.out.println("The answer is : " + Sum);
    }
    if ((Answer == 3)) {
        System.out.println("GONGE");
        Sum = numberone * numbertwo;
        System.out.println("The answer is : " + Sum);
    }
    if ((Answer == 4)) {
        System.out.println("DELE");
        Sum = numberone / numbertwo;
        System.out.println("The answer is : " + Sum);
    }
于 2013-11-14T09:05:37.667 に答える