【发布时间】:2018-10-04 01:06:34
【问题描述】:
我正在学习以 Java 为语言的编程入门课程。我们正在做的任务让我很困扰。我有一个 while 循环询问数值,当输入字符串值时终止,即
while (sc.hasNextDouble())
{...}
这之后是另一个扫描器输入,它正在使用
if (sc.hasNextLine())
问题是我正在使用一个字符串来终止顶部 while 循环,然后扫描器立即使用该循环。我尝试使用带有显式 break; 语句的顶部循环的 if/else 语句,但这不起作用。不管我做什么,它仍然在传递。我应该如何处理这个?任何指针表示赞赏。
编辑:根据要求,这里是一些实际代码。请记住,这是针对任意班级分配的,因此可能没有多大意义。
//Request user input
System.out.print("Please enter multiple double values. Enter q or any non double value to quit.");
double doubleValue = 0.00; //declare doubleValue variable (for each entered double value)
double sum = 0.00; //declare starting sum value variable at 0.00
double doubleAverage = 0.00; //declare average of doubles variable
//declare largest double value variable as MIN_VALUE to ensure any entered value is larger
double largestDouble = Double.MIN_VALUE;
//declare smallest double value variable as MAX_VALUE to ensure any entered value is smaller
double smallestDouble = Double.MAX_VALUE; //declare smallest double value variable
int count = 0; //set starting count
while (sc.hasNextDouble())
{
doubleValue = sc.nextDouble();
//System.out.print("Please enter another double value. Enter -1 to stop entering values.");
sum = sum + doubleValue;
count++;
}
/*
* This section prompts the user for their first name and printd it in reverse.
*/
System.out.print("Please enter your first name:");
String fName = ""; //declare fName variable before requesting input
if (sc.hasNext())
{
fName = sc.next();
…
在此之后,字符串值用于终止我在最后用于 if 语句的 while 循环。
【问题讨论】:
-
你能用你到目前为止所做的事情和最小的例子来更新帖子
-
只需将所有输入作为文本,然后检查是否应该退出
-
我无法将输入作为文本,需要在上部扫描仪中将多个双精度作为输入。
-
为什么不能将
String转换为Double? -
因为这是一个班级作业,我们应该做的事情有一些任意的限制。我们必须请求多个双打,执行一些计算,然后从那里请求用户名。输入也应该经过验证。
标签: java while-loop java.util.scanner