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;
}
}
"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
Zauważono, ja tylko patrzę na dostarczony przykład. Oczywiście w podanym przykładzie był FileInputStream, czy istnieje odpowiednik ze skanera? – SomeStudent