Member 13515057 Ответов: 2

Тестер палиндромов Java


import java.util.*;
 
class Palindrome
{
  public static void main(String args[])
  {
    String inputString;
    Scanner in = new Scanner(System.in);
 
    System.out.println("Input a string");
    inputString = in.nextLine();
 
    int length  = inputString.length();
    int i, begin, end, middle;
 
    begin  = 0;
    end    = length - 1;
    middle = (begin + end)/2;
 
    for (i = begin; i <= middle; i++) {
      if (inputString.charAt(begin) == inputString.charAt(end)) {
        begin++;
        end--;
      }
      else {
        break;
      }
    }
    if (i == middle + 1) //when or how i will be middle +1 if i<=middle
{
      System.out.println("Palindrome");
    }
    else {
      System.out.println("Not a palindrome");
    } 	
  }
}


Что я уже пробовал:

приведенный выше код работает. я нашел этот код в интернете, это не тот код, который я написал. но я смущаюсь, когда я равен среднему+1. для условия цикла i<=middle. пожалуйста, объясни мне.

2 Ответов

Рейтинг:
2

Peter_in_2780

Ваши приращения цикла i на 1. Когда его больше нет <= middle (то есть был увеличен до middle+1) затем управление "выпадает" из цикла. Любой базовый учебник объяснит, как for цикл произведений.


Рейтинг:
1

Patrice T

Цитата:
но я смущаюсь, когда я равен среднему+1. для условия цикла i<=middle. пожалуйста, объясни мне.

Используйте отладчик и посмотрите сами, как работает этот код!

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.