gpt4 book ai didi

java,一行条目上输入的正确数量

转载 作者:太空宇宙 更新时间:2023-11-04 13:26:05 26 4
gpt4 key购买 nike

如果已经有人问过这个问题,请原谅我,但我正在尝试填充用户定义大小的数组,但我想确保任何额外的输入要么被转储,要么触发错误以重新提示输入。我的作业要求数组的所有输入都在一行上完成,并用空格分隔各个值。该程序运行良好,并且看到我们仍然处于类(class)的开头,我认为我们不应该知道如何过滤单行上的输入数量,但这仍然让我感到困扰。

我已经寻找解决方案一段时间了,但我发现的所有内容都不完全是我想要的。我认为执行 while(scannerVariable != "\n") 会起作用,但是当我更多地考虑它时,我意识到这对我的问题没有任何作用,因为无论输入数量如何,每个数组只遇到一次新行字符。有问题的代码片段如下:

public static double[] getOperand(String prompt, int size)
{
System.out.print(prompt);
double array[];
array = new double[size];
for(int count = 0; count < size; count++)
{
array[count] = input.nextDouble();
}
return array;
}

我所需要的只是某种方法来验证输入的数量或转储/忽略额外的输入,以便缓冲区中没有垃圾来跳过后面的输入。我能想到的唯一方法是计算空格数并将其与数组 -1 的大小进行比较。我认为这不可靠,而且我不确定如何提取计数的空白字符,除非我将所有输入放入字符串并解析它。如果需要,我可以发布更多代码或提供更多详细信息。一如既往,感谢您的帮助!

最佳答案

这可以帮助你。允许在以空格分隔的行上输入数字的功能。有效数字存储在 Double 类型的列表中。

public static void entersDouble () {
Scanner input = new Scanner(System.in);
String s;
ArrayList<Double> numbers= new ArrayList<>();
System.out.print("Please enter numbers: ");
s=input.nextLine();
String [] strnum = s.split("\\s+");

int j=0;
while(j<strnum.length){
try {
numbers.add(Double.parseDouble(strnum[j++]));
}
catch(Exception exception) {
}
}
for (Double n : numbers)
System.out.println(n);
}

关于java,一行条目上输入的正确数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32643914/

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