java中輸入方式Scanner和BufferedReader

來源:互聯網
上載者:User

標籤:

Scanner 在java.util包中,需要引入時可以用import java.util.*;或者import java.util.Scanner;

工作原理:通過new建立一個Scanner對象,Scanner需要傳入一個System.in作為參數,這個我們可以看作是Scanner通過其內部機制將System.in封裝起來而實現資料的讀取工作的。Scanner對象通過一系列的in.nextXxx();方法來讀取相應的基本類型的資料,通過in.hasNextXxx();方法來判斷是否還有下一個資料。 然而,Scanner讀取資料是按空格符,這其中包括空格鍵,Tab鍵,Enter鍵。只要遇到其中之一,Scanner的方法就會返回下一個輸入 ,這也就是我們會面臨的另一個問題,當我們的輸入資料中有空格時,我們就不會得到我們想要的資料,這樣我們就要考慮到BufferReader來讀取資料啦!

實際程式:

1 import java.util.Scanner;2 public class ScannerTester{3 public static void main(String[] args){4 System.out.print("please input the name:");5 Scanner scanner = new Scanner(System.in);6 String name = scanner.nextLine();7 System.out.println(name);8 }              9 } 

  

BufferReader位於java.io包中,需要引入時可以用import java.io.*;或者import java.io.BufferedReader;。

使用BufferReader就相對來說沒有那麼多方法來讓你選擇,讀取資料比較固定,這樣格式也就相對來說比較單一,只要記住就這一讀取資料的方法。BufferReader br = new BufferReader(new InputStreamReader(System.in));。這個BufferReader對象通過readLine();方法來讀取資料,readLine()是按Enter斷行符號來讀取一行資料的,只要在斷行符號鍵之前的都會被readLine();方法返回, 然而,要使用BufferReader輸入一些字元之外的類型的資料,就要相對比較麻煩,需要通過一些XXXX.parseXxx();來轉換相應的資料類型,雖然,麻煩一些,但通過在一些OJ系統上的和Scanner作對比,BufferReader的效率要比Scanner高一倍,這個差距可想而知,讀取的資料越多,效果就越明顯。

實際程式:

 

import java.io.BufferedReader;public class BufferedReaderTester{public static void main(String[] args){System.out.print("please input the adress:");BufferedReader bufferedReader1 = new BufferedReader(new InputStreamReader(System.in));String adress = bufferedReader1.readLine();System.out.println(adress);}}

  

 

java中輸入方式Scanner和BufferedReader

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.