Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем ошибка в программе? Правильно ли решена задача

Настюша Ученик (65), на голосовании 1 год назад
Задача:Вводится целочисленный массив х из n элементов. Проверить, является ли последователь-
ность всех элементов массива палиндромом? Палиндром – это последовательность, которая
читается одинаково с начала и с конца.
Решение:import java.util.Scanner;
public class Palindrom
{
public static void main(String[] args) {
System.out.println("Введите массив х:");
Scanner scan = new Scanner( System.in );
int n = scan.nextInt(); // Ввод числа
int x=new int(n);
int nSourse = n; // Исходное число
int nReverse = 0; // Перевернутое число
while (nSourse != 0) {
nReverse = nReverse * 10 + nSourse % 10;
nSourse /= 10;
}
if (n == nReverse)
System.out.println("Число " + n + " палиндром");
else
System.out.println("Число " + n + " не палиндром");
scan.close();
}
}
Голосование за лучший ответ
G Мыслитель (5876) 2 года назад
Код рабочий, но!
Во-первых, должно быть так: int[] x=new int[n];
Во-вторых, можно сделать гораздо оптимальнее - читать массив с обоих краёв к середине и сравнивать эти элементы.
И, в-третьих, эти читалки ввода, по-моему, всегда воспринимают данные изначально как текст, поэтому текстом можно и оставить введённое значение без дополнительных преобразований.
Похожие вопросы