1.用Scanner類:
import java.util.Scanner;
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你的姓名:");
String name = sc.nextLine();
System.out.println("請輸入你的年齡:");
int age = sc.nextInt();
System.out.println("請輸入你的工資:");
float salary = sc.nextFloat();
System.out.println("你的資訊如下:");
System.out.println("姓名:"+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary);
}
這段程式碼已經表明,Scanner類不管是對於字串還是整型資料或者float型別的變數,只需做一點小小的改變,就能夠實現功能。
2.其中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()這三句來獲取輸入的內容。
3.執行一下就會發現程式並沒有讓你輸入蘋果的英文,而是直接回車了,那是因為你輸入完年齡之後的那個回車被nextLine()吃掉了,因此它並沒有輸出什麼,但如果用in.next()的話,它是可以輸入的。(下面是兩種執行結果)
區別:nextLine()方法返回的是Enter鍵之前的所有字元,它是可以得到帶空格的字串的。
next()會自動消去有效字元前的空格,只返回輸入的字元,不能得到帶空格的字串。
1.用Scanner類:
import java.util.Scanner;
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你的姓名:");
String name = sc.nextLine();
System.out.println("請輸入你的年齡:");
int age = sc.nextInt();
System.out.println("請輸入你的工資:");
float salary = sc.nextFloat();
System.out.println("你的資訊如下:");
System.out.println("姓名:"+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary);
}
這段程式碼已經表明,Scanner類不管是對於字串還是整型資料或者float型別的變數,只需做一點小小的改變,就能夠實現功能。
2.其中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()這三句來獲取輸入的內容。
3.執行一下就會發現程式並沒有讓你輸入蘋果的英文,而是直接回車了,那是因為你輸入完年齡之後的那個回車被nextLine()吃掉了,因此它並沒有輸出什麼,但如果用in.next()的話,它是可以輸入的。(下面是兩種執行結果)
區別:nextLine()方法返回的是Enter鍵之前的所有字元,它是可以得到帶空格的字串的。
next()會自動消去有效字元前的空格,只返回輸入的字元,不能得到帶空格的字串。