2016-06-08 12 views
6

Próbuję wrócić do Javy po wykonaniu C++ przez jakiś czas, postanowiłem ćwiczyć, przepisując moje programy w C++ na Javę. Teraz w moim programie Min Max mam następujące wiersze kodu:Czy Java ma odpowiednik StringStream?

//C++ Code Sample 
    getline(cin,mystr); 
    stringstream(mystr) >> value; 

    max = value; 
    min = value; 

    stringstream stream(mystr); 

     while(stream >> value) 
     { 
     if(value > max) 
     { 
      max = value; 
     } 
     else if(value < min) 
     { 
      min = value; 
     } 
     } 

Teraz getline jest równoważne użyciu klasy skanera, ale co z stringstream? Podczas wyszukiwania widziałem ludzi, którzy wspominali o InputStream, ale to wydaje się być związane z odczytaniem z pliku, np. http://www.tutorialspoint.com/java/io/inputstream_read.htm.

Tak więc zastanawiałem się, czy mogę uzyskać podobną funkcjonalność? Mógłbym oczywiście poprosić użytkownika o określenie ile wejść chce wprowadzić, a następnie po prostu wypełnić tablicę; ale to wydaje się niezręczne.

Aktualizacja:

stworzyłem krótki obejść ten działa następująco:

String in = ""; 

      while(true) 
      { 

       in = input.nextLine(); 
       if(in.equalsIgnoreCase("DONE")) 
       { 
        break; 
       } 
       value = Integer.parseInt(in); 

       if(value > max) 
       { 
        max = value; 
       } 
       else if(value < min) 
       { 
        min = value; 
       } 
      } 
+1

"ale wydaje się, że jest to związane z odczytem z pliku" Nie, może to być dowolny strumień, w tym sieć, odczytywanie tablicy bajtów i tak dalej. – hexafraction

+0

Zauważono, ja tylko patrzę na dostarczony przykład. Oczywiście w podanym przykładzie był FileInputStream, czy istnieje odpowiednik ze skanera? – SomeStudent

Odpowiedz