Java中接收鍵盤輸入的三種方法
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class EnterTest {
public static void main(String[] args) { //主方法
CharTest(); //調(diào)用System.in方法
ReadTest(); //調(diào)用ReadTest方法
ScannerTest();//調(diào)用ScannerTest方法
}
/**
* System.in和System.out方法
* 缺點(diǎn)一: 該方法能獲取從鍵盤輸入的字符,但只能針對(duì)一個(gè)字符的獲取
* 缺點(diǎn)二: 獲取的只是char類型的。如果想獲得int,float等類型的輸入,比較麻煩。
*/
public static void CharTest(){
try{
System.out.print("Enter a Char:");
char i = (char)System.in.read();
System.out.println("Yout Enter Char is:" + i);
}
catch(IOException e){
e.printStackTrace();
}
}
/**
* InputStreamReader和BufferedReader方法
* 優(yōu)點(diǎn): 可以獲取鍵盤輸入的字符串
* 缺點(diǎn): 如何要獲取的是int,float等類型的仍然需要轉(zhuǎn)換
*/
public static void ReadTest(){
System.out.println("ReadTest, Please Enter Data:");
InputStreamReader is = new InputStreamReader(System.in); //new構(gòu)造InputStreamReader對(duì)象
BufferedReader br = new BufferedReader(is); //拿構(gòu)造的方法傳到BufferedReader中
try{ //該方法中有個(gè)IOExcepiton需要捕獲
String name = br.readLine();
System.out.println("ReadTest Output:" + name);
}
catch(IOException e){
e.printStackTrace();
}
}
/**
* Scanner類中的方法
* 優(yōu)點(diǎn)一: 可以獲取鍵盤輸入的字符串
* 優(yōu)點(diǎn)二: 有現(xiàn)成的獲取int,float等類型數(shù)據(jù),非常強(qiáng)大,也非常方便;
*/
public static void ScannerTest(){
Scanner sc = new Scanner(System.in);
System.out.println("ScannerTest, Please Enter Name:");
String name = sc.nextLine(); //讀取字符串型輸入
System.out.println("ScannerTest, Please Enter Age:");
int age = sc.nextInt(); //讀取整型輸入
System.out.println("ScannerTest, Please Enter Salary:");
float salary = sc.nextFloat(); //讀取float型輸入
System.out.println("Your Information is as below:");
System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary);
}
}
總結(jié):
要獲取鍵盤中的輸入:
python提供了,python2中有raw_input(),python3中有input()。
c提供了scanf()函數(shù)
c++提供cin()函數(shù)來獲取鍵盤輸入
java中沒有現(xiàn)成的函數(shù)來獲取鍵盤輸入,但仍然可以用上述方法來實(shí)現(xiàn),其中方法三應(yīng)該是最簡(jiǎn)單,最方便的。
相關(guān)文章
詳解在SpringBoot中@Transactional事物操作和事物無效問題排查
這篇文章主要介紹了詳解在SpringBoot中@Transactional事物操作和事物無效問題排查,本文詳細(xì)的介紹了SpringBoot中集成使用@Transactional注解操作事物以及事物開啟后無效的問題排查,需要的朋友可以參考下2021-06-06
Spring之兩種任務(wù)調(diào)度Scheduled和Async詳解
這篇文章主要介紹了Spring之兩種任務(wù)調(diào)度Scheduled和Async,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
java生成圖片驗(yàn)證碼返回base64圖片信息方式
這篇文章主要介紹了java生成圖片驗(yàn)證碼返回base64圖片信息方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
javaweb servlet生成簡(jiǎn)單驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了javaweb servlet生成簡(jiǎn)單驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03

