【发布时间】:2014-04-03 05:16:31
【问题描述】:
我正在我的机器上运行一个简单的小程序。请注意,当小程序尝试运行时,执行小程序时会出现“数字格式异常”错误。 如下代码所示
import java.util.*;
import java.awt.*;
import java.applet.*;
<html>
<body>
<applet code="s09_03.class" width=400 height=400>
</applet>
</body>
</html>
public class s09_03 extends Applet
{
GregorianCalendar cal=new GregorianCalendar();
String s,s1,s2,s3,s4;
int a=0,b=0,c=0,d=0;
public void start(){s=getParameter("fg");
s1=getParameter("as");
s2=getParameter("as1");
s3=getParameter("as2");
s4=getParameter("as3");
a=Integer.parseInt(s1);
b=Integer.parseInt(s2);
c=Integer.parseInt(s3);
d=Integer.parseInt(s4);
}
public void init()
{
}
public void paint(Graphics g)
{
if(s.equals("red"))g.setColor(Color.red);g.drawRect(a,b,c,d);
g.drawString("Color = "+"",25,25);
g.drawString("Calendar is"+cal.DATE+"/"+cal.MONTH+"/"+cal.YEAR,34,36);
}
}
使用的命令是
javac s09_03.java
and
appletviewer s09_03.java
终端输出:
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:443)
at java.lang.Integer.parseInt(Integer.java:514)
at s09_03.start(s09_03.java:22)
at sun.applet.AppletPanel.run(AppletPanel.java:477)
at java.lang.Thread.run(Thread.java:701).
所以我的问题是为什么会出现这个错误,它通常在什么时候出现?还建议对代码进行一些必要的更改,以便代码运行时不会出现任何错误。请注意,代码是通过 linux 运行的...谢谢.. .
~
【问题讨论】:
-
为什么会发生 - 您的参数(或多个参数)不能转换为
Integer。你如何解决它?始终将整数值传递给这些参数。 -
1) 为什么要编写小程序?如果是由于规范。老师请发给Why CS teachers should stop teaching Java applets。 2) 为什么选择 AWT 而不是 Swing?请参阅我在 Swing extras over AWT 上的回答,有很多放弃使用 AWT 组件的充分理由。
标签: java applet init numberformatexception