#java #loops #for-loop
#java #циклы #цикл for
Вопрос:
Я пытаюсь создать программу, которая проверяет, является ли слово палиндромом или нет, и моя проблема в том, что в моем цикле for переменная j, похоже, не становится выше нуля, даже несмотря на то, что я увеличиваю ее (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;
}
}
Комментарии:
1. Переместите
int j = 0;
вверх до перед началом цикла.2. Спасибо. Это действительно ошибка очень начинающих…
3. Мы все были новичками. Не беспокойтесь об этом.
Ответ №1:
Вы должны определить int j = 0
перед for
циклом. Также ничто не мешает вам определить for
цикл с 2 переменными:
for (int i = word.length(), j = 0; i > 0; i--, j ) {
...
}
Комментарии:
1. Спасибо, я не знал, что вы можете определить две переменные в цикле for.
Ответ №2:
Попробуйте это
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;
}
}