当前位置: 代码迷 >> Java相关 >> 看看这个小程序错在哪?
  详细解决方案

看看这个小程序错在哪?

热度:234   发布时间:2006-06-17 17:59:35.0
看看这个小程序错在哪?

两个数在按下按钮时相加,用消息框显示和数
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Caculator extends JFrame implements ActionListener{

/**
* @param args
*/
public Caculator(){
super("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField num0=new JTextField(5);
JTextField num1=new JTextField(5);
JButton button=new JButton("计算");
JPanel p=new JPanel();
//num0.setEditable(true);
//num1.setEditable(true);
button.addActionListener(this);

p.add(num0);
p.add(num1);
p.add(button);
setContentPane(p);
pack();
setVisible(true);

}
public static void main(String[] args) {
// TODO Auto-generated method stub
Caculator cl=new Caculator();
}

public void actionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
int sum=Integer.parseInt(num0.getText())+Integer.parseInt(num1.getText()); //这里总是提示

num0,num1 can not be solved,为什么啊?
JOptionPane.showMessageDialog(null,sum+"");
}

}

搜索更多相关的解决方案: 计算  public  button  import  

----------------解决方案--------------------------------------------------------

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Caculator extends JFrame implements ActionListener{

/**
* @param args
*/
private JTextField num0,num1;

public Caculator(){
super("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField num0=new JTextField(5);
JTextField num1=new JTextField(5);
JButton button=new JButton("计算");
JPanel p=new JPanel();
//num0.setEditable(true);
//num1.setEditable(true);
button.addActionListener(this);

p.add(num0);
p.add(num1);
p.add(button);
setContentPane(p);
pack();
setVisible(true);

}
public static void main(String[] args) {
// TODO Auto-generated method stub
Caculator cl=new Caculator();
}

public void actionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
int sum=Integer.parseInt(num0.getText())+Integer.parseInt(num1.getText()); //这里总是提示

JOptionPane.showMessageDialog(null,sum+"");
}

}


----------------解决方案--------------------------------------------------------

你写的代码格式真是 很乱,要看好的代码,养好的风格

以后不要出这样的小错了!!


----------------解决方案--------------------------------------------------------
我2楼代码没改完

public class Caculator extends JFrame implements ActionListener{

/**
* @param args
*/
private JTextField num0,num1;

public Caculator(){
super("计算");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
num0=new JTextField(5);
num1=new JTextField(5);
JButton button=new JButton("计算");
JPanel p=new JPanel();
//num0.setEditable(true);
//num1.setEditable(true);
button.addActionListener(this);

p.add(num0);
p.add(num1);
p.add(button);
setContentPane(p);
pack();
setVisible(true);

}


----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------

楼主知道为什么要这样改吗`?
这是关于一个作用域的问题`
`


----------------解决方案--------------------------------------------------------
shiyide 还卖关子啊 呵呵
----------------解决方案--------------------------------------------------------
呵呵。那是个作用域的问题,
你要在其他方法里使用变量。
就应该把变量声明在方法外面。
这样才能使这个类中的所有方法都能共用。
----------------解决方案--------------------------------------------------------
有道理,这也是关于基础的变量作用域的问题
一般来说,在很多方法里面都要用到的变量最好声明成成员变量
如果只是本方法需要的话,还是在方法里面声明好一些,这样效率更高

----------------解决方案--------------------------------------------------------

明白了 谢谢各位


----------------解决方案--------------------------------------------------------
  相关解决方案