Apabila menulis program java, kami ingin melengkapkan input baris ini dengan memasukkan pulangan pengangkutan Ini adalah masalah yang sangat biasa, tetapi jika Kami gunakan Pengimbas, dan apabila dipanggil melalui kaedah nextInt(), input tidak akan berhenti, baris kosong akan dicetak, dan kemudian tunggu untuk anda terus memasukkan nombor seterusnya.
Kami boleh menyediakan dua Pengimbas yang pertama membaca data dalam unit baris, yang bersamaan dengan menggunakan pemulangan pengangkutan (masuk) sebagai penamat,
Kemudian hantar rentetan baca ke Pengimbas kedua, dan kemudian proseskannya
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());
Cuma tukar nextInt atau hasnextint dan fungsi lain kepada nama fungsi yang anda perlukan untuk mencapai fungsi yang berbeza Enter, tetapi ia berakhir dengan pengangkutan kembali (masuk).
Soalan
Saya dapati kaedah ini dalam forum:
Scanner s =new Scanner(System.in); String str=""; do { str=s.nextLine(); if(s.hasNextLine()) break; }while(true); System.out.println(str);
Selepas latihan, kaedah ini tidak berfungsi:
memerlukan dua pemulangan gerabak untuk menamatkan input.
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);
Gunakan rentetan sebagai aliran input dan ruang sebagai pemisah:
Kod sumber:
ini memanggil pembina berikut:
Atas ialah kandungan terperinci Bagaimana untuk menamatkan input dengan menekan Enter semasa memasukkan dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!