当前位置: 代码迷 >> Eclipse >> java小应用程序未初始化,该怎么处理
  详细解决方案

java小应用程序未初始化,该怎么处理

热度:101   发布时间:2016-04-23 13:31:43.0
java小应用程序未初始化
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:470)
at java.lang.Integer.parseInt(Integer.java:499)
at JudgeNumber.<init>(JudgeNumber.java:22)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:785)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:714)
at sun.applet.AppletPanel.run(AppletPanel.java:368)
at java.lang.Thread.run(Thread.java:662)
我的代码如下:(求高人指点)
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

@SuppressWarnings("serial")
public class JudgeNumber extends Applet implements ActionListener
{
   
TextField field1=new TextField(20);
  TextField field2=new TextField(50);
  Button bu=new Button("判断");
public void init()
  {
field1.setEditable(true);
field2.setEditable(false);
add(field1);
add(field2);
add(bu);
bu.addActionListener(this);
  }
   
  int a=Integer.parseInt(field1.getText());
  
  @Override
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bu)
{
boolean flag = true;
for(int i=a-1;i>1;i--)
if(a%i==0)
flag=false;
if(flag)
field2.setText("你给的数是素数!");
else 
field2.setText("你给的数不是素数!");
}

}
   
   
 }


------解决方案--------------------
int a=Integer.parseInt(field1.getText());
程序启动时,field1没有任何字符,所有是"",不能转为int型。
你可以给field1一个默认值为"0";
  相关解决方案