- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在创建一个程序,根据作业和测试成绩以及它们在该成绩中所占的百分比来确定最后学期的类(class)成绩。单个学生的成绩和百分比信息将在一行中给出。太好了,我只有一个问题:
q1 = input.nextInt();
q1p = input.nextDouble();
q2 = input.nextInt();
q2p = input.nextDouble();
q3 = input.nextInt();
q3p = input.nextDouble();
l1 = input.nextInt();
l1p = input.nextDouble();
l2 = input.nextInt();
l2p = input.nextDouble();
l3 = input.nextInt();
有没有更好的方法来简化这种困惑的 int 和 double 输入?
最佳答案
从您的输入变量中可以看出,您似乎正在使用 Scanner API,对吗?如果是这样,那么您可以使用简单的外观来完成一些非常好的事情,并且条件来自扫描仪,以验证是否有要读取的输入。最后,为了检测输入是 double 还是 int,我们将进行一个简单的检查来确定!
Collection<Integer> integers= new ArrayList<>();
Collection<Double> doubles = new ArrayList<>();
while(input.hasNext())
{
if (input.hasNextInt()) {
integers.add(input.nextInt());
}else if(input.hasNextDouble()) {
doubles.add(input.nextDouble());
}else
input.next(); // will simply move to next value in the line
}
这样,您不仅不必像之前使用静态用户输入那样每次都检查 nextInt 或 NextDouble,而且您也不必担心。如果输入不是 double 或 int,那么列表将保持为空!
更新
更改集合列表的使用,以减少运行时的麻烦!目前该解决方案应该非常适合您。我还在 if 结构中添加了一个子句,以便在 hasNext == false 时使循环完成
关于java - 如何简化大量的nextInt/nextDouble?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192827/
Java 中的 BankApplication 程序,setDebitCard() 函数中的问题。 在这里,我无法在每次 java 运行 后为 debitCardNumber 变量生成一个唯一的随机数
如果从多个线程中并发调用同一System.Random实例的NextDouble(),而没有任何锁定,将会发生哪些错误/问题(如果有)? 最佳答案 简而言之,System.Random 不是线程安全的
嗨,我正在看书学习java;其中,有一项 Activity 称为贷款;我正在遵循示例,但是当我在键入我命名为 montoPrestamo(西类牙语)的贷款金额后想要测试程序时,但当我键入任何值时,ne
所以我正在创建一个程序,根据作业和测试成绩以及它们在该成绩中所占的百分比来确定最后学期的类(class)成绩。单个学生的成绩和百分比信息将在一行中给出。太好了,我只有一个问题: q1
我需要在数组中输入 4 个十进制数字并反转它们,我从数组中的 double 开始,如下所示,但 vand.nextDouble 函数给了我错误,我不想将代码放在misExpection中 我尝试更改数
我是 Java 新手,我正在尝试使用扫描仪从文本文件中读取一些数据。扫描器可以很好地读取字符串和整数数据成员,但是当它达到 double 时,它会抛出 InputMismatchException。
抱歉我的英语不好,但这不是我的母语。我必须创建程序来计算一些数学方程。我发现了一些恼人的问题。我需要在一行中获取输入数字,但是当我使用 sc = new Scanner(System.in);
所以我将 Java 作为数学学位要求的一部分,并且偶然发现了这段代码的问题。本质上,代码应该从用户那里获取数字,直到他们输入零。只要输入数字就可以正常工作。但是,如果用户输入字母或符号,程序就会出现异
我正在尝试使用 Random.nextDouble() 获取 1.0 和 10.0 之间的随机双数: double number = 1.0 + (10.0-1.0) * Random.nextDou
我想在C中生成一个0到1之间的随机双数。我使用了以下代码生成它,但我仍然得到 p 的值为 0.0000?谁能帮我解决这个问题吗? double p; int max; int min; max=1;
我有以下代码: Scanner in = new Scanner(System.in); while (in.hasNextDouble()) { System.out.println(Dou
用 C++ 编程几个月并达到中级水平后,我决定开始学习 Java。我在思考扫描仪变量的工作原理时遇到了一些麻烦。在 C++ 中,“cin>>”非常简单,因为它会将输入的任何内容存储到先前声明的变量中。
我正在开发一款用于从银行账户存入和提取资金的小应用程序。该程序大部分运行良好,但我从一些带有大量尾随小数的交易中得到奇怪的输出。我随机生成应该只有 2 位小数的 double ,所以我不确定它们来自哪
我正在尝试在下面的程序中使用 in.nextDouble() 方法来计算一些数字的平均值。 import java.util.Scanner; public class Average { publi
我正在玩弄 Random class's nextDouble()方法如下图。我希望 nextDouble() 在区间 [-50.0, 50.0) 上返回一个伪随机 double 值,但是,在运行循环
我已经使用该公式在自定义间隔中获得随机 double 值: Random r = new Random(); double Upper = 3.7, Lower = 11.4, Result;
import java.util.*; public class June16{ public static void main(String[] args){ Scanner
我有一个相当简单的问题。我收到像6.03这样的实数输入,但这给了我错误。如果我改成6,03就可以了。但是,我无法更改需要处理的输入,那么如何告诉 Java 使用 . 作为分隔符而不是 ,? Scann
这个问题已经有答案了: 奥 git _a (2 个回答) 已关闭 6 年前。 我正在学习 Java,当我尝试输入双 float 时遇到一些问题。 像这样。 import java.util.Scann
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我是一名优秀的程序员,十分优秀!