根據學校的練習,我應該在'woordenNaarLijst'方法中更新後,打印int變量'aantalWoorden'和Arraylist'woorden'。但是每當我這樣做時,我都會從默認構造函數中獲取值(因爲它們在方法內部更新)。該方法應該是無效的,所以我不能返回值。如何在不改變方法本身的情況下獲取int和array的值,這些值在'woordenNaarLijst'方法中定義。如何在Java中使用void方法輸出變量
對不起,如果這是一個簡單的問題,或者如果我做錯了什麼,但我相對比較新的編程。
public class AnalyseZin {
private String zin;
int aantalWoorden;
int i1 = 0, i2 = 0;
private ArrayList<String> woorden;
public AnalyseZin() {
woorden = new ArrayList<>();
aantalWoorden = 0;
}
public int getIndex(int i) {
char c;
for (; i < zin.length(); i++) {
c = zin.charAt(i);
if (c == '\n' || c == '.' || c == ',' || c == ' ')
return i;
}
return i;
}
public String getWoord() {
i2 = getIndex(i1);
StringBuilder sb = new StringBuilder();
for (; i1 < i2; i1++) {
sb.append(zin.charAt(i1));
}
return sb.toString();
}
public void woordenNaarLijst() {
String s;
while (true) {
s = getWoord();
if (s.length()==0) break;
woorden.add(s);
aantalWoorden++;
}
}
}
我遺漏了不相關的代碼段,代碼在我的末尾工作。
您正在使用'woordenNaarLijst'方法訪問類成員'woorden'和'aantalWoorden'。在該方法中所做的任何更改都會反映到外部。請檢查'if(s.length()== 0)break;'在更新發生之前停止執行 – shanmuga