您好,登錄后才能下訂單哦!
Java程序開(kāi)發(fā)過(guò)程中,需要從鍵盤獲取輸入值是常有的事,但Java它偏偏就沒(méi)有像c語(yǔ)言給我們提供的scanf(),C++給我們提供的cin()獲取鍵盤輸入值的現(xiàn)成函數(shù)!Java沒(méi)有提供這樣的函數(shù)也不代表遇到這種情況我們就束手無(wú)策。
請(qǐng)你看以下三種解決方法吧:
以下將列出幾種方法:
方法一:從控制臺(tái)接收一個(gè)字符,然后將其打印出來(lái)
import java.io.*; public static void main(String [] args) throws IOException{ System.out.print("Enter a Char:"); char i = (char) System.in.read(); System.out.println("your char is :"+i); }
雖然此方式實(shí)現(xiàn)了從鍵盤獲取輸入的字符,但是System.out.read()只能針對(duì)一個(gè)字符的獲取,同時(shí),獲取進(jìn)來(lái)的變量的類型只能是char,當(dāng)我們輸入一個(gè)數(shù)字,希望得到的也是一個(gè)整型變量的時(shí)候,我們還得修改其中的變量類型,這樣就顯得比較麻煩。
方法二:從控制臺(tái)接收一個(gè)字符串,然后將其打印出來(lái)。 在這個(gè)題目中,我們需要用到BufferedReader類和InputStreamReader類
import java.io.*; public static void main(String [] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; System.out.println("Enter your value:"); str = br.readLine(); System.out.println("your value is :"+str); }
這樣我們就能獲取我們輸入的字符串。
方法三:這種方法我認(rèn)為是最簡(jiǎn)單,最強(qiáng)大的,就是用Scanner類
import java.util.Scanner; public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入你的姓名:"); String name = sc.nextLine(); System.out.println("請(qǐng)輸入你的年齡:"); int age = sc.nextInt(); System.out.println("請(qǐng)輸入你的工資:"); float salary = sc.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名:"+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary); }
這段代碼已經(jīng)表明,Scanner類不管是對(duì)于字符串還是整型數(shù)據(jù)或者float類型的變量,只需做一點(diǎn)小小的改變,就能夠?qū)崿F(xiàn)功能!無(wú)疑他是最強(qiáng)大的!
但是,在使用第三種輸入方法的時(shí)候有一個(gè)需要注意的地方,就是nextLine()函數(shù),在io包中有一個(gè)和他功能一樣的函數(shù)我next()函數(shù),他們的功能一樣,但是在實(shí)現(xiàn)上有什么差別呢,請(qǐng)看下面代碼:
public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入你的年齡:"); int age = sc.nextInt(); System.out.println("請(qǐng)輸入你的姓名:"); String name = sc.nextLine(); System.out.println("請(qǐng)輸入你的工資:"); float salary = sc.nextFloat(); System.out.println("你的信息如下:"); System.out.println("姓名:"+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary); }
方法四:使用System.in.read。
例如:
public static void main(String args[]) throws IOException{
System.out.print("請(qǐng)輸入:");
char i = (char) System.in.read();
System.out.println(" aaa:"+i);
}
方法五:使用BufferedReader。
例如:
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("請(qǐng)輸入:");
str = br.readLine();
System.out.println("aaaa :"+str);
}
以上就是java中怎么獲取輸入?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。