国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java從控制臺獲取數據的方法

2019-11-14 23:47:17
字體:
來源:轉載
供稿:網友
java從控制臺獲取數據的方法

一、使用System.in.read()一次獲取一個字節

  輸入再多數據,只會獲取第一個字節的int形式。獲取的是字節,而不是字符,所以如果輸入中文字符,強轉后會得到亂碼

1      try {2             int in_num=System.in.read();    //獲取的是一個字節的int類型3             System.out.

  1.輸入:你

    強轉前:196強轉后:?

  2.輸入:@

    強轉前:64 強轉后:@

  3.輸入:space(一個空格)

    強轉前:32 強轉后: //強轉后得到的是一個空格,有占位。只是看不到而已

  4.輸入:enter(換行)

    強轉前:13 強轉后: //強轉后得到的是一個換行。

  5.輸入:tab(水平制表符)

    強轉前:9 強轉后:   //強轉后得到的是一個水平制表符(8個空格)

二、使用Scanner獲取  

1      Scanner in=new Scanner(System.in);2         System.out.println("獲取字符串:"+in.next());3         //System.out.println("獲取一行數據:"+in.nextLine());  

  1.單獨用in.next()方法獲取字符串,輸入tab、space、enter時,會從這里為斷點,只會獲取之前的數據,如:

    輸入:我愛 你到底 獲取字符串:我愛    //會自動去除前后的空格trim()方法

  2.單獨用in.nextLine()方法獲取一行輸入的數據,無論輸入tab、space都會完整的獲取到,當輸入enter時,表示輸入完畢。    

輸入數據:讓 我深深    去愛你獲取一行數據:讓 我深深    去愛你      //不會去除前后的空格

  3.如果使用完in.next()后沒有關閉,就使用in.nextLine(),則in.nextLine()會獲取前一方法截斷后的數據。

    如果關閉后還執行in.nextLine()則會拋出異常:java.lang.IllegalStateException: Scanner closed    

輸入:我留不住    所有的歲月獲取字符串:我留不住獲取一行數據:    所有的歲月

三、使用BufferedReader獲取數據  

1      InputStream is=System.in;2         InputStreamReader isr=new InputStreamReader(is);3         BufferedReader br=new BufferedReader(isr);4         try {5             System.out.println(br.readLine());6         } catch (IOException e) {7             e.printStackTrace();8         }

  1.獲取一個字符的int類型:br.read();

  2.獲取一行字符串:br.readLine();  //不會自動去除前后空格

  3.把獲取到的數據裝入到一個char[]數組中。返回的是這個數據的長度

    int length=br.read(char[]);

(個人學習筆記,有錯請說出來。謝謝?。?/p>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通榆县| 米林县| 虞城县| 昌乐县| 长海县| 集贤县| 家居| 湘乡市| 五原县| 华宁县| 扶风县| 乐都县| 泸定县| 公安县| 迭部县| 四会市| 齐齐哈尔市| 石景山区| 托克逊县| 灵川县| 平陆县| 日土县| 扎赉特旗| 黎平县| 四子王旗| 房产| 剑川县| 壤塘县| 城步| 贡山| 西吉县| 罗平县| 杭州市| 子长县| 新邵县| 乌鲁木齐市| 民勤县| 家居| 什邡市| 阳新县| 绿春县|