我在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