Java 如何在JSP中使用带有用户定义函数的类
我用java创建了一个程序,可以计算word中的整数输入,例如,123=123=123,它运行良好。但当我尝试在JSP中使用它时,它显示了一些错误 我是JSP新手,请帮帮我 我的完整代码如下Java 如何在JSP中使用带有用户定义函数的类,java,jsp,Java,Jsp,我用java创建了一个程序,可以计算word中的整数输入,例如,123=123=123,它运行良好。但当我尝试在JSP中使用它时,它显示了一些错误 我是JSP新手,请帮帮我 我的完整代码如下 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta htt
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Show Output</title>
</head>
<body>
<p>The number you entered is<br>
<%!
public class NumberToWord {
int a, b;
String output;
String[] zeroToNineteen = new String[]{"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Tleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"};
String[] twentyToNinetynine = new String[]{null, null, "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};
String h="100";
public String numberToWord(String get) {
get=h;
int number = Integer.parseInt(get);
if (number >= 0 && number < 20) {
output = oneToNineteen(number);
} else if (number >= 20 && number < 100) {
output = bellowHundred(number);
} else if (number >= 100 && number < 1000) {
output = bellowThousand(number);
} else if (number >= 1000 && number < 100000) {
output = thousands(number);
} else if (number >= 100000 && number < 10000000) {
output = lacs(number);
} else if (number >= 10000000) {
output = crore(number);
}
return output;
}
public String oneToNineteen(int b) {
output = zeroToNineteen[b];
return output;
}
public String bellowHundred(int number) {
if (number >= 0 && number < 20) {
if (number == 0) {
output = "";
} else {
output = oneToNineteen(number);
}
} else if (number >= 20 && number < 100) {
a = number / 10;
b = number % 10;
if (b == 0) {
output = twentyToNinetynine[a];
} else {
output = twentyToNinetynine[a] + oneToNineteen(b);
}
}
return output;
}
public String bellowThousand(int number) {
a = number / 100;
if (a == 0) {
output = "";
} else {
output = zeroToNineteen[a] + " Hundred ";
}
b = number % 100;
output = output + bellowHundred(b);
return output;
}
public String thousands(int number) {
a = number / 1000;
if (a >= 0 && a < 20) {
if (a == 0) {
output = "";
} else {
output = zeroToNineteen[a] + " Thousand ";
}
} else {
output = bellowHundred(a) + " Thousand ";
}
b = number % 1000;
output = output + bellowThousand(b);
return output;
}
public String lacs(int number) {
a = number / 100000;
if (a >= 0 && a < 20) {
if (a == 0) {
output = "";
} else {
output = zeroToNineteen[a] + " Lac ";
}
} else {
output = bellowHundred(a) + " Lac ";
}
b = number % 100000;
if (b == 0) {
output = output + "";
} else {
output = output + thousands(b);
}
return output;
}
public String crore(int number) {
a = number / 10000000;
if (a >= 0 && a < 20) {
if (a == 0) {
output = "";
} else {
output = zeroToNineteen[a] + " Crore ";
}
} else if (a >= 20 && a < 100) {
output = bellowHundred(a) + " Crore ";
} else {
output = bellowThousand(a) + " Crore ";
}
b = number % 10000000;
if (b == 0) {
output = output + "";
} else {
output = output + lacs(b);
}
return output;
}
}
%>
<%
NumberToWord display=new NumberToWord();
String show=display.output;
out.write("You have entered "+show);
%>
</p>
</body>
</html>
显示输出
您输入的号码是
=0&&number<20){
输出=oneToNineteen(数字);
}否则,如果(编号>=20&&number<100){
输出=100(个);
}否则,如果(编号>=100&&number<1000){
输出=1000(个);
}否则,如果(数量>=1000和数量<100000){
产量=千(个);
}否则,如果(数量>=100000&&number<10000000){
输出=lacs(数量);
}否则,如果(数量>=10000000){
输出=crore(数字);
}
返回输出;
}
公共字符串oneToNineteen(int b){
输出=Zerotonieen[b];
返回输出;
}
公共字符串BellowHund(整数){
如果(编号>=0&&number<20){
如果(数字==0){
输出=”;
}否则{
输出=oneToNineteen(数字);
}
}否则,如果(编号>=20&&number<100){
a=数字/10;
b=数字%10;
如果(b==0){
输出=二十吨乙二醇[a];
}否则{
输出=二十吨碱[a]+一吨碱(b);
}
}
返回输出;
}
公共字符串Bellow1000(整数){
a=每100人的人数;
如果(a==0){
输出=”;
}否则{
输出=zeroToNineteen[a]+“百”;
}
b=数量%100;
输出=输出+波纹管(b);
返回输出;
}
公共字符串千(整数){
a=每1000人的人数;
如果(a>=0&&a<20){
如果(a==0){
输出=”;
}否则{
输出=ZerotoneTeen[a]+“千”;
}
}否则{
输出=百(a)+“千”;
}
b=数量%1000;
输出量=输出量+波纹管(b);
返回输出;
}
公共字符串lacs(整数){
a=每100000人的人数;
如果(a>=0&&a<20){
如果(a==0){
输出=”;
}否则{
输出=零色调元素[a]+“Lac”;
}
}否则{
输出=百分之一百(a)+“Lac”;
}
b=数量%100000;
如果(b==0){
输出=输出+“”;
}否则{
产量=产量+千(b);
}
返回输出;
}
公共字符串字符(整数){
a=数字/10000000;
如果(a>=0&&a<20){
如果(a==0){
输出=”;
}否则{
输出=Zerotonieen[a]+“Crore”;
}
}否则,如果(a>=20&&a<100){
输出=百分之一百(a)+“克”;
}否则{
输出=千(a)+“克”;
}
b=数量%10000000;
如果(b==0){
输出=输出+“”;
}否则{
输出=输出+lacs(b);
}
返回输出;
}
}
%>
请建议我,我如何才能使这个代码工作
提前感谢:)将类移动到自己的文件中。这是不需要的,, 但为了重用,并保持视图和逻辑分离
package abc.def;
public class NumberToWord {
然后导入该类
<%@page contentType="text/html" pageEncoding="UTF-8"
import="abc.def.NumberToWord"
%>
<%
NumberToWord ntw = new NumberToWord();
...
在jsp中使用Scriptlet中的Java代码不是一个好主意,但无论如何。。。你是怎么运行的?哎呀,我忘了添加那个语句了<代码>一些错误
但是什么错误?
它不会显示数字的输出,例如,如果我们在“NumverToWords”类中为get参数取一个值“10”,则标题表示与问题正文完全不同的内容。