Ошибка при проверке того, является ли данная строка палиндромом или нет
я очень хорошо разбираюсь в c++. а в последнее время я изучаю java .
но я застрял здесь и не знаю, как программа всегда дает мне, что строка - это палиндром.
//here goes my code import java.util.ArrayList; import java.util.Random; import java.util.Scanner; import java.util.Collections; public class Test { public static void display(ArrayList<Character> arr) { for(int i=0 ; i<arr.size() ; i++) System.out.print(arr.get(i) + " " ); System.out.println(); } public static boolean Check(ArrayList<Character> arr ) { ArrayList<Character> temp = new ArrayList<Character>(); temp = arr; Collections.reverse(temp); if(arr.equals(temp)) return true; else return false; } public static void main(String[] args) { Scanner input = new Scanner(System.in); String name; System.out.println("enter the string"); name = input.next(); System.out.println(name.length()); ArrayList<Character> arr = new ArrayList<Character>(); for(int i=0 ; i<name.length() ; i++) { arr.add(name.charAt(i)); } // it is always showing me that it is palindrome if(Check(arr)) System.out.println("it is a palindrome"); else System.out.println("it is not a palindrome"); } }
Что я уже пробовал:
ДОЛЖНЫ ПРОЧИТАТЬ:
Видите ли, я знаю, что есть гораздо лучшие способы сделать эту глупость.Поэтому, пожалуйста, не предлагайте мне лучшую реализацию . Я был бы очень благодарен, если бы вы нашли ошибку в этом коде.
Спасибо.
ZurdoDev
Просто используйте отладчик, чтобы увидеть, что происходит.
phil.o
Я не понимаю, как можно быть "очень хорошим в c++", не зная, как отлаживать простой алгоритм.