Java 프로그램을 작성할 때 Enter를 입력하여 이 줄의 입력을 완료하려고 합니다. 이는 매우 일반적인 문제이지만 Scanner를 사용하면 nextInt( ) 방법을 사용하면 입력이 멈추지 않고 빈 줄이 인쇄된 후 계속해서 다음 숫자를 입력할 때까지 기다립니다.
두 개의 스캐너를 설정할 수 있습니다. 첫 번째 스캐너는 행 단위로 데이터를 읽습니다. 이는 캐리지 리턴(입력)을 종결자로 사용하는 것과 같습니다.
그런 다음 읽은 문자열을 세 번째 두 스캐너에 전달합니다. , 그리고 처리를 위해
ArrayList<Integer> arr = new ArrayList() ; System.out.println("Enter a space separated list of numbers:"); Scanner in = new Scanner(System.in); String line = in.nextLine(); Scanner in2 = new Scanner(line); while(in2.hasNextInt()){ arr.add(in2.nextInt()); } System.out.println("The numbers were:"+arr.toString());
nextInt 또는 hasextint 함수를 다른 입력을 달성하는 데 필요한 함수 이름으로 변경하기만 하면 되지만 캐리지 리턴(입력)으로 끝납니다.
Question
포럼에서 이 방법을 찾았습니다:
Scanner s =new Scanner(System.in); String str=""; do { str=s.nextLine(); if(s.hasNextLine()) break; }while(true); System.out.println(str);
연습 후에 이 방법은 작동하지 않습니다:
2번의 캐리지 리턴이 필요합니다 입력을 종료합니다.
Scanner s= new Scanner(System.in); String str=s.nextLine(); Scanner st=new Scanner(str); ArrayList a =new ArrayList(); while(st.hasNextInt()) a.add(st.nextInt()); System.out.println(a);
문자열을 입력 스트림으로 사용하고 공백을 구분 기호로 사용합니다.
소스 코드:
이것은 다음 생성자를 호출합니다.
위 내용은 Java에서 입력 시 Enter를 눌러 입력을 종료하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!