public class ProblemFour {
public static void main(String[] args) {
boolean externalCheck = true;
boolean internalCheck = true;
String Str = new String();
int prod = 0;
int mod = 0;
while (externalCheck == true) {
for (int a = 999; a > 99; a--) {
for (int b = 999; b > 99; b--) {
prod = a * b;
Str = Integer.toString(c);
if (internalCheck == true && mod < Str.length() / 2) {
if (c % 2 == 0) {
for (int i = 0; i < Str.length(); i++) {
if (Str.substring(i) != Str.substring(Str.length() - 1)) {
internalCheck = false;
} else {
mod++;
}
} else {
String S = Str.substring(0, (Str.length() - 1) / 2) + Str.substring(Str.length() / 2, Str.length());
for (int i = 0; i < S.length(); i++) {
if (S.substring(i) != Str.substring(S.length() - 1)) {
internalCheck = false;
} else {
mod++;
}
}
}
} else {
return Str;
System.out.println(Str);
externalCheck = false;
}
我收到一条错误消息,说我没有其他地方,如果我不知道这是从哪里来的。特别是在第31行。我还需要更多细节。这还不够详细
答案 0 :(得分:1)
你错过了四个结束括号:一个就在之前:
else{
String S= Str.substring(0,(Str.length()-1)/2) + Str.substring(Str.length()/2, Str.length());
方法结束时有三个。
或许那些不是正确的地方......但它们会使一切平衡。之后你还有其他问题。
我强烈建议您学习如何使用可以帮助您编写Java代码的编辑器 - 例如Emacs中的Eclipse IDE或Java Mode,或者其他什么。当代码看起来像你的那样试图追查这样的问题是折磨。一个好的开发编辑将帮助你保持你的括号排队。
答案 1 :(得分:0)
您没有if (c%2 ==0)
的右括号:
if (c%2 ==0) {
for(int i =0; i<Str.length(); i++) {
if(Str.substring(i) != Str.substring(Str.length()-1)) {
internalCheck = false;
} else {
mod++;
}
}
} else { //You are missing the } here. What you have is just "else {"
...
}