如何继续添加我的java计算器

时间:2017-11-30 04:01:54

标签: java

我想在之前的计算中添加一个数字。我目前无法继续,因为循环继续。这是我的代码。例如,如果我得到11作为我的答案,我希望能够添加6.我还希望能够添加6 + 6并得到答案23.我该怎么做,因为目前我被卡住了。 谢谢您的帮助!

public static void main(String [] args){

    scan = new Scanner(System.in);

    while(!done){
       int numOne, numTwo, result;



       System.out.print("Enter Two Numbers : ");
       numOne = scan.nextInt();
       scan.nextLine();
       numTwo = scan.nextInt();
       scan.nextLine();


       result = numOne + numTwo;
       System.out.println("Addition = " +result);

       result = numOne - numTwo;
       System.out.println("Subtraction = " +result);

       result = numOne * numTwo;
       System.out.println("Multiplication = " +result);

       result = numOne / numTwo;
       System.out.println("Division = " +result);



       System.out.println("Enter a number for a root : ");
       double number1 = scan.nextDouble();
       scan.nextLine();
       double number2 = scan.nextDouble();
       scan.nextLine();

       System.out.println(Math.pow(number1, (1/number2)));



       System.out.println("Enter the base: ");

       long n,p,r=1;


       System.out.println("enter number");

       n=scan.nextLong();
       scan.nextLine();

       System.out.println("enter power");


       p=scan.nextLong();
       scan.nextLine();

           if(n>=0&&p==0)
       {   
          r =1;
       }
       else if(n==0&&p>=1)
       {   
            r=0;
       } 
       else
       { 
           for(int i=1;i<=p;i++)
           { 
                   r=r *n;
           } 
       }    

       System.out.println(n+"^"+p+"="+r);


       System.out.println("Do you wish to continue?");
       String ans2 = scan.nextLine();
       System.out.println(ans2);

       if(ans2.contains("Yes")|| ans2.contains("yes")){
                  System.out.println("Do you wish to add on to the previous calculation?");
       }
       if(ans2.contains("No") || ans2.contains("no")){
                  System.out.println("You are done calculating!");
       }
       scan.nextLine();

   }

}

}

3 个答案:

答案 0 :(得分:1)

将答案存储在不同的变量中,而不是将所有内容存储在结果中。 说&#39;添加&#39;是用于添加的变量然后使用表达式add=add+numone+numtwo; 在循环之前初始化添加变量。 并且您还没有将变量设置为零。在if中设置= 0,检查选项是否为“否”#。

答案 1 :(得分:1)

您可以在while循环的顶部初始化结果变量,这样每次循环重复时都不会重置它的值。

答案 2 :(得分:1)

首先,循环继续,因为没有退出条件。当您编写while循环时,您需要确保在达到目标时条件变为false。 要保持结果持久化,请在while循环之外声明它。

int result = 0;
    while (!done) {

并将结果添加到自身。

    result += numOne + numTwo;

当用户完成计算时,通过将done设置为true来使条件退出。并添加另一个条件,以便在用户不再需要时重置结果。

String ans3 = "";
if (ans2.contains("Yes") || ans2.contains("yes")) {
    System.out.println("Do you wish to add on to the previous calculation?");
    ans3 = scan.nextLine();
}
if (ans2.contains("No") || ans2.contains("no")) {
    System.out.println("You are done calculating!");
    done = true;
}
if (!ans3.toLowerCase().contains("y")) {
    result = 0;
}

希望这有帮助