Я пытаюсь создать программу, которая проверяет, является ли слово палиндромом или нет, и моя проблема в том, что в моем цикле for переменная Дж, похоже, не становится больше нуля, даже если я увеличиваю ее (j++). Вот мой код (кстати, я новичок в кодировании, так что не будьте слишком строги):
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter Word");
String word = scanner.next();
scanner.close();
for(int i = word.length(); i>0; i--) {
int j = 0;
char modTemp = word.charAt(i-1);
char wordTemp = word.charAt(j);
System.out.println("reverse char: "+modTemp);
System.out.println("Normal char: "+wordTemp);
System.out.println(j);
if (modTemp == wordTemp) {
}
++j;
}
}
Спасибо. Это действительно ошибка новичка...
Мы все были новичками. Не беспокойтесь об этом.




Вы должны определить int j = 0 перед циклом for. Также ничто не мешает вам определить цикл for с 2 переменными:
for (int i = word.length(), j = 0; i > 0; i--, j++) {
...
}
Спасибо, я не знал, что вы можете определить две переменные в цикле for.
Попробуй это
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter Word");
String word = scanner.next();
scanner.close();
int j = 0;
for(int i = word.length(); i>0; i--) {
char modTemp = word.charAt(i-1);
char wordTemp = word.charAt(j);
System.out.println("reverse char: "+modTemp);
System.out.println("Normal char: "+wordTemp);
System.out.println(j);
if (modTemp == wordTemp) {
}
++j;
}
}
Переместите
int j = 0;до начала цикла.