gpt4 book ai didi

java - 我如何在 java 中创建命令行条目的限制

转载 作者:行者123 更新时间:2023-11-30 11:22:33 25 4
gpt4 key购买 nike

我的程序允许您输入一个数字并按回车键。然后程序要求你再给它一个数字,直到你得到 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/

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