在java控制台程序中的輸入不像在C或其他語言那麼的簡單因此很多java基礎教程並沒有介紹然而它又是很重要的尤其對於像我們這些由C或C++轉java的同學因此我想對Java的輸入語句做一些探討當然作為初學者的我這樣做是班門弄斧而我只是想起到拋磚引玉的作用希望大家一起討論並不惜賜教!
首先javautilScanner包中的Scanner(中文意思是掃描儀)類這個類是一個final類繼承於object類從它的類名上就可以看出它有點類似於掃描儀所以它只能掃描用戶輸入到屏幕上的信息這是就需要一個Systemin然後再掃描(我是這樣認為的)當然它掃描到的只是字符但在需要時可以轉換成其他類型它提供了很多此類的方法String next() BigDecimal nextBigDecimal() BigInteger nextBigInteger() BigInteger nextBigInteger(int radix) boolean nextBoolean() byte nextByte() byte nextByte(int radix) double nextDouble() float nextFloat() int nextInt() int nextInt(int radix) String nextLine() long nextLong() long nextLong(int radix) short nextShort() short nextShort(int radix) 這些方法都可以得到相應類型的數據例
如
import javautilScanner;
public class Importtext {
public static void main(String[] args) {
Scanner sc = new Scanner(Systemin);
int i = scnextInt();
Systemoutprintln(i);
}
}
這個例子就可以得到一個整型的數據
(關於Scanner的東西還有很多我看的還不是很清楚只知道一些簡單的更復雜的東西請高手指點!)
再有就是這個BufferedReader類這個類從字符輸入流中讀取文本緩沖各個字符從而提供字符數組和行的高效讀取(摘自Java幫助文檔)因此它需要緩沖區創建緩沖區的構造方法有兩個BufferedReader(Reader in) 創建一個使用默認大小輸入緩沖區的緩沖字符輸入流BufferedReader(Reader in int sz) 創建一個使用指定大小輸入緩沖區的緩沖字符輸入流類似的它讀的也是字符串需要是進行處理即將字符串轉換成整型浮點型等類型我見過的類型轉換有IntegerparseInt()這個函數是靜態類Integer的一個方法parse的意思是解析這樣就很明白了類似的我還見過FloatparseFloat()舉個例子吧
import javaio*;
public class importtext {
public static void main(String[] args) {
String st;
int num;
float fnum;
try{
Systemoutprint(輸入);
BufferedReader br=new BufferedReader(new InputStreamReader(Systemin));
st = brreadLine();
Systemoutprint(輸入一個數);
num = IntegerparseInt(brreadLine());
Systemoutprint(輸入一個浮點數);
fnum = FloatparseFloat(brreadLine());
Systemoutprint(輸出+st+\n);
Systemoutprint(輸出+num+\n);
Systemoutprint(輸出+fnum+\n);
}catch(IOException e){}
}
}
還有就是運行加參數這個方法因為我沒有用DOS界面輸入命令的方法所以沒有用但是聽比較牛的學長說過這個方法就查了一下也比較新穎吧拿出來說說因為Java的主函數是帶參數的(我也見過C++的主函數帶參數但是自己搞加參數是不行不知道為什麼知道的可以指點一下!謝謝)args[]這個字符串數組它是可以接收數據的當你編寫好程序後編譯成字節碼文件後運行時加實參【java 文件名 參數(字符串)】這個就不舉例子了
這是我學Java時一點小小的總結肯定有很多的纰漏希望各位能不惜賜教謝謝大家
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27166.html