gpt4 book ai didi

java - 如果用户输入了字符/字符串而不是数字,如何询问用户是否要重新启动程序?

转载 作者:行者123 更新时间:2023-11-30 08:18:05 25 4
gpt4 key购买 nike

我是新来的,也是 Java 新手,大约 1-2 周前开始,我想制作一个应用毕达哥拉理论的应用程序。一切都完成了,但现在我陷入了一个困境,我希望用户在输入字符或字符串而不是数字时被询问是否要重试、重新开始。

我做错了什么?这是我的代码,我也添加了注释,这样万一您不明白我想要实现的目标,它会更容易。

提前致谢!

package pitagoracalculator;
import java.util.Scanner;

public class PitagoraCalculator {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double nr1;
double nr2;
double ipot;
boolean raspuns;
String raspuns1;

do{
try{
//user is asked for first number
System.out.print("Introduceti primul numar: ");
nr1 = input.nextDouble();

//user is asked for second number
System.out.print("Introduceti al 2-lea numar: ");
nr2 = input.nextDouble();

//result of calculation
ipot = (nr1*nr1)+(nr2*nr2);
System.out.println("Rezultatul este: "+ipot+"^2");

//in case user inserts a string/char instead of a double => error
} catch (Exception e){
System.err.println("Nu ati introdus un numar.");
break;
}

//user is asked if he wants to do another calculation
System.out.println("Doriti sa faceti un alt calcul? (da/nu)");
raspuns1 = input.next();

//if his answer is yes, raspuns = true, else raspuns = false
if(raspuns1.equalsIgnoreCase("da"))
raspuns = true;
else{
System.out.println("La revedere!");
raspuns = false;
}

//checks if the answer was true or false
}while(raspuns == true);
}
}

最佳答案

替换

//in case user inserts a string/char instead of a double => error
} catch (Exception e){
System.err.println("Nu ati introdus un numar.");
break;
}

//in case user inserts a string/char instead of a double => error
} catch (Exception e){
System.err.println("Nu ati introdus un numar.");
//clear pending input.
if (input.hasNext()) {
input.next();
}
continue;
}

“break”退出循环,“Continue”将继续下一个循环。

您还必须使用 true 初始化 raspuns 变量

boolean raspuns = true;

关于java - 如果用户输入了字符/字符串而不是数字,如何询问用户是否要重新启动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com