Целью является фраза, введенная пользователем, и сообщить им, является ли это палиндром или нет. Он должен иметь массив и метод. У меня возникают проблемы с моим массивом и результатом возврата для моего метода. Я кое-что отредактировал, но у меня все еще возникают проблемы с логической частью. Независимо от того, что я вхожу, я становлюсь ложным. Я также хотел бы убедиться, что если бы были введены какие-либо пробелы, они будут удалены. Я попробовал replaceAll, но не смог заставить это работать. Спасибо вам за помощь.Проверка палиндромов с использованием массива
import java.util.Scanner;
public class palindrome {
public palindrome() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner keyboard = new Scanner(System.in);
int another=1;
boolean results;
System.out.println("Please enter a phrase to be checked:");
String input = keyboard.next();
if (checkpalindrome(input))
System.out.println("Yes, the phrase is a palindrome");
else
System.out.println("No, the phrase is not a palindrome");
System.out.println("Would you like to try another one? \"1 or 0\"");
another = keyboard.nextInt();
}
public static boolean checkpalindrome(String input){
char array2 = 0;
char[] array1 = input.toCharArray();
StringBuilder sb = new StringBuilder(input.length());
for(int i=0; i<array1.length/2; i++)
{
array2 = array1[i];
array1[i]=array1[array1.length-1-i];
array1[array1.length-1-i]=array2;
}
System.out.println(input);
System.out.println(array1);
System.out.println(test.equals(array1));
return(input.equals(array1));
}
}
В чем проблема? Помимо того факта, что 'checkpalindrome' ничего не делает. – Necoras
'checkpalindrome (input)' предполагается возвращать логическое значение, проверяя 'if (true)' всегда будет 'true', вы, вероятно, захотите сделать что-то вроде:' if (checkpalindrome (input)) ... ' – alfasin
Код который запускается в строке 'char [] array1 = new char [80];' и до конца не находится внутри какого-либо метода - он не будет компилировать – alfasin