作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的程序允许您输入一个数字并按回车键。然后程序要求你再给它一个数字,直到你得到 21 个数字。关键是它给了你数字的平均值。如果你愿意,你可以在一个条目中输入尽可能多的数字,它仍然有效。我怎样才能让它一次只能输入一个数字?
另外,我怎样才能停止添加数字以外的任何条目?
import java.util.ArrayList;
import java.util.Scanner;
class programTwo
{
private static Double calculate_average( ArrayList<Double> myArr )
{
Double sum = 0.0;
for (Double number: myArr)
{
sum += number;
}
return sum/myArr.size(); // added return statement
}
public static void main( String[] args )
{
Scanner scan = new Scanner(System.in);
ArrayList<Double> myArr = new ArrayList<Double>();
int count = 0;
System.out.println("Enter a number to be averaged, repeat up to 20 times:");
String inputs = scan.nextLine();
while (!inputs.matches("[qQ]") )
{
if (count == 20)
{
System.out.println("You entered more than 20 numbers, you suck!");
break;
}
Scanner scan2 = new Scanner(inputs); // create a new scanner out of our single line of input
myArr.add(scan2.nextDouble());
count += 1;
System.out.println("Please enter another number or press Q for your average");
inputs = scan.nextLine();
}
Double average = calculate_average(myArr);
System.out.println("Your average is: " + average);
}}
最佳答案
如果用户输入的不是“q”或“Q”,也不是有效数字,则会抛出 InputMismatchException
。您只需要捕获该异常,显示适当的消息,并要求用户继续。这可以按如下方式完成:
try {
myArr.add(scan2.nextDouble());
count += 1;
} catch (InputMismatchException e) {
System.out.println("Very funny! Now follow the instructions, will you?");
}
您的其余代码无需更改。
关于java - 我如何在 java 中创建命令行条目的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21642715/
我是一名优秀的程序员,十分优秀!