Java 洛谷 P1308 统计单词数
生活随笔
收集整理的這篇文章主要介紹了
Java 洛谷 P1308 统计单词数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:https://www.luogu.com.cn/problem/P1308
代碼實例:
import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String word = scanner.nextLine();//這里同下String text = scanner.nextLine();//重點,如果寫成scanner.next()就會錯誤,因為只有nextLine()可以輸入像空格、回車一樣的字符String[] datas = text.split(" ");//用分割函數將分割之后的串存到datas數組中int count = 0;//計數器boolean flag = true;int location = 0;//表示在文章中第一次出現時,單詞首字母在文章中的位置for (int i = 0; i < datas.length; i++) {if (datas[i].equalsIgnoreCase(word)) {count++;flag = false;}//判斷,計算位置,想測試的話可以把下面的注釋打開if (flag) {//System.out.println("datas["+i+"].length()"+datas[i].length());location += datas[i].length() + 1;}}if (count == 0) {//如果單詞在文章中沒有出現,則直接輸出一個整數-1System.out.println(-1);} else {System.out.println(count + " " + location);}scanner.close();} }總結:
Scanner.next()與Scanner.nextLine()的區別
1、next()方法在遇到有效字符前所遇到的空格、tab鍵、enter鍵都不能當作結束符,next()方法會自動將其去掉,只有當next()方法遇到有效字符之后,next()方法才將其后輸入的空格鍵、Tab鍵或Enter鍵等視為分隔符或結束符,所以next()不能得到帶有空格的字符串,只能得到部分字符串(空格前面的)。
2、nextLine()方法的結束符是Enter鍵,即nextLine()方法返回的是Enter鍵之前的所有字符串,所以nextLine()方法可以獲取到帶有空格的字符串。
split()函數
小編不做詳細介紹了,不懂的可以去查一下
如果想了解底層原理請看鏈接:https://blog.csdn.net/qq_43290288/article/details/97943548
equalsIgnoreCase()和equals()的區別
String a=“ABC”;
a.equals(“abc”)為false,
a.equalsIgnoreCase(“abc”)為true;
equalsIgnoreCase與equals區別是前者不區分大小寫,而后者區分
總結
以上是生活随笔為你收集整理的Java 洛谷 P1308 统计单词数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 洛谷 P1200 [USACO
- 下一篇: Java 洛谷 P1307 数字反转