BufferedReader的使用

JQInputData工具類:從鍵盤中獲取各種數(shù)據(jù)

package BufferReader;
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class JQInputData {
    private static BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
    
    /**從鍵盤獲取字符串*/
    public static String getString(String info){
        System.out.println(info);
        String str = null;
        try{
            str =  buf.readLine();
        }catch (IOException e){
            e.printStackTrace();
        }
        return str;
    }
    
    /**從鍵盤獲取int類型數(shù)據(jù)*/
    public static int getInt(String info,String err) throws IOException{
        boolean flag = true;
        int tmp = 0;
        while(flag){
            String str = getString(info);
            if (str.matches("^-?[1-9]\\d*$")){ //里面的\要換成\\轉(zhuǎn)意它
                tmp = Integer.parseInt(str);
                flag = false;
            }else{
                System.out.println(err);
            }
        }   
        return tmp;
    }
    
    /**從鍵盤獲取float類型數(shù)據(jù)*/
    public static float getFloat(String info,String err){
        boolean flag = true;
        float tmp = 0;
        while(flag){
            String str = getString(info);
            if (str.matches("^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$")){ 
                tmp = Float.parseFloat(str);
                flag = false;
            }else{
                System.out.println(err);
            }
        }   
        return tmp;
    }
    
    /**從鍵盤獲取日期(2016-06-30)轉(zhuǎn)成Date對象*/
    public static Date getDate(String info,String err) throws ParseException{
        boolean flag = true;
        Date tmp = null;
        while(flag){
            String str = getString(info);
            if (str.matches("([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))")){ 
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
                tmp=sdf.parse(str);  
                flag = false;
            }else{
                System.out.println(err);
            }
        }   
        return tmp;
    }
    
}

Test


package BufferReader;

import java.io.IOException;

public class Test {
    
    public static void main(String[] args) throws IOException{
        int result = JQInputData.getInt("請輸入一個整數(shù):","輸入不符,請重新輸入");
        System.out.println("你輸入了數(shù)字:"+result);
        
        float result2= JQInputData.getFloat("\n請輸入一個浮點數(shù):","輸入不符,請重新輸入");
        System.out.println("你輸入了數(shù)字:"+result);
        
        System.out.println("您輸入了文字:"+JQInputData.getString("\n請輸入文字:"));
    }
    
}

/*
 所有的輸入字節(jié)數(shù)據(jù)都將存放在緩沖區(qū)中
 BufferReader類用于從緩沖區(qū)中讀取內(nèi)容,因為BufferReader只能接收字符流,
 所以需要用InputStreamReader將字節(jié)輸入流System.in變?yōu)樽址? */
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子麻昼,更是在濱河造成了極大的恐慌,老刑警劉巖晕讲,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異榜田,居然都是意外死亡益兄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門箭券,熙熙樓的掌柜王于貴愁眉苦臉地迎上來净捅,“玉大人,你說我怎么就攤上這事辩块』琢” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵废亭,是天一觀的道長国章。 經(jīng)常有香客問我,道長豆村,這世上最難降的妖魔是什么液兽? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮掌动,結(jié)果婚禮上四啰,老公的妹妹穿的比我還像新娘。我一直安慰自己粗恢,他們只是感情好柑晒,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著眷射,像睡著了一般匙赞。 火紅的嫁衣襯著肌膚如雪佛掖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天涌庭,我揣著相機(jī)與錄音芥被,去河邊找鬼。 笑死脾猛,一個胖子當(dāng)著我的面吹牛撕彤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猛拴,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蚀狰!你這毒婦竟也來了愉昆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤麻蹋,失蹤者是張志新(化名)和其女友劉穎跛溉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扮授,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡芳室,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了刹勃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堪侯。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖荔仁,靈堂內(nèi)的尸體忽然破棺而出伍宦,到底是詐尸還是另有隱情,我是刑警寧澤乏梁,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布次洼,位于F島的核電站,受9級特大地震影響遇骑,放射性物質(zhì)發(fā)生泄漏卖毁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一落萎、第九天 我趴在偏房一處隱蔽的房頂上張望亥啦。 院中可真熱鬧,春花似錦模暗、人聲如沸禁悠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碍侦。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓷产,已是汗流浹背站玄。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留濒旦,地道東北人株旷。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像尔邓,于是被迫代替她去往敵國和親晾剖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容