なんらかの理由で、入力したものはすべて空の行を取得し続け、入力を読み取り、不要な空白をすべて削除するプログラムを作成しようとしていますが、各単語の間に1つのスペースがあります。次に、すべての行を印刷します。
センチネルを使用して停止することはありません。
import java.util.Scanner ;
import java.lang.Character;
import java.lang.String ;
public class trim
{
public static void main (String[]args)
{
String SongName = " " ;
String Song = " " ;
int i = 0 ;
int count = 0 ;
Scanner scan = new Scanner(System.in);
while(scan.hasNextLine())
{
count++;
scan.nextLine();
}
for ( ; i < count ; i ++)
{
if (scan.hasNext())
{
SongName =scan.nextLine() ;
SongName = SongName.trim() ;
SongName = SongName.replaceAll("\\s+"," ");
if (Song== " " )
{
Song = SongName;
}
else
{
Song = Song + "\n" +SongName ;
}
}
System.out.println(Song) ;
}
}
}