Mam zadanie "rozgrzewkowe" z automatów.
Napisać program, który dla każdego wierszu pobranego ze standardowego
wejścia wypisuje na standardowym wyjściu liczbę znaków w wierszu (bez
znaku końca wiersza), spację i wczytane wiersz.
Umiem zrobić tak aby wczytywało tekst i odpowiednio go zliczało. Umiem wczytać słowo i zaraz je wpisać wraz z liczbą znaków ze spacjami, umiem to zrobić wielokrotnie. Umiem wczytać n linijek, gdzie n jest liczbą wcześniej ustaloną i po zakończeniu wczytania kolejno wyświetlić słowa wraz z liczbą znaków które były w danej linijce.
Mam jednak problem aby wczytać n takich linijek, zakończyć wczytywanie i wyświetlić wynik.
Gdy używałam warunku że linijka, musi być pusta czyli text==null
pobiera każdą linijkę dopóki nie przepełni tablicy i program się wysypie. ctrl + d nie działa a to znak końca pliku z tego co się orientuję, jest jakiś znak końca wczytywania i jak go dać do warunku while?
import java.util.*;
public class wczytuje{
public static void main(String[] args)
{
String[] table1 = new String[5];
int i=0,u;
String text;
do{
Scanner input = new Scanner(System.in);
text = input.nextLine();
table1[i]=(text+" "+text.length());
i++;
}while(text!=null);
for(u=0;u<i;u++)
{
System.out.println(table1[u]);
}
}
Kiedy z kolei próbuje hasNext tzn text.hasNext() w while za radą znajomego, to uzyskuje taki o to błąd:
wczytuje.java:21: error: cannot find symbol
}while(text.hasNext());
^
symbol: method hasNext()
location: variable text of type String
1 error