RSS
热门关键字:  数据挖掘  数据仓库  商业智能  人工智能  搜索引擎

我想做一个加法的界面,但点击等于号就会报错,为什么呢?请各位高手帮我看看~

来源: 作者: 时间:2008-01-04 点击:

import   java.awt.*;
import   java.awt.event.*;

import   javax.naming.spi.DirStateFactory.Result;
import   javax.swing.*;

public   class   oneandtwo   {
public   static   void   main(String   args[])   {
frame   f   =   new   frame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
f.setResizable(false);
}
}

class   frame   extends   JFrame   {
TextField   num1,   num2;
int   sum;
String   s;
public   frame()   {
setTitle("加法");
setSize(220,   50);
setBounds(300,   300,   220,   50);
JTextField   num1   =   new   JTextField(10);
JTextField   num2   =   new   JTextField(10);
JTextField   num3   =   new   JTextField(10);
JLabel   plus   =   new   JLabel("+");

数据挖掘研究院


JButton   equal   =   new   JButton("=");
JPanel   jpanel   =   new   JPanel();
jpanel.setLayout(new   GridLayout(1,   5));
jpanel.add(num1);
jpanel.add(plus);
jpanel.add(num2);
jpanel.add(equal);
jpanel.add(num3);
Container   c   =   getContentPane();
c.add(jpanel);
equal.addActionListener(new   action1());
}

class   action1   implements   ActionListener   {
public   void   actionPerformed(ActionEvent   e)   {
int   n1   =   Integer.parseInt(num1.getText().trim());
int   n2   =   Integer.parseInt(num2.getText().trim());
sum=   n1   +   n2;
s   =   new   String(""   +   sum);
num3.setText(s);
}
}

}

我这里有个计算器的例子,你参考吧

http://www.java2000.net/viewthread.jsp?tid=194

修改后的代码,变动有几个 数据挖掘研究院

Java code
import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class Oneandtwo { public static void main(String args[]) { frame f = new frame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); // .show 改为这个 f.setResizable(false); } } class frame extends JFrame { JTextField num1, num2, num3; // 声明3个JTextField int sum; String s; public frame() { setTitle("加法"); setSize(220, 50); setBounds(300, 300, 220, 50); num1 = new JTextField(10); // 这三个就不要再声明了,否则后面的class里面拿不到 num2 = new JTextField(10); num3 = new JTextField(10); JLabel plus = new JLabel("+"); JButton equal = new JButton("="); JPanel jpanel = new JPanel(); jpanel.setLayout(new GridLayout(1, 5)); jpanel.add(num1); jpanel.add(plus); jpanel.add(num2); jpanel.add(equal); jpanel.add(num3); Container c = getContentPane(); c.add(jpanel); equal.addActionListener(new action1()); } class action1 implements ActionListener { public void actionPerformed(ActionEvent e) { int n1 = Integer.parseInt(num1.getText().trim()); int n2 = Integer.parseInt(num2.getText().trim()); sum = n1 + n2; s = new String("" + sum); num3.setText(s); } } }
数据挖掘研究院

注意变量声明以及使用域。
楼上的答案已经没有悬念了。

package   com.test;

import       java.awt.*;  
import       java.awt.event.*;  

import       javax.naming.spi.DirStateFactory.Result;  
import       javax.swing.*;  

public   class   Oneandtwo   {
public   static   void   main(String   args[])   {
Frame   f   =   new   Frame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
f.setResizable(false);
}
}

class   Frame   extends   JFrame   {
JTextField   num1,num2,num3;

int   sum;

String   s;

public   Frame()   {
setTitle("加法");
setSize(220,   50);
setBounds(300,   300,   220,   50);

数据挖掘研究院


num1   =   new   JTextField(10);
num2   =   new   JTextField(10);
num3   =   new   JTextField(10);
JLabel   plus   =   new   JLabel("+");
JButton   equal   =   new   JButton("=");
JPanel   jpanel   =   new   JPanel();
jpanel.setLayout(new   GridLayout(1,   5));
jpanel.add(num1);
jpanel.add(plus);
jpanel.add(num2);
jpanel.add(equal);
jpanel.add(num3);
Container   c   =   getContentPane();
c.add(jpanel);
equal.addActionListener(new   Action1());
}

class   Action1   implements   ActionListener   {
public   void   actionPerformed(ActionEvent   e)   {
int   n1   =   Integer.parseInt(num1.getText().trim());
int   n2   =   Integer.parseInt(num2.getText().trim());
sum   =   n1   +   n2;
s   =   new   String(""   +   sum);
num3.setText(s);
}
}

}

感谢楼上的帮助,终于跑出来啦~
不过楼上的import那么多包好像没有必要哦~
还是感谢感谢呀~

trim()是起什么作用呢?api里还没翻到

回楼上的,trim()是除掉前后的空格,比如你的
   

Java code
String s =" " + "sss" + " ";

数据挖掘实验室


  你用s.trim()后就把前面和后面的空格去掉了。

Create By Any-Extract(WL-AE)

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?