可以調用
成都創(chuàng)新互聯網站建設公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網定制,網站制作、成都做網站,塑造企業(yè)網絡形象打造互聯網企業(yè)效應。
1.2構造Scanner類的對象,附屬于標準輸?流System.in,之后通過其中的?法獲得輸?。
1.3使?close();?法關閉對象。
這是Java經典的取輸入方式,在JDK1.0中引入。此方法通過將 System.in(標準輸入流)包裝在 InputStreamReader 中來使用,InputStreamReader 包裝在 BufferedReader 中,我們可以在命令行中讀取用戶的輸入
常?的?法:nextLine();(字符串),nextInt();(整型數),nextDouble();(雙精度型數);nextFloat()轉換成浮點型;nextBoolean()轉換成布爾型。
工具:
eclipse
方法如下:
輸入代碼如下:
import?java.util.Scanner;
public?class?HelloWorld?{
public?static?void?main(String[]?args)?{
System.out.println("控制臺輸入字符串開始");??
Scanner?input?=new?Scanner(System.in);
String?instr?=?input.nextLine();
System.out.println("控制臺輸入字符串結束");
}
}
效果圖
方法/步驟
首先我們創(chuàng)建一個Test類并編寫main方法,在main方法中測試java的控制臺輸入。我們先介紹java.util.Scanner類,它可以處理控制臺輸入的不同數據類型的數據,我們通過new Scanner創(chuàng)建一個Scanner對象,控制臺等待輸入,輸入完成后敲回車鍵即可,讀取輸入的內容,使用nextLine()方法即可。如下圖所示,我們編寫一個獲取從控制臺輸入字符串的方法,可以通過循環(huán)不停的接收,直到達到設定的次數后跳出循環(huán)。
請點擊輸入圖片描述
請點擊輸入圖片描述
其他scan.next()和scan.nextLine()用于獲取字符串類型的輸入,另外我們還可以用scan.nextBoolean()用于獲取布爾型的輸入,scan.nextInt()用于獲取數值型的輸入,scan.nextLong()用于獲取long類型的輸入,如下圖所示。
請點擊輸入圖片描述
請點擊輸入圖片描述
我們還可以單獨使用System.in.read()讀取一個字符或一個數字,有下圖可知,盡管控制臺輸入的是一個字符串,但是實際上只能讀取一個字符。在讀取數字時,我們輸入的數字是8,但實際上讀取的是56,因為此時獲取的是Unicode編碼,使用try catch捕獲編碼過程中的異常。
請點擊輸入圖片描述
請點擊輸入圖片描述
接下來我們介紹通過字節(jié)流的方式讀取控制臺的輸入,我們需要用到BufferedInputStream,首先創(chuàng)建一個BufferedInputStream對象用于接收控制臺的輸入,我們創(chuàng)建一個byte數組,長度為1024用于存儲接收的字符串,使用read方法讀取,最后使用new String(byte[])將byte數組轉成字符串進行輸出,代碼中的異常需要處理,我們使用try catch捕獲即可。
請點擊輸入圖片描述
接著我們介紹使用字符流的方式獲取控制臺的輸入,創(chuàng)建一個BufferedReader對象,InputStreamReader是字節(jié)到字符的緩存流,我們同樣使用System.in來獲取控制臺的輸入,readLine()方法用于讀取輸入的信息,如下圖所示。
請點擊輸入圖片描述
scanner input = new scanner(System.in);是創(chuàng)建scanner這個對象 并且命名為input而int stb = input.nextDouble();是以double數據類型接收控制臺輸入,所以這個語句有問題,應該改成int stb = input.nextInt(); 而從控制臺接收String型時 應該是 String gander = input.next();不需要加其他 如果接收Double的就是 double gander = input.nextDouble();