⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html-html2.html

📁 经典的数据结构源代码(java 实现)
💻 HTML
字号:
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre>  <font color = #ff0080>/** Test if stripped tag1 matches closing tag2 (first character is '/'). */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> <font color=#8000a0><font color=#8000a0>boolean</font> </font><font color=#0000ff>areMatchingTags</font>(<font color=#8000a0>String</font> tag1, <font color=#8000a0><font color=#8000a0>String</font> </font>tag2) {    <font color=#8000a0><font color=#ff8000>return</font> </font>tag1.<font color=#0000ff>equals</font>(tag2.<font color=#0000ff>substring</font>(1)); <font color=#ff0080>// test against name after '/'</font>  }  <font color = #ff0080>/** Test if every opening tag has a matching closing tag. */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> <font color=#8000a0><font color=#8000a0>boolean</font> </font><font color=#0000ff>isHTMLMatched</font>(<font color=#8000a0>String</font>[] tag) {    Stack&lt;<font color=#8000a0>String</font>&gt; S = <font color=#8000a0><font color=#ff8000>new</font> </font>NodeStack&lt;<font color=#8000a0>String</font>&gt;<font color=#0000ff></font>();	<font color=#ff0080>// Stack for matching tags</font>    <font color=#ff8000>for</font><font color=#0000ff> </font>(<font color=#8000a0>int</font> i = 0;<font color=#0000ff> </font>(i &lt; tag.length) &&<font color=#0000ff> </font>(tag[i] != null); i++) {      <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>isOpeningTag</font>(tag[i]))	S.<font color=#0000ff>push</font>(tag[i]); <font color=#ff0080>// opening tag; push it on the stack</font>      <font color=#ff8000>else</font> {	<font color=#ff8000>if</font><font color=#0000ff> </font>(S.<font color=#0000ff>isEmpty</font>()) 	  <font color=#8000a0><font color=#ff8000>return</font> </font>false;		<font color=#ff0080>// nothing to match</font>	<font color=#ff8000>if</font><font color=#0000ff> </font>(!<font color=#0000ff>areMatchingTags</font>(S.<font color=#0000ff>pop</font>(), tag[i]))	  <font color=#8000a0><font color=#ff8000>return</font> </font>false; 	<font color=#ff0080>// wrong match</font>	}      }    <font color=#ff8000>if</font><font color=#0000ff> </font>(S.<font color=#0000ff>isEmpty</font>()) <font color=#8000a0><font color=#ff8000>return</font> </font>true; <font color=#ff0080>// we matched everything</font>    <font color=#8000a0><font color=#ff8000>return</font> </font>false; <font color=#ff0080>// we have some tags that never were matched</font>  }  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>final</font> <font color=#8000a0><font color=#8000a0>static</font> </font><font color=#8000a0>int</font> CAPACITY = 1000; <font color=#ff0080>// Tag array size</font>  <font color = #ff0080>/* Parse an HTML document into an array of html tags */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> <font color=#8000a0>String</font>[] <font color=#0000ff>parseHTML</font>(Scanner s) {    <font color=#8000a0>String</font>[] tag = <font color=#8000a0><font color=#ff8000>new</font> </font><font color=#8000a0>String</font>[CAPACITY]; <font color=#ff0080>// our tag array (initially all null)</font>    <font color=#8000a0><font color=#8000a0>int</font> </font>count = 0;			<font color=#ff0080>// tag counter</font>    <font color=#8000a0><font color=#8000a0>String</font> </font>token;			<font color=#ff0080>// token returned by the scanner s</font>    <font color=#ff8000>while</font><font color=#0000ff> </font>(s.<font color=#0000ff>hasNextLine</font>()) {      <font color=#ff8000>while</font><font color=#0000ff> </font>(<font color=#0000ff></font>(token = s.<font color=#0000ff>findInLine</font>(<font color=#008000>"&lt;[^&gt;]*&gt;"</font>)) != null)  <font color=#ff0080>// find the next tag</font>        tag[count++] = <font color=#0000ff>stripEnds</font>(token); <font color=#ff0080>// strip the ends off this tag</font>      s.<font color=#0000ff>nextLine</font>(); <font color=#ff0080>// go to the next line </font>    }    <font color=#8000a0><font color=#ff8000>return</font> </font>tag; <font color=#ff0080>// our array of (stripped) tags </font>  }  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> <font color=#8000a0><font color=#8000a0>void</font> </font><font color=#0000ff>main</font>(<font color=#8000a0>String</font>[] args) <font color=#8000a0><font color=#ff8000>throws</font> </font>IOException { <font color=#ff0080>// tester</font>    <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>isHTMLMatched</font>(<font color=#0000ff>parseHTML</font>(<font color=#ff8000>new</font> <font color=#0000ff>Scanner</font>(System.in))))      System.out.<font color=#0000ff>println</font>(<font color=#008000>"The input file is a matched HTML document."</font>);    <font color=#ff8000>else</font>      System.out.<font color=#0000ff>println</font>(<font color=#008000>"The input file is not a matched HTML document."</font>);  }}</dl></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -