로사 도허티 :
저는 현재 while 루프를 중지하고 번호 목록을 인쇄 할 문자를 입력해야합니다. 마지막 INT가 입력 된 시점을 결정하는 더 좋은 방법이 있나요?
` 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();`
아빈 드 쿠마 Avinash :
다음과 같이 작업을 수행 :
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);
}
}
샘플 실행 :
Enter a sequence of integer values to be sent to the server (x to terminate)
10 20 30 X
[10, 20, 30]
또한, 가까이하지 않습니다 Scanner
에 대한 System.in
그것은 또한 닫으로 System.in
뿐만 아니라.
의심의 여지 / 문제의 경우에 의견을 주시기 바랍니다.