-1

誰かが私の計算機を見て、数値を尋ねた後に停止する理由と、サブ div またはマルチを追加するが結果を出力しない場合に何をしたいのか、または続行するかどうかを教えてください。以下は私のコードです

public static void main(String[] args) {



            Scanner sc = new Scanner(System.in);
            double a,b,c;
            int choice = 0;
            a=b=c=0.0;
            while(true) {
              System.out.println("Enter two numbers");
              a = Double.parseDouble(sc.nextLine());
              b = Double.parseDouble(sc.nextLine());

              System.out.println("Enter your choice");
              System.out.println("1. Add");
              System.out.println("2. Sub");
              System.out.println("3. Mul");
              System.out.println("4. Div");

              choice = Integer.parseInt(sc.nextLine());

              switch(choice) {
               case 1 :
                      c = new Add().doMath(a,b);
                      break;
               case 2 :
                      c = new Sub().doMath(a,b);
                      break;
               case 3 :
                      c = new Div().doMath(a,b);
                      break;
               case 4 :
                      c = new Mul().doMath(a,b);
                      break;
               default:
                       break;

               }

              System.out.println(c + "this is the answere");


              System.out.println("would you like to continue? (Y/N)");
              if("N".equalsIgnoreCase(sc.nextLine())) { // careful with the paranthesis 
                break;
              }
            }





}




}

interface MathOp {
public double doMath(double a, double b);
}

class Add implements MathOp{

  public double doMath(double a, double b) {
    return (a + b);
  }

}

class Sub implements MathOp{

  public double doMath(double a, double b) {
    return (a - b);
  }

}
class Div implements MathOp{

    public double doMath(double a, double b){
        return (a / b);
    }
}
class Mul implements MathOp{

    public double doMath(double a, double b){
        return (a * b);
    }
}
4

3 に答える 3

1

書きsc.nextLine()ながら、入力を求めます。そのため、value1 のように 2 つの値を入力し、[Enter を押す]、2 番目の値、[Enter を押す] のように入力する必要があります。次に、選択が表示されます。

次のようなより良い入力に変更してください

System.out.println("Enter numbers one");
              a = Double.parseDouble(sc.nextLine());
 System.out.println("Enter number two");
              b = Double.parseDouble(sc.nextLine());
于 2013-09-28T09:09:44.420 に答える
0

選択の3ために除算用のコードを作成したため、目的の出力が得られませんが、メニューでは選択3が乗算用に表示されます

これは完全なコードです

import java.util.Scanner;


public class test12 {

    public static void main(String[] args) {



        Scanner sc = new Scanner(System.in);
        double a,b,c;
        int choice = 0;
        a=b=c=0.0;
        while(true) {
          System.out.println("Enter two numbers");
          a = Double.parseDouble(sc.nextLine());
          b = Double.parseDouble(sc.nextLine());

          System.out.println("Enter your choice");
          System.out.println("1. Add");
          System.out.println("2. Sub");
          System.out.println("3. Div");
          System.out.println("4. Mul");

          choice = Integer.parseInt(sc.nextLine());

          switch(choice) {
           case 1 :
                  c = new Add().doMath(a,b);
                  break;
           case 2 :
                  c = new Sub().doMath(a,b);
                  break;
           case 3 :
                  c = new Div().doMath(a,b);
                  break;
           case 4 :
                  c = new Mul().doMath(a,b);
                  break;
           default:
                   break;

           }

          System.out.println(c + " this is the answere");


          System.out.println("would you like to continue? (Y/N)");
          if("N".equalsIgnoreCase(sc.nextLine())) { // careful with the paranthesis 
            break;
          }
        }





}




}

interface MathOp {
public double doMath(double a, double b);
}

class Add implements MathOp{

public double doMath(double a, double b) {
return (a + b);
}

}

class Sub implements MathOp{

public double doMath(double a, double b) {
return (a - b);
}

}
class Div implements MathOp{

public double doMath(double a, double b){
    return (a / b);
}
}
class Mul implements MathOp{

public double doMath(double a, double b){
    return (a * b);
}

}

出力 ここに画像の説明を入力

于 2013-09-28T09:17:32.493 に答える