Ein Programm erwartet einen String, der die gegenwärtige Zeit in der Form "9:23AM" , "12:45PM" oder "4:00 AM" enthält.

Eine gute Antwort wäre:

StringTokenizer st = new StringTokenizer( zeit, " :AP", true )

StringTokenizer und Datei-Input

Üblicherweise kommt die Eingabe für ein Programm aus einer Datei oder vom Anwender. Die Klasse StringTokenizer ist nützlich, indem sie den Input in einzelne Datenstücke zerlegt. Zum Beispiel angenommen, dass ein Programm Integer aufaddieren soll und, dass es mehrere Integer pro Eingabezeile geben kann:

C:\data\javaNotes>java AddiereAuf
Bitte die Daten eingeben:
12  8  5  32
Die Summe ist: 57

Das ist für den Anwender zweckmäßiger als einen Integer pro Zeile einzugeben. Hier ist ein Grundgerüst des Programms, das dies tut:

import java.util.* ;
import java.io.* ;

public class AddiereAuf
{

  public static void main ( String[] args ) throws IOException
  {
    StringTokenizer tok;
    int summe = 0;

    BufferedReader inData = new BufferedReader
        ( new InputStreamReader( System.in ) );

    System.out.println("Bitte die Daten eingeben:" );
    String inString = inData.readLine();
    tok = new StringTokenizer( _________________ );

    while ( tok._____________________() )
    {
      String intStr = tok._______________() ;
      int    zahl   = Integer.____________( intStr );
      summe        += zahl;
    }

    System.out.println("Summe ist: " + summe );
  }
}

FRAGE 19:

Füllen Sie die Lücken aus.

Inhaltsverzeichnis