我有几个问题需要帮助。
我会在这里添加我的代码和源代码(我想分配要求澄清)。
服务类
public class Palindrome
{
private String pal;
public Palindrome()
{
pal = " ";
}
public Palindrome(String newPal)
{
pal = newPal.toUpperCase();
}
public void setPal(String initPalin)
{
pal = initPalin.toUpperCase();
}
public String getPal()
{
return pal;
}
public boolean isPalindrome()
{
int left = 0;
int right = pal.length() -1;
while (pal.equals(toUpperCase))
{
if (pal.charAt(left) != pal.charAt(right));
{
return false;
}
left++;
right--;
}
return true;
}
public String toString()
{
return "Palindrome" + isPalindrome();
}
}
客户等级
import java.util.Scanner;
public class Palindromeclient
{
public static void main(String[]args)
{
String pal;
boolean isS = false;
Scanner scan = new Scanner(System.in);
System.out.println("Enter statement press[enter]:");
String userinput = scan.nextLine();
Palindrome statement = new Palindrome(pal);
isS = statement.isPalindrome();
if (isS)
System.out.println(userinput + "is a palindrome");
else
System.out.println(userinput + "is not a palindrome");
}
}
我的编码给了我一个
Palindrome.java:34: error: cannot find symbol
while (pal.equals(toUpperCase))
^
symbol: variable toUpperCase
location: class Palindrome
1 error
我不明白为什么,我可以简单地将大写字母添加到集合或第二个构造函数中,这可能能够修复我的服务类。
这是我的问题,排名第一
答案 0 :(得分:1)
回答问题1:
toUpperCase
是String的一个方法,应该作为一个方法调用。
pal.toUpperCase()
就像你在setPal
方法中所做的那样。
回答问题2: 不需要main方法中的布尔值,因为你可以直接在de System.out中询问你的Palindrome对象是否是一个palidrome。
statement.isPalindrome()
请注意,您的程序无法正常工作,因为您没有将用户输入传递给Palindrome构造函数。