更新時間:2022-07-22 10:29:39 來源:動力節(jié)點 瀏覽1536次
對于剛接觸Java的小伙伴兒來說肯定都有這樣一個困惑,就是怎么在Java程序中輸入數(shù)據(jù)。下面給大家介紹一下動力節(jié)點小編認(rèn)為最簡便實用的一種——Scanner類。
根據(jù)以下代碼的具體操作先簡單了解一下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();//整數(shù)類型的輸入方式
System.out.println(age);
System.out.println("請輸入你的身高:");
double height = in.nextDouble();//小數(shù)類型的輸入方式
System.out.println(height);
}
}
Scanner類位于java.util.Scanner包中,因此在程序前面要加上此包。
其中Scanner in = new Scanner(System.in);這一句是關(guān)鍵。這一句的意思是:通過new Scanner(System.in)創(chuàng)建一個Scanner,控制臺會一直等待輸入,直到敲回車鍵結(jié)束,把所輸入的內(nèi)容傳給Scanner,作為掃描對象。
然后如果想要獲取輸入的內(nèi)容,就需要調(diào)用Scanner的nextLine()方法,因此就用到了String name = in.nextLine(),int age = in.nextInt(),double height = in.nextDouble()這三句來獲取輸入的內(nèi)容。
如代碼所示,Scanner類還是很好使用的,不管是字符串,整數(shù)還是浮點型,只需要做一點小小的變化,就可以實現(xiàn)輸入功能。
但是這里面有一點需要注意一下,就是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();//整數(shù)類型的輸入方式
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();//小數(shù)類型的輸入方式
System.out.println(height);
}
}
你運行一下就會發(fā)現(xiàn)程序并沒有讓你輸入蘋果的英文,而是直接回車了,那是因為你輸入完年齡之后的那個回車被nextLine()吃掉了,因此它并沒有輸出什么,但如果你用in.next()的話,它是可以輸入的。
(下面是兩種運行結(jié)果)
這是in.nextLine()的運行結(jié)果:
這是in.next()的運行結(jié)果:
最后補充一下nextLine()和next()的區(qū)別:
nextLine()方法返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串的。
next()會自動消去有效字符前的空格,只返回輸入的字符,不能得到帶空格的字符串。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743