Java控制台輸入

來源:互聯網
上載者:User

  在java控制台程式中的輸入不像在C或其他語言那麼的簡單,因此很多java基礎教程並沒有介紹。然而它又是很重要的,尤其對於像我們這些由C或C++轉java的同學,因此我想對Java的輸入語句做一些探討。當然,作為初學者的我這樣做是班門弄斧,而我只是想起到拋磚引玉的作用,希望大家一起討論,並不惜賜教!
    首先,java.util.Scanner包中的Scanner(中文意思是掃描器)類,這個類是一個final類繼承於object類,從它的類名上就可以看出它有點類似於掃描器,所以它只能掃描使用者輸入到螢幕上的資訊,這是就需要一個System.in然後再掃描(我是這樣認為的)。當然它掃描到的只是字元,但在需要時可以轉換成其他類型,它提供了很多此類的方法: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 java.util.Scanner;
public class Importtext {
public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
      int i = sc.nextInt();
      System.out.println(i);
}
}
這個例子就可以得到一個整型的資料。 
     (關於Scanner的東西還有很多,我看的還不是很清楚只知道一些簡單的,更複雜的東西,請高手指點!)
    再有就是這個BufferedReader類,這個類“從字元輸入資料流中讀取文本,緩衝各個字元,從而提供字元、數組和行的高效讀取”(摘自Java協助文檔),因此它需要緩衝區。建立緩衝區的構造方法有兩個:BufferedReader(Reader in) 建立一個使用預設大小輸入緩衝區的緩衝字元輸入資料流。BufferedReader(Reader in, int sz) 建立一個使用指定大小輸入緩衝區的緩衝字元輸入資料流。類似的它讀的也是字串,需要是進行處理,即將字串轉換成整型、浮點型等類型。我見過的類型轉換有Integer.parseInt()這個函數,是靜態類Integer的一個方法parse的意
思是解析,這樣就很明白了。類似的我還見過Float.parseFloat(),舉個例子吧:
import java.io.*; 
public class importtext {
public static void main(String[] args) {
   String st;
   int num;
   float fnum;
   try{ 
    System.out.print("輸入:"); 
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
    st = br.readLine(); 
    System.out.print("輸入一個數:");
    num = Integer.parseInt(br.readLine()); 
    System.out.print("輸入一個浮點數:");
    fnum = Float.parseFloat(br.readLine());
    System.out.print("輸出:"+st+'/n'); 
    System.out.print("輸出:"+num+'/n');
    System.out.print("輸出:"+fnum+'/n');
    }catch(IOException e){} 
}
}
    還有就是運行加參數這個方法,因為我沒有用DOS介面輸入命令的方法所以沒有用,但是聽比較牛的學長說過這個方法就查了一下,也比較新穎吧,拿出來說說,因為Java的主函數是帶參數的(我也見過C++的主函數帶參數,但是自己搞加參數是不行,不知道為什麼,知道的可以指點一下!謝謝),args[]這個字串數組,它是可以接收資料的。當你編寫好程式後,編譯成位元組碼檔案後運行時加實參【java 檔案名稱 參數(
字串)】,這個就不舉例子了。
     這是我學Java時一點小小的總結,肯定有很多的紕漏希望各位能不惜賜教,謝謝大家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.