我在for循環條件語句中收到錯誤... 下面是我的代碼。for循環條件評估中的java錯誤:不是語句,表達式的非法開始
import static java.lang.Math.*;
import java.util.*;
import java.io.*;
public class p3 {
public static void main(String[] args) {
// input
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String result = "1";
for (int j=1; j<num; j++) {
if (checker(result+"1")) result = result+"1";
else if (checker(result+"2")) result = result+"2";
else result = result+"3";
}
System.out.println(result);
}
//checker function
boolean checker(String sr) {
int n = sr.length();
for (int m=1; m<=n/2; m++) {
for (int i=0; i<n-2m+1; i++) {
if (sr.substring(i, i+m) == sr.substring(i+m, i+2m)) {
return false;
}
}
}
return true;
}
}
以下是錯誤信息。當然checker()方法中的循環條件有問題,但我無法修復它。
p3.java:30: error: ';' expected
for (int i=0; i<n-2m+1; i++) {
^
p3.java:30: error: not a statement
for (int i=0; i<n-2m+1; i++) {
^
p3.java:30: error: ')' expected
for (int i=0; i<n-2m+1; i++) {
^
p3.java:30: error: ';' expected
for (int i=0; i<n-2m+1; i++) {
^
p3.java:31: error: ')' expected
if (sr.substring(i, i+m) == sr.substring(i+m, i+2m)) {
^
p3.java:31: error: illegal start of expression
if (sr.substring(i, i+m) == sr.substring(i+m, i+2m)) {
^
p3.java:31: error: ';' expected
if (sr.substring(i, i+m) == sr.substring(i+m, i+2m)) {
^
7 errors
,由於某種原因,我不能讓這個頁面顯示我的整個錯誤消息... –
你理解Java是不是喜歡數學?你需要一個*用於乘法。另外,用於字符串比較的'equals' – Li357
提示:在運行編譯器之前編寫較少的代碼。並學習java語法規則。或者你打算來這裏爲每個編譯器錯誤,你會遇到?附註:請使用大括號**任何**塊;即使它只是一條線,或者是一條單線的if/else鏈!最後:名稱「檢查器」對讀者沒有任何意義。例如,您可以將其重命名爲* isResult()*。 – GhostCat