私はインターフェイスの列挙を使用するjspを作成しました。 jspは正常に動作しますが、プログラムをオーバーライドせずにオーバーライドするクラスを使用しないと、プログラムでhasMoreElements()
とnextElement()
の両方のメソッドを使用する方法がわかりません。インターフェースメソッドはボディを持たないはずです、そうですか?ライン上のInterface Enumerationメソッドをオーバーライドせずに使用できるのはなぜですか?
<%@page import="java.util.*"%>
<%
char respuesta;
int g=0; //Gryffindor
int r=0; //Ravenclaw
int h=0; //Hufflepuff
int s=0; //Slytherin
String valorParametro;
Enumeration e=request.getParameterNames();
try {
while (e.hasMoreElements()) {
valorParametro=request.getParameter(e.nextElement().toString());
respuesta=valorParametro.charAt(0);
switch(respuesta) {
case 'A':
out.write("Un punto para Gryffindor...<br>");
g++; break;
case 'B':
out.write("Un punto para Ravenclaw...<br>");
r++; break;
case 'C':
out.write("Un punto para Hufflepuff...<br>");
h++; break;
case 'D':
out.write("Un punto para Slytherin...<br>");
s++; break;
}
}
} catch (Exception ex) {out.write(e.toString());}
out.write("Y tu casa es...");
if (g>r && g>s && g>h) {out.write(" ¡GRYFFINDOR!");}
else if (r>g&&r>s&&r>h) {out.write(" ¡RAVENCLAW!");}
else if (h>g&&h>s&&h>r) {out.write(" ¡HUFFLEPUFF!");}
else if (s>g&&s>r&&s>h) {out.write(" ¡SLYTHERIN!");}
else {out.write(" Chico, el sombrero no sabe qué decir.");}
%>