如何确定输入最后一个整数的时间?JAVA

如何确定输入最后一个整数的时间?JAVA,java,loops,arraylist,integer,Java,Loops,Arraylist,Integer,我现在必须输入一个字母来停止while循环并打印出数字列表。 是否有更好的方法来确定何时输入最后一个整数 ` Scanner scanner = new Scanner(System.in); System.out.println("Enter a sequence of integer values" + " to be sent to the server"); List<Integer> n

我现在必须输入一个字母来停止while循环并打印出数字列表。 是否有更好的方法来确定何时输入最后一个整数

` Scanner scanner = new Scanner(System.in);
            System.out.println("Enter a sequence of integer values" +
                    " to be sent to the server");
            List<Integer> numberList = new ArrayList<Integer>();
            while(scanner.hasNextInt()) {
                numberList.add(scanner.nextInt());
            }
            System.out.println(numberList);
            os.write(String.valueOf(numberList));
            scanner.close();`
`Scanner Scanner=新的扫描仪(System.in);
System.out.println(“输入整数值序列”+
“发送到服务器”);
List numberList=new ArrayList();
while(scanner.hasNextInt()){
numberList.add(scanner.nextInt());
}
System.out.println(numberList);
write(String.valueOf(numberList));
scanner.close()`
试试这个

final Scanner scanner = new Scanner(System.in);
System.out.println("Enter a sequence of integer values to be sent to the server");
final List<Integer> numberList = new ArrayList<Integer>();
int scanned;
do {
    final int scanned = scanner.nextInt();
    numberList.add(scanned);
} while (scanner.hasNextInt() && scanned != yourChar);
os.write(String.valueOf(numberList));
scanner.close();`
final Scanner=新扫描仪(System.in);
System.out.println(“输入要发送到服务器的整数值序列”);
最终列表编号列表=新的ArrayList();
int扫描;
做{
final int scanned=scanner.nextInt();
数字列表添加(扫描);
}while(scanner.hasnetint()&&scanned!=yourChar);
write(String.valueOf(numberList));
scanner.close()`
我希望我正确理解了你的问题。

试试这个

final Scanner scanner = new Scanner(System.in);
System.out.println("Enter a sequence of integer values to be sent to the server");
final List<Integer> numberList = new ArrayList<Integer>();
int scanned;
do {
    final int scanned = scanner.nextInt();
    numberList.add(scanned);
} while (scanner.hasNextInt() && scanned != yourChar);
os.write(String.valueOf(numberList));
scanner.close();`
final Scanner=新扫描仪(System.in);
System.out.println(“输入要发送到服务器的整数值序列”);
最终列表编号列表=新的ArrayList();
int扫描;
做{
final int scanned=scanner.nextInt();
数字列表添加(扫描);
}while(scanner.hasnetint()&&scanned!=yourChar);
write(String.valueOf(numberList));
scanner.close()`
我希望我正确地理解了您的问题。

按以下步骤操作:

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

public class Program {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter a sequence of integer values to be sent to the server (x to terminate)");
        List<Integer> numberList = new ArrayList<Integer>();
        String[] data = scanner.nextLine().split(" ");
        int i = 0;
        while (i < data.length && data[i].matches("\\d+")) {// The regex \d+ matches only integers
            numberList.add(Integer.parseInt(data[i]));
            i++;
        }
        System.out.println(numberList);
    }
}
另外,不要关闭
系统中的
扫描仪
,因为它也会关闭
系统中的

如有疑问/问题,请随时发表评论。

按以下步骤进行:

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

public class Program {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter a sequence of integer values to be sent to the server (x to terminate)");
        List<Integer> numberList = new ArrayList<Integer>();
        String[] data = scanner.nextLine().split(" ");
        int i = 0;
        while (i < data.length && data[i].matches("\\d+")) {// The regex \d+ matches only integers
            numberList.add(Integer.parseInt(data[i]));
            i++;
        }
        System.out.println(numberList);
    }
}
另外,不要关闭
系统中的
扫描仪
,因为它也会关闭
系统中的


如果有疑问/问题,请随时发表评论。

我试图避免输入字符,而是尝试实现知道的功能-我希望这能澄清问题。好吧,我的错,Arvind的答案是完美的,没有任何补充!我试图避免输入字符,而是尝试实现知道的功能-我希望这能澄清问题。好吧,我的错,Arvind的答案是完美的,没有什么可添加的!