exception in thread main java.lang.NullPointerException at java.awt.Container.addImpl怎么改?
importjava.lang.*;importjava.util.*;importjava.io.*;importjava.awt.*;importjava.awt.e...
import java.lang.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Compare
{
public static void main(String args[])
{
new CompareDaxiao();
}
static class CompareDaxiao extends Frame implements ActionListener
{
Label prompt,result1,result2;
TextField input;
int max,min,i;
int[]m=new int[10];
String s;
String[]ss=new String[10]; //读入的文本以字符串的形式储存在s里
Button b1,b2;
CompareDaxiao()
{
super("10个整数的最大值和最小值"); //设置标题
prompt=new Label("请在数字与数字之间以空格格开"); //设置提示标签
input=new TextField(40); //创建新的文本输入框
b1=new Button("比较");
b2=new Button("关闭"); //创建按键
setLayout(new FlowLayout()); //用来设定标签和文本框的位置安排的布局
add(prompt);
add(input);
add(b1);add(b2);
add(result1);
add(result2); //按add()的顺序添加元素到图形界面
input.addActionListener(this); //设置监听
b1.addActionListener(this);
b2.addActionListener(this);
setSize(500,200);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
s=input.getText();
ss=s.split(" ");
try
{
for(i=0;i<=9;i++)
{
m[i]=Integer.parseInt(ss[i]);
}
if((e.getSource()==input)||(e.getSource()==b1)) //如果是以回车或者点击“确定”结束输入的话
{
Arrays.sort(m); //利用util包里的方法,从小到大排列入原整型数组里
result1.setText("最大的数是:"+m[9]);
result2.setText("最小的数是:"+m[0]);
}
else if(e.getSource()==b2)
{
dispose();
System.exit(0); //结束程序
}
}
catch(Exception e1)
{
input.setText(" ");
javax.swing.JOptionPane.showMessageDialog(null,"输入格式错误!请重新输入!");
}
}
}
}
编译正确,但是运行有误,提示说:
Exception in thread "main"java.lang.NullPointerException
at java.awt.Container.addImpl<Container.java:1027>
at java.awt.Container.add<Container.java:352>
at Compare$CompareDaxiao.<init><Compare.java:33>
at Compare.main<Compare.java:11> 展开
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Compare
{
public static void main(String args[])
{
new CompareDaxiao();
}
static class CompareDaxiao extends Frame implements ActionListener
{
Label prompt,result1,result2;
TextField input;
int max,min,i;
int[]m=new int[10];
String s;
String[]ss=new String[10]; //读入的文本以字符串的形式储存在s里
Button b1,b2;
CompareDaxiao()
{
super("10个整数的最大值和最小值"); //设置标题
prompt=new Label("请在数字与数字之间以空格格开"); //设置提示标签
input=new TextField(40); //创建新的文本输入框
b1=new Button("比较");
b2=new Button("关闭"); //创建按键
setLayout(new FlowLayout()); //用来设定标签和文本框的位置安排的布局
add(prompt);
add(input);
add(b1);add(b2);
add(result1);
add(result2); //按add()的顺序添加元素到图形界面
input.addActionListener(this); //设置监听
b1.addActionListener(this);
b2.addActionListener(this);
setSize(500,200);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
s=input.getText();
ss=s.split(" ");
try
{
for(i=0;i<=9;i++)
{
m[i]=Integer.parseInt(ss[i]);
}
if((e.getSource()==input)||(e.getSource()==b1)) //如果是以回车或者点击“确定”结束输入的话
{
Arrays.sort(m); //利用util包里的方法,从小到大排列入原整型数组里
result1.setText("最大的数是:"+m[9]);
result2.setText("最小的数是:"+m[0]);
}
else if(e.getSource()==b2)
{
dispose();
System.exit(0); //结束程序
}
}
catch(Exception e1)
{
input.setText(" ");
javax.swing.JOptionPane.showMessageDialog(null,"输入格式错误!请重新输入!");
}
}
}
}
编译正确,但是运行有误,提示说:
Exception in thread "main"java.lang.NullPointerException
at java.awt.Container.addImpl<Container.java:1027>
at java.awt.Container.add<Container.java:352>
at Compare$CompareDaxiao.<init><Compare.java:33>
at Compare.main<Compare.java:11> 展开
3个回答
展开全部
空指针异常,把Label prompt,result1,result2改成 Label prompt,result1=new Label(),result2=new Label(); 这个东西你不自己new是不得帮你new的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空指针异常 啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |