0

私はプログラミングが初めてで、Javaの学習を始めたばかりです。HTML ファイルを開いて、タグごと、コンテンツごとに分割したいと思います。

Scanner を使用してスキャンし、hasNext() をチェックする方法を学びましたが、スペースのみをチェックすることがわかりました。

Scanner input = new Scanner (new FileReader("simple.html"));
while (input.hasNext())
{   
String content = input.next().toString();
System.out.println(content);
}

問題は...

//INPUT
<html><head><title>Hello</title></head>
<body>
<table border=1>
Hello World!
</table>
</body>
</html>

//DESIRED OUTPUT
<html>
<head>
<title>
Hello
</title>
</head>
<body>
<table border=1>
Hello
World!
</table>
</body>
</html>

//WHAT MY CODE OUTPUTS
<html><head><title>Hello</title></head>
<body>
<table
border=1>
Hello
World!
</table>
</body>
</html

誰でも私を助けることができますか?私は立ち往生しています。ステップバイステップのガイドをいただければ幸いです。

そのようなことを自動化するサードパーティのプログラムを見たことがありますが、「コーディング方法」を学びたいと思います。私はプログラミング、特に Java を独学で勉強しようとしています...

どうもありがとう!:)

4

1 に答える 1

1

"" は別のトークンであるため、スキャナーはこの場合のツールではありません。

タグ内にあるかどうかにかかわらず、フラグを付けて、入力文字を1文字ずつスキャンする必要があります。そのようなもの(疑似コード)

if char is > flag off
if char is < flag on
if char is whitespace and not flag than print ENDLINE
else if char is (ENDLINE or whitespace) and flag print whitespace
else print char

疑似コードからJavaを作ることで学べるようになりました。

于 2013-01-26T21:47:08.920 に答える