Java 初学者循环问题-而。。。做
程序的作用:从输入中读取两个值,询问用户是加、减还是求乘积。如果用户输入三个选项中的一个,它将进行计算,否则程序将返回到开始。如果用户输入三个选项中的一个,则计算后程序应停止 我不知道为什么它一直在循环。仅当用户键入的字符串不是sum、difference或product时,如何使脚本循环?另外,如何使代码更简单?有没有办法不使用do循环程序。。。什么时候Java 初学者循环问题-而。。。做,java,loops,while-loop,do-while,Java,Loops,While Loop,Do While,程序的作用:从输入中读取两个值,询问用户是加、减还是求乘积。如果用户输入三个选项中的一个,它将进行计算,否则程序将返回到开始。如果用户输入三个选项中的一个,则计算后程序应停止 我不知道为什么它一直在循环。仅当用户键入的字符串不是sum、difference或product时,如何使脚本循环?另外,如何使代码更简单?有没有办法不使用do循环程序。。。什么时候 import java.util.Scanner; import java.util.Random; public class simp_
import java.util.Scanner;
import java.util.Random;
public class simp_calculator
{
public static void main (String[] args)
{
Scanner scan = new Scanner (System.in);
double a, b;
String response;
boolean noresponse;
do
{
System.out.println ("Please enter first number.");
a = scan.nextDouble();
System.out.println ("Please enter second number.");
b = scan.nextDouble();
System.out.println ("Would you like to find the sum, difference, product?");
response = scan.next();
if (response.equalsIgnoreCase ("sum"))
{
System.out.println (a + b);
}
if (response.equalsIgnoreCase ("difference"))
{
System.out.println (a - b);
}
if (response.equalsIgnoreCase ("product"))
{
System.out.println (a * b);
}
else
{
noresponse = true;
System.out.println ("Starting again...");
}
}
while (noresponse = true);
}
}
当noresponse=true时更改;当noresponse==true;时发送到;。
=是赋值操作-其中as==比较。更改,而noresponse=true;当noresponse==true;时发送到;。
=是一个赋值操作-其中as==比较。您使用的是赋值运算符=,因此noresponse将始终为真。因此,赋值表达式的结果为真 要检查它是否为真,请使用比较运算符=: 或者,因为它已经是布尔值:
此外,您可能会收到一个编译器错误,其中noresponse可能尚未初始化。您需要确保在所有情况下都对其进行了初始化,并且某些设置将其设置为false,以便循环最终结束。您使用的是赋值运算符=,因此noresponse始终为true。因此,赋值表达式的结果为真 要检查它是否为真,请使用比较运算符=: 或者,因为它已经是布尔值: 此外,您可能会收到一个编译器错误,其中noresponse可能尚未初始化。您需要确保在所有情况下都对其进行了初始化,并将其设置为false,以便循环最终结束。有两个问题: 当前您正在循环,而noreponse等于true。因此,要退出该循环,当满足特定条件时,需要将NOResponse设置为false:我可以给你答案,但你应该能够用我给你的信息来解决它。提示:在某些情况下,您需要将noresonse设置为false 此外,您将noresponse设置为相等,而不是比较它。您需要使用==进行比较 因此,当noresponse=true时,进行设置;当noresponse==true;时进入 有两个问题: 当前您正在循环,而noreponse等于true。因此,要退出该循环,当满足特定条件时,需要将NOResponse设置为false:我可以给你答案,但你应该能够用我给你的信息来解决它。提示:在某些情况下,您需要将noresonse设置为false 此外,您将noresponse设置为相等,而不是比较它。您需要使用==进行比较 因此,当noresponse=true时,进行设置;当noresponse==true;时进入 两个错误: else仅适用于最后一个if;因此,对于任何值,除了该产品,noresponse变为真,循环继续。从第二个开始,用else if替换所有if。 在循环开始时,应为noresponse指定值false。 两个错误: else仅适用于最后一个if;因此,对于任何值,除了该产品,noresponse变为真,循环继续。从第二个开始,用else if替换所有if。 在循环开始时,应为noresponse指定值false。 只要在reponse=true时更改whilereponse并命名变量即可。只要在reponse=true时更改whilereponse并命名变量即可
while (noresponse == true);
while (noresponse);