在編寫java程式的時候,我們想透過輸入回車來完成這一行的輸入,這是一個非常常見的問題,但是如果我們是用Scanner ,然後透過nextInt()方法呼叫的時候,不會停止輸入,回打出一個空白行,然後等著你繼續輸入下一個數字。
我們可以設定兩個Scanner 第一個以行為單位讀取數據,這樣就相當於用回車(enter)當作結束符,
然後把讀取到的字串傳入第二個Scanner, 然後在進行處理
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 或hasnextint等函數改成你所需要的函數名就可以實現不同的輸入,但是以回車(enter)為結尾了。
題目
#在論壇找到這種方法:
Scanner s =new Scanner(System.in); String str=""; do { str=s.nextLine(); if(s.hasNextLine()) break; }while(true); System.out.println(str);
#經文,此法不通:
需要兩個回車才能結束輸入。
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);
將字串作為輸入流,空格為間隔符:
源碼:
this呼叫下面建構子:
以上是java輸入時怎麼透過回車來結束輸入的詳細內容。更多資訊請關注PHP中文網其他相關文章!