gpt4 book ai didi

java - 与扫描仪的混淆 (Big Java Ex 6.3)

转载 作者:行者123 更新时间:2023-11-30 07:14:43 24 4
gpt4 key购买 nike

目前正在阅读我书中的第 6 章。我们在这里引入 for 循环和 while 循环。

好吧,基本上他们的程序示例希望我让用户输入任意数量的数字,直到用户输入 Q。一旦用户输入 Q,我需要获取最大数字和平均值。

我不会列出实际进行计算的方法,因为我将它们命名得很好,但主要是我的困惑所在。

顺便说一句,这是一个简单的输入输出

输入

10
0
-1
Q

输出

Average = 3.0
Max = 10.0

我的代码

public class DataSet{
public static void main(String [] args)
{
DataAnalyze data = new DataAnalyze();
Scanner input = new Scanner(System.in);
Scanner inputTwo = new Scanner(System.in);
boolean done = false;
while(!done)
{

String result = input.next();
if (result.equalsIgnoreCase("Q"))
{
done = true;
}
else {
double x = inputTwo.nextDouble();
data.add(x);
}
}
System.out.println("Average = " + data.getAverage());
System.out.println("Max num = " + data.getMaximum());
}

}

我在 double x = inputTwo.nextDouble(); 处遇到错误。

这是我的思考过程。

让我们制作一个标志并继续循环询问用户一个数字,直到我们点击 Q。现在我的问题是,数字当然需要是 double 值,而 Q 将是一个字符串。所以我的尝试是制作两台扫描仪

这是我根据书中第二章对扫描仪的理解。

好吧,从 java.util 库 导入 Scanner 这样我们就可以使用这个包了。之后我们必须创建 scanner 对象。说Scanner input = new Scanner(System.in);。现在剩下要做的唯一一件事实际上是要求用户输入,因此我们通过将其设置为另一个变量(即此处的 input)来实现此目的。这很好的原因是它允许我们将扫描仪设置为 double 和整数等,当它作为默认的字符串时(通过.nextDouble(), .nextInt());

因此,自从我将结果设置为字符串以来,我的印象是我无法使用相同的Scanner对象来获取double code>,所以我制作了另一个名为 inputTwoScanner 对象,这样如果用户不输入 Q (即输入数字),它就会获取这些值。

我应该如何处理这个问题?我觉得我没有在想一些非常琐碎和容易的事情。

最佳答案

您走在正确的道路上,但是您不需要两个扫描仪来处理输入。如果结果是数字,请使用 double x = Double.parseDouble(result) 将其转换为 double 型,然后将第二个扫描器全部删除。祝你好运!

关于java - 与扫描仪的混淆 (Big Java Ex 6.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38624715/

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