Java 如何将条件合并到试捕中?
此代码不断要求用户输入双值,直到用户输入空行。当用户输入非双精度值(如字符串)时,将显示无效的输入消息。目前,即使用户输入空行,也会显示无效的输入消息,我理解原因。当我输入一个空行时,让无效输入不显示的最佳方法是什么。我不确定是否有一种使用try-catch的方法,或者我只是需要使用其他方法Java 如何将条件合并到试捕中?,java,loops,try-catch,java.util.scanner,user-input,Java,Loops,Try Catch,Java.util.scanner,User Input,此代码不断要求用户输入双值,直到用户输入空行。当用户输入非双精度值(如字符串)时,将显示无效的输入消息。目前,即使用户输入空行,也会显示无效的输入消息,我理解原因。当我输入一个空行时,让无效输入不显示的最佳方法是什么。我不确定是否有一种使用try-catch的方法,或者我只是需要使用其他方法 System.out.println("Type in the polynomials in increasing powers."); Scanner prompt = new Sca
System.out.println("Type in the polynomials in increasing powers.");
Scanner prompt = new Scanner(System.in);
String input = " ";
double parsed;
int counter = 0;
while (!(input.equals("")) & counter < 10) {
input = prompt.nextLine();
try {
parsed = Double.parseDouble(input);
expression.addCoefficient(parsed);
counter++;
}
catch (NumberFormatException e) {
System.out.println("Invalid input");
}
System.out.println(“输入幂递增的多项式”);
扫描仪提示=新扫描仪(System.in);
字符串输入=”;
双重解析;
int计数器=0;
while(!(input.equals(“”)和计数器<10){
输入=prompt.nextLine();
试一试{
parsed=Double.parseDouble(输入);
表达式.addcovercient(已解析);
计数器++;
}
捕获(数字格式){
System.out.println(“无效输入”);
}
while(计数器<10&!(输入=prompt.nextLine())。等于(“”)){
试一试{
parsed=Double.parseDouble(输入);
表达式.addcovercient(已解析);
计数器++;
}
捕获(数字格式){
System.out.println(“无效输入”);
}
}
注意,需要首先显示计数器上的测试。一旦用户犯了10个错误,请停止询问。当用户按enter键时,您可以使用以下命令跳过:
public static void main(String[] args) {
System.out.println("Type in the polynomials in increasing powers.");
String NEW_LINE = "\n";
Scanner sc = new Scanner(System.in);
String input = sc.next();
double parsed;
int counter = 0;
while (counter < 10) {
if (input.equals(NEW_LINE)){
continue;
}
try {
parsed = Double.valueOf(input);
//expression.addCoefficient(parsed);
System.out.println(parsed);
counter++;
}
catch (NumberFormatException e) {
System.out.println("Invalid input");
}
}
publicstaticvoidmain(字符串[]args){
System.out.println(“输入幂递增的多项式”);
字符串NEW_LINE=“\n”;
扫描仪sc=新的扫描仪(System.in);
字符串输入=sc.next();
双重解析;
int计数器=0;
while(计数器<10){
if(输入等于(新行)){
继续;
}
试一试{
解析=Double.valueOf(输入);
//表达式.addcovercient(已解析);
System.out.println(已解析);
计数器++;
}
捕获(数字格式){
System.out.println(“无效输入”);
}
}
您可以编写封装try/catch块的tryParseDouble
方法,也可以使用。
public static void main(String[] args) {
System.out.println("Type in the polynomials in increasing powers.");
String NEW_LINE = "\n";
Scanner sc = new Scanner(System.in);
String input = sc.next();
double parsed;
int counter = 0;
while (counter < 10) {
if (input.equals(NEW_LINE)){
continue;
}
try {
parsed = Double.valueOf(input);
//expression.addCoefficient(parsed);
System.out.println(parsed);
counter++;
}
catch (NumberFormatException e) {
System.out.println("Invalid input");
}
}