warum string-Länge -1

Ich gefunden habe, das folgende Programm zu überprüfen, ob ein string ein Palindrom ist.

import java.util.Scanner;

public class PalindromeString{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        System.out.println("Enter the string which you want to check whether that is palindrome or not: ");
        String s = in.next();
        String r = "";
        for(int i=s.length()-1; i>=0; i--){
            r = r+s.charAt(i);
        }
        System.out.println("Reverse of entered string "+s+" is "+r);
        if(r.equals(s)){
            System.out.println("String "+s+" is palindrome.");
        }else{
            System.out.println("String "+s+" is not palindrome.");
        }
    }
}

Ich nicht verstehen, warum der Programmierer initialisiert die Schleife variable i zu s.length()-1. Kann jemand mir erklären, warum? Ich habe gesucht bezogene Inhalte für die string-Länge, aber konnte Sie nicht finden, eine Antwort für diese.

  • Da die variable i dient als index und die Indizes in java bei 0 beginnen. Wenn die -1 wäre nicht ausgeführt worden, dann ist die erste Anweisung in der for-Schleife haben, würde ein Fehler ausgelöst, da s.charAt(s.length()) nicht vorhanden - überprüfen Sie, dies ist eine entscheidende Verständnis in den meisten Sprachen, welche die 0-basierte Indizes.
  • Mögliche Duplikate von Grund für die Subtraktion von substring()'s endIndex-1
Schreibe einen Kommentar