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

扫描仪不是您的工具,因为“”是单独的标记。

您需要逐个字符地扫描输入,如果您在标签内,则使用标志。类似的东西(伪代码)

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 回答