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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中Scanner的理解大总结

發布時間:2025/3/20 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中Scanner的理解大总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Scanner類常用的方法:

Scnaner(File file);Scnaner(String filename);創建一個從特定文件掃描的掃描器
hasNext();還有可讀取的書庫返回true
next();返回下一個標志作為字符串
nextLine();使用行分隔符從這個掃描器返回一個行結束
nextByte();nextshort();nextInt();nextLong();nextFloat();nextDouble();分別返回一個對應類型的值
useDelimiter(string pattern);設置這個掃描器的分割模式并返回這個掃描器

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

public class scanner { public static void main(String[] args) { Scanner s = new Scanner(System.in); //從控制臺輸入System.out.println("請輸入字符串:"); while (true) { String line = s.nextLine(); System.out.println( line); } } }

Scanner默認使用空格作為分割符來分隔文本

public static void main(String[] args) throws FileNotFoundException { Scanner s = new Scanner("123 456 789"); while (s.hasNext()) { System.out.println(s.next()); } } //輸入結果就是 123 456 789

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

Scanner(File file) //構造一個新的Scanner,它生成的值是從指定文件掃描的
Scanner(InputStream source) //構造一個新的 Scanner,它生成的值是從指定的文件的輸入流掃描的
Scanner(String filename) //構造一個新的Scanner,它生成的值是從指定文件名掃描的。
文件對象,文件名,文件輸入流

public static void main(String[] args) throws FileNotFoundException { InputStream in = new FileInputStream(new File("score.txt")); Scanner s = new Scanner(in);//文件輸入流//new Scanner("score.txt");new Scanner(new file("score.txt"));都可以while(s.hasNextLine()){ System.out.println(s.nextLine()); } }

三,Scanner是怎么工作的
next();nextByte();nextshort();nextInt();nextLong();nextFloat();nextDouble();都是令牌讀取方法,他們分隔符默認情況下是空格。

next()和nextLine() 的區別:

next()方法讀取一個由分割付分割的字符,但是nextLine()是讀取一個以行分割符結束的行
例如test.txt文本中有
23 345

Scanner input=new Scanner(new File("test.txt")); int a=input.next(); String line=input.nextLine();//要讀到行分隔符

的結果是a的值是34 ,line的值是”,”3,’4’,’5’
再如如果從鍵盤輸入23,然后按回車鍵,接著輸入345,然后在按鈕回車鍵,執行

Scanner input=new Scanner(new File("test.txt")); int a=input.next(); String line=input.nextLine();//要讀到行分隔符

之后的結果是a的值是23,但是line的卻是空的字符串,因為nextInt()讀取到23,然后在分割付處停止,這里的分隔符是行分隔符,就是回車鍵,所以nextLine還沒有到數據就結束了,為空字符串。

總結

以上是生活随笔為你收集整理的Java中Scanner的理解大总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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