可以使用Scanner類,根據以下程式碼的具體操作先簡單了解一下Scanner的使用:
package first; import java.util.Scanner; public class Input { public static void main(String[] args) { Scanner in = new Scanner(System.in);//定义scanner,等待输入 System.out.println("请输入你的姓名:"); String name = in.nextLine();//字符类型的输入方式 System.out.println(name); System.out.println("请输入你的年龄:"); int age = in.nextInt();//整数类型的输入方式 System.out.println(age); System.out.println("请输入你的身高:"); double height = in.nextDouble();//小数类型的输入方式 System.out.println(height); } }
Scanner類別位於java.util.Scanner
套件中,因此在程式前面要加上此套件。
其中Scanner in = new Scanner(System.in);
這句話是關鍵。這句話的意思是:透過new Scanner(System.in)建立一個Scanner,控制台會一直等待輸入,直到敲回車鍵結束,把所輸入的內容傳給Scanner,作為掃描物件。
然後如果想要取得輸入的內容,就需要呼叫Scanner的nextLine()方法,因此就用到了String name = in.nextLine()
,int age = in.nextInt()
,double height = in.nextDouble()
這三句來取得輸入的內容。
如程式碼所示,Scanner類別還是很好使用的,不管是字串,整數還是浮點型,只需要做一點小小的變化,就可以實現輸入功能。但是這裡面有一點要注意一下,就是nextLine()方法會吃回車符,就比如下面這個程式碼:
package first; import java.util.Scanner; public class Input { public static void main(String[] args) { Scanner in = new Scanner(System.in);//定义scanner,等待输入 System.out.println("请输入你的姓名:"); String name = in.nextLine();//字符类型的输入方式 System.out.println(name); System.out.println("请输入你的年龄:"); int age = in.nextInt();//整数类型的输入方式 System.out.println(age); System.out.println("请输入苹果的英文:"); //String s = in.next(); String s = in.nextLine(); System.out.println(s); System.out.println("请输入你的身高:"); double height = in.nextDouble();//小数类型的输入方式 System.out.println(height); } }
你運行一下就會發現程式並沒有讓你輸入蘋果的英文,而是直接回車了,那是因為你輸入完年齡之後的那個回車被nextLine()吃掉了,因此它並沒有輸出什麼,但如果你用in.next()的話,它是可以輸入的。
這是in.nextLine()的運行結果:
#這是in.next()的運行結果:
nextLine()和next()的區別:
nextLine()方法回傳的是Enter鍵之前的所有字符,它是可以得到帶空格的字串的。
next()會自動消去有效字元前的空格,只回傳輸入的字符,不能得到有空格的字串。
推薦教學:java開發入門
以上是如何在java程式中輸入數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!