I have two classes,
SymString.java
import java.lang.StringBuffer;
public class SymString {
private String str;
private int temp = 0, flag = 0;
public SymString(String paraStr) {
str = paraStr;
}
StringBuffer strBuffer = new StringBuffer(str);
public int getLength() {
return (strBuffer.length());
}
public boolean isSymStr() {
for (temp = 0; temp <= getLength(); temp++) {
if (strBuffer.charAt(temp) == strBuffer.charAt(getLength() - (temp + 1))) {
flag++;
}
}
if (flag == getLength()) {
return true;
} else {
return false;
}
}
public boolean isSymStr2() {
if (strBuffer.reverse().equals(strBuffer)) {
return true;
} else {
return false;
}
}
}
TestSymStr.java
class TestSymStr {
public static void main(String[] args) {
SymString Test1 = new SymString("lmfao let's try it out.");
System.out.println("Is the string symmetric?");
System.out.println(Test1.isSymStr2());
System.out.println(Test1.isSymStr());
}
}
and it just throws the exception, seems like the str
has not be assigned. Why?
Exception in thread "main" java.lang.NullPointerException
at java.lang.StringBuffer.<init>(StringBuffer.java:139)
at SymString.<init>(SymString.java:13)
at TestSymStr.main(TestSymStr.java:5)