所以我做了一个程序来做不同的数学题,这取决于用户想要什么,我不希望程序在用户完成之后结束。现在,我的循环重复了一遍又一遍相同的选项。期望的效果是能够不断地选择你想要做的问题。我对编码相当陌生,所以如果这是一个简单的问题,我很抱歉。
public static void main(String[] args)
{
System.out.println("What problem do you want to do?");
System.out.println("1:Celcius to Farenheit");
System.out.println("2:Slope Formula");
System.out.println("3:Averages");
System.out.println("4:Perimeter");
System.out.println("5:Exit\n\n");
Scanner keyboard = new Scanner(System.in);
int response = keyboard.nextInt();
do
{
if (response == 1)
{
System.out.println("Degrees Celcius:");
int degrees = keyboard.nextInt();
System.out.println(degrees + " degrees Celcius is " + celsToFarenheit(degrees) + " degrees Farenheit.");
}
else if (response == 2)
{
System.out.println("x1:");
int x1 = keyboard.nextInt();
System.out.println("y1:");
int y1 = keyboard.nextInt();
System.out.println("x2:");
int x2 = keyboard.nextInt();
System.out.println("y2:");
int y2 = keyboard.nextInt();
System.out.println("The slope is " + slopeFormula(x1,y1,x2,y2));
}
else if (response == 3)
{
System.out.println("First number:");
int num1 = keyboard.nextInt();
System.out.println("Second number:");
int num2 = keyboard.nextInt();
System.out.println("The average is " + average(num1,num2));
}
else if (response == 4)
{
System.out.println("Length:");
int length = keyboard.nextInt();
System.out.println("Width:");
int width = keyboard.nextInt();
System.out.println("The perimeter is " + perimeter(length,width));
}
}
while (response != 5);发布于 2020-08-21 21:28:21
将此部分更改如下:
do
{
int response = keyboard.nextInt();
if (response == 1)如果您将keyboard.nextInt()调用移动到do循环中,它现在将反复向用户请求输入。
在循环之前,您有这行代码,所以它只处理了一次。
发布于 2020-08-21 22:05:59
在循环之外声明int response。在循环内放置response = keyboard.nextInt();
有了循环之外的int response = keyboard.nextInt(),您就再也无法到达它了。另外,将选项放在循环中,这样每次都会显示出来。
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int response;
do {
System.out.println("What problem do you want to do?");
System.out.println("1:Celcius to Farenheit");
System.out.println("2:Slope Formula");
System.out.println("3:Averages");
System.out.println("4:Perimeter");
System.out.println("5:Exit\n\n");
response = keyboard.nextInt();
if (response == 1) {
System.out.println("Degrees Celcius:");
int degrees = keyboard.nextInt();
System.out.println(degrees + " degrees Celcius is " + celsToFarenheit(degrees) + " degrees Farenheit.");
} else if (response == 2) {
System.out.println("x1:");
int x1 = keyboard.nextInt();
System.out.println("y1:");
int y1 = keyboard.nextInt();
System.out.println("x2:");
int x2 = keyboard.nextInt();
System.out.println("y2:");
int y2 = keyboard.nextInt();
System.out.println("The slope is " + slopeFormula(x1,y1,x2,y2));
} else if (response == 3) {
System.out.println("First number:");
int num1 = keyboard.nextInt();
System.out.println("Second number:");
int num2 = keyboard.nextInt();
System.out.println("The average is " + average(num1,num2));
} else if (response == 4) {
System.out.println("Length:");
int length = keyboard.nextInt();
System.out.println("Width:");
int width = keyboard.nextInt();
System.out.println("The perimeter is " + perimeter(length,width));
}
}
while (response != 5);
}https://stackoverflow.com/questions/63530232
复制相似问题