gpt4 book ai didi

java - 在java中创建一个循环来读取字符然后执行循环

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:46 25 4
gpt4 key购买 nike

我正在尝试编写一段代码来读取用户的字符。如果他们输入“y”,它将执行循环并计算平方根。我的平方根函数运行良好。我需要循环运行,直到输入“y”以外的内容。我不断收到此错误

线程“main”java.lang.AssertionError中出现异常:违反:输入为 double 格式 在 Components.simplereader.SimpleReaderSecondary.nextDouble(来源未知) 在Newton2.main(Newton2.java:58)

这是我的代码

    while (true) {
out.print("Enter 'y' to calculate a square root: ");
char a = in.read();
if (a == 'y') {
out.print("Enter a number to take square root of: "); //prompt the user
double x = in.nextDouble(); //input a value to take the root of
double answer = sqrt(x); //use the sqrt method to evaluate
out.println("Estimate of square root: " + answer); //print the result
} else {
break;
}
}

/*
* Close input and output streams
*/
in.close();
out.close();
}

最佳答案

可能的问题是您在下一行输入数字,但由于您之前只读取了一个 char,因此数字解析器因换行符而卡住。试试这个:

char a = in.read();
in.nextLine(); // move cursor to the next line

相关:Scanner is skipping nextLine() after using next(), nextInt() or other nextFoo() methods

关于java - 在java中创建一个循环来读取字符然后执行循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41861084/

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