gpt4 book ai didi

java - 如何允许java程序预定义数量的条目

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

我的程序允许用户输入 20 个条目。每个条目都作为一个条目输入,然后从命令行按 Enter 键。我想添加程序的能力“您还剩 20 个条目”然后“您还剩 19 个条目”等等...当用户在程序中输入更多数据时。

如果有人能向我展示将其添加到我当前代码中的最简单方法,我将不胜感激。

import java.util.ArrayList;
import java.util.Scanner;

class project02Diaz
{
private static Double calculate_average( ArrayList<Double> myArr )
{
Double sum = 0.0;
for (Double number: myArr)
{
sum += number;
}
return sum/myArr.size();
}

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 one number at a time be averaged, you have 20 entries remaining:");

for (String inputs = scan.nextLine() ; !inputs.matches("[qQ]") ; inputs = scan.nextLine())
{
if (count == 20)
{
System.out.println("You entered more than 20 numbers, you suck!");
break;
}
try{
myArr.add(Double.valueOf(inputs));
count++;
System.out.println("Please enter another number or press Q for your average");
}
catch (NumberFormatException e) {
System.out.println("Try again you tard! You entered more than one number, or not a valid number at all.");
continue;
}

}
Double average = calculate_average(myArr);
System.out.println("Your average is: " + average);
}
}

最佳答案

又是你!好吧,我也要做这个。您无需更改太多内容:只需从 20 开始倒数计数器并每次输出 stauts 即可。另外,如果达到 0,请停止。

public static void main( String[] args )
{
Scanner scan = new Scanner(System.in);
ArrayList<Double> myArr = new ArrayList<Double>();
int entriesLeft = 20; // changed counter that counts upwards to one counting down.

System.out.println("Enter one number at a time be averaged, you have 20 entries remaining:");

// added additional condition to be checked: we now also stop if maximum number of entries ie reached.
for (String inputs = scan.nextLine() ; entriesLeft > 0 && !inputs.matches("[qQ]") ; inputs = scan.nextLine())
{
try{
myArr.add(Double.valueOf(inputs));
entriesLeft--; //counting one down
System.out.println("Please enter another number or press Q for your average");
// telling user how much numbers are left
System.out.println("You have " + entriesLeft + "numbers left.");
}
catch (NumberFormatException e) {
System.out.println("Try again you tard! You entered more than one number, or not a valid number at all.");
continue;
}

}
Double average = calculate_average(myArr);
System.out.println("Your average is: " + average);
}

请注意,将整数 entriesLeft 附加到字符串并不是非常高效,更好的方法是调用 Integer.toString(entriesLeft)

关于java - 如何允许java程序预定义数量的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644107/

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