Schreiben Sie code drucken Sie die Lage von jedem Raum im string

So, ich bin versucht, code zu schreiben, zu drucken, die Lage des Raumes in die 2-Zeichen-string-passCode. Jeder Raum erkannt gedruckt werden soll, eine separate Anweisung, gefolgt von einem newline.

schrieb ich diesen code und es funktionieren würde, bis passcode = " ";

  public class space{
  public static void main(String args[]) { 
  String passCode = "";
  passCode = "A ";

  int p = passCode.length();

  /*
  for(int i = 0; i < p; i++) {
     int b = passCode.charAt(i);
     if(Character.isWhitespace(b)){
        System.out.println("Space at " + passCode.indexOf(b));
     }
  }
  } 
  } 

jedoch fand ich einen Weg, es zu tun, wo es dann richtig bewerten, wenn passcode = " ";
unten geschrieben

int indexOfSpace = passCode.indexOf(" ");

   while(indexOfSpace >= 0){

     System.out.println("Space at " + indexOfSpace);
     indexOfSpace = passCode.indexOf(" ", indexOfSpace + 1);

     }

könnte mir jemand bitte erklären, warum es funktioniert, wenn sich beide Indizes sind leer, für die while-Schleife und keine for-Schleife ?

Danke

InformationsquelleAutor fijilemon12 | 2017-02-21
Schreibe einen Kommentar