帮我看下这个程序为什么编译不通过

来源:百度知道 编辑:UC知道 时间:2024/09/24 04:59:44
class Palindrome {
private String[] str = new String[100];
int len;

Palindrome(String[] _str) {
str = _str;
}

len = str.length();

public boolean judgement() {
boolean judge;
for(int i = 0; i <= ((len - 1) / 2); i++) {
if (str.charAt[i] != str.charAt[len-1-i]) {
return(false);
}
return(true);
}
}

public void outPut(boolean judge){
if (judge) {
System.out.println(str + "is Palindrome" );
} else {
System.out.println(str + "is not Palindrome" );
}
}
}

public class Exercise6 {
public static void main (String[] args) {
Palindrome pal = new Palindrome("abcba");
pal.outPut(pal.judgement());
}
}
检测是不是回文
请指出我程序的错误
自己重写就不必了
谢谢大家了

//1.传入参数只要String就行,不用数组
//2. length(); 是String的方法, length 是数组的属性;
//3. 对 len 赋值语句应该在某一方法里面 len = str.length();
//4. 如果str为数组打印出来的是数组的内存地址
package test;

class Palindrome {
private String str; //1
int len;

Palindrome(String _str) {
str = _str;
len = str.length(); //2,3
}

public boolean judgement() {
boolean judge;
for(int i = 0; i <= ((len - 1) / 2); i++) {
if (str.charAt(i)!=(str.charAt(len-1-i))) {
return(false);
}
}
return(true);
}

public void outPut(boolean judge){
if (judge) {
System.out.println(str + " is Palindrome" ); //4
} else {
System.out.println(str + " is not Palindrome" );
}
}
}

public class Exercise6 {
public static void main (String[] args) {
Palindrome pal = new Palindrome("abcba");
pal.outPut(pal.judgement());
}