我想在之前的计算中添加一个数字。我目前无法继续,因为循环继续。这是我的代码。例如,如果我得到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();
}
}
}
答案 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;
}
希望这有帮助