[英]Counting lines and words
我收到了一個作業,其中我必須編寫一個程序來接收輸入,就像一個2D數組,並計算沿線的單詞,並計算線的數量。
例如:
Inky Pinky Blinky Clyde Luigi Mario Bowser
02
12
56
35
24
45
23
14
這應該吐出結果7 9
。
但是我的代碼似乎並沒有打印出第二行的結果,該程序只是繼續運行。 應該通過計算空格來計數單詞,並通過使用hasNextLine()
來hasNextLine()
行數。 如果有人有其他想法,我也會開放。
public class Duplicate {
String Sentence;
String Store[];
public String getString(Scanner s) {
Sentence = s.nextLine();
return Sentence;
}
public void count() {
Store = Sentence.split(" ");
System.out.print(Store.length + " ");
}
public void countLine(Scanner s) {
int l = 0;
while (s.hasNextLine()) {
l = +1;
s.nextLine();
}
System.out.print(l);
}
}
您寫了l =+ 1;
但我認為應該是l += 1
。
正如羅伯特(Robert)指出的那樣,計算行數時有錯誤。 但是實際上,您還需要檢查行是否為空,否則計數可能會被破壞。 因此,我對您的代碼做了一些更改。 當您閱讀第一行時,主要的變化是也計算在內。
另外,我將變量名更改為camelcase,如Java 約定所建議。 你應該遵循。
public class Duplicate {
private String sentence;
private String store[];
private int countLines = 0;
public String getString(Scanner s) {
sentence = s.nextLine();
countLines++;
return sentence;
}
public void count() {
store = sentence.split(" ");
System.out.print(store.length + " ");
}
public void countLine(Scanner s) {
while (s.hasNextLine()) {
String line = s.nextLine();
//verify if line is not empty
if (!line.isEmpty())
countLines +=1;
}
System.out.print(countLines);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.