gpt4 book ai didi

java - 使用什么从用户输入在 arrayList 中添加一系列整数

转载 作者:可可西里 更新时间:2023-11-01 02:34:03 25 4
gpt4 key购买 nike

我正在使用 Java 使用套接字编写服务器客户端程序。

我要求用户输入一系列整数,将它们添加到 ArrayList 中,然后使用 ObjectOutputStream 将它们作为对象发送到服务器。服务器然后接收该对象。

我将对象解析为 ArrayList,然后我使用一种方法来计算整数的最大数量,并将其作为字符串返回给客户端。

我正在使用 BufferedReader 进行用户输入

从某种意义上说,我需要的是关于如何:

检查用户输入,如果不是“Ok”或按Enter

用户应该能够添加由空格 分隔的数字。

如果然后他按 Enter 则应该退出循环并将数字添加到数组中

我到目前为止:

 BufferedReader integers = new BufferedReader(new InputStreamReader(System.in));
// send int 1, for the Max number option
pw.println(option);
System.out.println(br.readLine());
String x = integers.readLine();
if(integers!=null){

readInt(integers);

}


objectOut = new ObjectOutputStream(client.getOutputStream());
objectOut.writeObject(maxNum);
objectOut.flush();
System.out.println(br.readLine());
objectOut.close();
break;

读入方法:

public static int readInt(BufferedReader stdIn) {
while (true) {
try {
String line = stdIn.readLine();
int value = Integer.parseInt(line);
return value;
} catch (java.lang.NumberFormatException e) {
;
} catch (IOException e) {
;
}
}
}

最佳答案

您可以使用 Scanner 更好地处理这个问题。 BufferedReader 很旧并且已弃用。

List<Integer> seriesOfInt = new ArrayList<>();

while (scanner.hasNextInt()) {
seriesOfInt.add(scanner.nextInt());
}

或者,如果用户在一行中输入所有这些数字,并且在它们之间使用一些分隔符,例如空格 (),您可以拆分输入并存储在 ArrayList 中。

if (scanner.hasNext()) {
List<String> seriesOfIntString = Arrays.asList(scanner.next().split(" "));
}

关于java - 使用什么从用户输入在 arrayList 中添加一系列整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12797203/

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