日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java utill scanner_java.util.Scanner应用详解 转

發布時間:2023/12/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java utill scanner_java.util.Scanner应用详解 转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java.util.Scanner是Java5的新特征,主要功能是簡化文本掃描。這個類最實用的地方表現在獲取控制臺輸入,其他的功能都很雞肋,盡管Java API文檔中列舉了大量的API方法,但是都不怎么地。

一、掃描控制臺輸入

這個例子是常常會用到,但是如果沒有Scanner,你寫寫就知道多難受了。

當通過new Scanner(System.in)創建一個Scanner,控制臺會一直等待輸入,直到敲回車鍵結束,把所輸入的內容傳給Scanner,作為掃描對象。如果要獲取輸入的內容,則只需要調用Scanner的nextLine()方法即可。

/**

* 掃描控制臺輸入

*

* @author leizhimin 2009-7-24 11:24:47

*/

public class TestScanner {

public static

void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.println("請輸入字符串:");

while (true) {

String line = s.nextLine();

if (line.equals("exit"))

break;

System.out.println(">>>" + line);

}

}

}

請輸入字符串:

234

>>>234

wer

>>>wer

bye

>>>bye

exit

Process finished with exit code 0

先寫這里吧,有空再繼續完善。

二、如果說Scanner使用簡便,不如說Scanner的構造器支持多種方式,構建Scanner的對象很方便。

可以從字符串(Readable)、輸入流、文件等等來直接構建Scanner對象,有了Scanner了,就可以逐段(根據正則分隔式)來掃描整個文本,并對掃描后的結果做想要的處理。

三、Scanner默認使用空格作為分割符來分隔文本,但允許你指定新的分隔符

使用默認的空格分隔符:

public static

void main(String[] args) throws FileNotFoundException {

Scanner s = new Scanner("123 asdf sd 45 789 sdf asdfl,sdf.sdfl,asdf????......asdfkl????las");

//????????????????s.useDelimiter(" |,|\\.");

while (s.hasNext()) {

System.out.println(s.next());

}

}

123

asdf

sd

45

789

sdf

asdfl,sdf.sdfl,asdf

......asdfkl

las

Process finished with exit code 0

將注釋行去掉,使用空格或逗號或點號作為分隔符,輸出結果如下:

123

asdf

sd

45

789

sdf

asdfl

sdf

sdfl

asdf

asdfkl

las

Process finished with exit code 0

四、一大堆API函數,實用的沒幾個

(很多API,注釋很讓人迷惑,幾乎毫無用處,這個類就這樣被糟蹋了,啟了很不錯的名字,實際上做的全是齷齪事)

下面這幾個相對實用:

delimiter()

返回此 Scanner 當前正在用于匹配分隔符的 Pattern。

hasNext()

判斷掃描器中當前掃描位置后是否還存在下一段。(原APIDoc的注釋很扯淡)

hasNextLine()

如果在此掃描器的輸入中存在另一行,則返回 true。

next()

查找并返回來自此掃描器的下一個完整標記。

nextLine()

此掃描器執行當前行,并返回跳過的輸入信息。

五、逐行掃描文件,并逐行輸出

看不到價值的掃描過程

public static

void main(String[] args) throws FileNotFoundException {

InputStream in = new FileInputStream(new File("C:\\AutoSubmit.java"));

Scanner s = new Scanner(in);

while(s.hasNextLine()){

System.out.println(s.nextLine());

}

}

package own;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.HttpURLConnection;

import java.net.ProtocolException;

import java.net.URL;

import com.verisign.uuid.UUID;

/**

* ��?������??��?�?��?������?�?����??�������?�?�

* @author wangpeng

*

*/

public class AutoSubmit {

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

...在此省略N行

Process finished with exit code 0

Java對字符串支持還是比較弱的,盡管Java一直在努力。

Java的確老勢已經下來了,越來越龐大臃腫,往昔的輝煌正成為Java前進路上的絆腳石,為了向后兼容,為了平穩的過度,不得不做很多痛苦的選擇。

如果Java能直接出Java III,完全拋棄現有的糟粕,全新設計語法和風格。Java也許會繼續輝煌下去。

總結

以上是生活随笔為你收集整理的java utill scanner_java.util.Scanner应用详解 转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。