Я пробовал все и просматривал много сообщений на форуме, но не смог найти проблему с моей программой. Я пытаюсь использовать методы в программе в классе клиента, и он продолжает говорить мне, что не может найти его. Если бы кто-нибудь мог помочь мне разобраться в этом, это было бы здорово. Вот программы и ошибка:Ошибка «Не могу найти символ» для клиентской программы java palindrome
import javax.swing.JOptionPane;
public class Palindrome {
private String palindrome;
public Palindrome(){
} // end constructor
public Palindrome(String newPalindrome){
palindrome = newPalindrome;
} // end Palindrome
public static boolean isPalindrome(){
String temp = "";
boolean toBe = true; // Is a palindrome
boolean notToBe = false; // Is not a palindrome
int low = 0; // First character
int high = temp.length() - 1; // Last character
while (low < high){
if (temp.charAt(low) != temp.charAt(high))
return notToBe;
low++;
high--;
} // end while
return toBe;
}// end isPalindrome
public static String filter(){
String palindrome = "";
StringBuilder stringBuilder = new StringBuilder(); // Create a string builder
for (int i = 0; i < palindrome.length(); i++) { // Examine each char in the string to skip alphanumeric char
if (Character.isLetterOrDigit(palindrome.charAt(i))) {
stringBuilder.append(palindrome.charAt(i));
} // end if
} // end for
// Return a new filtered string
return stringBuilder.toString();
} // end filter
public String removeWhite(){
String temp = "";
temp = temp.replaceAll("\\s+","");
return temp;
} // end removeWhite
public String lowerCase(){
String temp = "";
temp = temp.toLowerCase();
return temp;
} // end toLowerCase
} // end the class
Вот код клиента:
import java.util.Scanner;
import javax.swing.JOptionPane;
public class TestPalindrome {
public static void main(String args[]){
Palindrome pal = new Palindrome("") ;
Scanner input = new Scanner(System.in);
System.out.print("Enter a string: ");// Prompt the user to enter a string
String temporary = (input.nextLine());
String string = ("");
temporary = pal;
temporary.lowerCase();
string.removeWhite();
string.filter();
string.isPalindrome();
System.out.println(string);
} // end main method
} // end the class
Ошибка:
TestPalindrome.java:30: error: incompatible types
temporary = pal;
^
required: String
found: Palindrome
TestPalindrome.java:31: error: cannot find symbol
temporary.lowerCase();
^
symbol: method lowerCase()
location: variable temporary of type String
TestPalindrome.java:32: error: cannot find symbol
string.removeWhite();
^
symbol: method removeWhite()
location: variable string of type String
TestPalindrome.java:33: error: cannot find symbol
string.filter();
^
symbol: method filter()
location: variable string of type String
TestPalindrome.java:34: error: cannot find symbol
string.isPalindrome();
^
symbol: method isPalindrome()
location: variable string of type String
5 errors
Вы не можете присвоить экземпляр '' Palindrome' к String'. –
И как только вы это осознаете, вы также узнаете, что все эти методы, называемые «временными», недействительны, поскольку это не объект «Palindrome». Вам нужно либо изменить тип 'временного' на' Palindrome', либо вызвать эти методы на 'pal', а не' временные'. – SudoRahul