JAVA高手来帮帮我

求和工具。编写一个程序,在第一个文本框中输入第一个加数;第二个文本框中输入第二个加数;当单击第三个“=”按钮时,在第三个文本框中显示出前两个加数之和。(要求是一个界面表示出这道题)

import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.JButton;

public class GetSum extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JTextField first = null;

private JLabel plus = null;

private JTextField second = null;

private JButton getBt = null;

private JTextField sum = null;

private JButton clearBt = null;

private JTextField getFirst() {
if (first == null) {
first = new JTextField();
first.setText("0");
first.setBounds(new Rectangle(5, 19, 80, 22));
}
return first;
}

private JTextField getSecond() {
if (second == null) {
second = new JTextField();
second.setText("0");
second.setBounds(new Rectangle(106, 19, 80, 22));
}
return second;
}

private JButton getGetBt() {
if (getBt == null) {
getBt = new JButton("=");
getBt.setBounds(new Rectangle(185, 19, 44, 22));
getBt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int firstNum = Integer.parseInt(first.getText().trim());
int secondNum = Integer.parseInt(second.getText().trim());
int sumNum = firstNum + secondNum;
sum.setText(""+sumNum);
}
});
}
return getBt;
}

private JTextField getSum() {
if (sum == null) {
sum = new JTextField();
sum.setEditable(false);
sum.setBounds(new Rectangle(229, 19, 102, 22));
}
return sum;
}

private JButton getClearBt() {
if (clearBt == null) {
clearBt = new JButton();
clearBt.setBounds(new Rectangle(138, 58, 64, 18));
clearBt.setText("清空");
clearBt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
first.setText("0");
second.setText("0");
sum.setText("");
}
});
}
return clearBt;
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GetSum thisClass = new GetSum();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

public GetSum() {
super();
initialize();
this.setResizable(false);
}

private void initialize() {
this.setBounds(100, 300, 354, 118);
this.setContentPane(getJContentPane());
this.setTitle("求和");
}

private JPanel getJContentPane() {
if (jContentPane == null) {
plus = new JLabel();
plus.setBounds(new Rectangle(84, 21, 23, 18));
plus.setHorizontalAlignment(SwingConstants.CENTER);
plus.setText("+");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getFirst(), null);
jContentPane.add(plus, null);
jContentPane.add(getSecond(), null);
jContentPane.add(getGetBt(), null);
jContentPane.add(getSum(), null);
jContentPane.add(getClearBt(), null);
}
return jContentPane;
}

}
是不是要这样的啊?呵呵.
不过,要是输入的不是数字的话可不行啊,因为我没有判断输入的是不是数字,你可以自己添加方法。还有,我只是用了整型的数字,你可以改成double类型的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-06
无分...茫然...
第2个回答  2008-12-06
去网上下载计算器程序源代码用java的写的
第3个回答  2008-12-06
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;

public class Coin extends JFrame{
//总框架
public Coin(){
setTitle("投币游戏");
CoinPanel panel = new CoinPanel();

add(panel);
pack();
}
public static void main(String[] args){
Coin coin = new Coin();
coin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
coin.setVisible(true);
}

}

//创建版面
class CoinPanel extends JPanel{
private JButton display1 = new JButton("正面数:");
private JButton display2 = new JButton("反面数:");
private JButton display3 = new JButton("差面数:");
private JButton display4 = new JButton("0");
private JButton display5 = new JButton("0");
private JButton display6 = new JButton("0");
private JPanel pan;
private JPanel panel1;//输入面版
private JPanel panel2;//显示面版
private boolean start;//开始标志
JTextField tf1 ;
JTextField tf2 ;

//static Integer a;

public CoinPanel(){
setLayout(new BorderLayout());
tf1 = new JTextField(10);
tf2 = new JTextField(10);
JButton bt1 = new JButton("开 始");
JButton bt2 = new JButton("开 始");

JPanel panel_tf1 = new JPanel( );
JPanel panel_tf2 = new JPanel( );
panel_tf1.add(tf1);
panel_tf2.add(tf2);

panel_tf1.setBorder(new TitledBorder("投币次数"));
panel_tf2.setBorder(new TitledBorder("正方面差数"));
JPanel pan = new JPanel(new FlowLayout(FlowLayout.CENTER));

//pan.add(panel_tf3);
//tf1.getText();
//创建事件侦听对象
bt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
//System.out.print(tf1.getText());
int input1 = Integer.parseInt(tf1.getText());
//String input1 = tf1.getText();
//String input2 = tf2.getText();
int Z=0,F=0;
double P = 0.5D;
Random random = new Random();
//int input1 =10;
for(int i=0;i<input1;i++){
double randomNum = random.nextDouble() ;
if(randomNum<=P){
Z++;
}else{
F++;
}
}
Integer a = new Integer(Z);
Integer b = new Integer(F);
Integer c = new Integer(Z-F);
display4.setText(a.toString());
display5.setText(b.toString());
display6.setText(c.toString());
// System.out.println(a.toString());

}
});
bt2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event) {
Random random = new Random();
int Z=0,F=0;
double P = 0.5D;
//int input2 = 3;
boolean B = true;
int input2 = Integer.parseInt(tf2.getText());
while(B){
double randomNum = random.nextDouble() ;
if(randomNum<=P){
Z++;
}else{
F++;
}
if(Z-F==input2){
B = false;
}
}
Integer a = new Integer(Z);
Integer b = new Integer(F);
Integer c = new Integer(Z-F);
display4.setText(a.toString());
display5.setText(b.toString());
display6.setText(c.toString());
//System.out.println(a.toString());

}
});

pan.add(panel_tf1);
pan.add(bt1);
pan.add(panel_tf2);
pan.add(bt2);

add(pan,BorderLayout.NORTH);

//添加数字及符号按钮的面板面板
panel1 = new JPanel();
panel1.setLayout(new GridLayout(3, 2));//设置面板布局为4行4列
//添加数字及符号按钮
display1.setEnabled(false);
panel1.add(display1);
display4.setEnabled(false);
panel1.add(display4);

display2.setEnabled(false);
panel1.add(display2);
display5.setEnabled(false);
panel1.add(display5);

display3.setEnabled(false);
panel1.add(display3);
display6.setEnabled(false);
panel1.add(display6);

add(panel1, BorderLayout.SOUTH);

}

}
我以前写的一个小投币,游戏,你稍微改下就可以了,有输入框,事件自己写吧!
第4个回答  2008-12-06
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class GetSum extends JFrame{
JPanel pane1=new JPanel();
JPanel pane2=new JPanel();
JPanel pane3=new JPanel();
JButton button=new JButton("=");
JTextField num1=new JTextField(10);
JTextField num2=new JTextField(10);
JTextField sum=new JTextField(10);
private GetSum(){
pane1.setLayout(new GridLayout(1,2,30,30));
pane1.add(num1);
pane1.add(num2);
pane1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"加数输入区"));
add(pane1,BorderLayout.NORTH);
pane2.add(button);
add(pane2,BorderLayout.CENTER);
pane3.add(sum);
pane3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"结果显示区"));
add(pane3,BorderLayout.SOUTH);
setSize(400,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
double a=Integer.parseInt(num1.getText());
double b=Integer.parseInt(num2.getText());
Double c=a+b;
sum.setText(c.toString());
}

});
}
public static void main(String[] args) {
new GetSum();
}
}
我写的比较简短些吧,(*^__^*) ……
不过我也没判断输入的是不是数字。不过我用的是double型哟!
第5个回答  2008-12-07
//以前我写过..后面删除了..呵呵..现在重新给你写个.你看看吧
//给你加了判断.这样就不会出错了..

import java.awt.Container;
import java.awt.FlowLayout;
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.JOptionPane;
import javax.swing.JTextField;

public class Test extends JFrame {
JTextField jt1, jt2, jt3, jt4;

public Test()
{
Container c=getContentPane();
c.setLayout(new FlowLayout());
JLabel jl1=new JLabel("参数数值");
jt1=new JTextField(10);
c.add(jl1);
c.add(jt1);

JLabel jl2=new JLabel("参数数值");
jt2=new JTextField(10);
c.add(jl2);
c.add(jt2);

JLabel jl3=new JLabel("= - * /");
jt3=new JTextField(10);
c.add(jl3);
c.add(jt3);

final JLabel jl4=new JLabel("结果");
jt4=new JTextField(10);
jt4.setEditable(false);
c.add(jl4);
c.add(jt4);
JButton jb=new JButton("计算");
c.add(jb);
setSize(190, 180);
setVisible(true);

jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
try{
int a=Integer.parseInt(jt1.getText());
int b=Integer.parseInt(jt2.getText());
if(jt3.getText().equals("+"))
{
jt4.setText((a+b)+"");
}else if(jt3.getText().equals("-"))
{
jt4.setText((a-b)+"");
} else if(jt3.getText().equals("*"))
{
jt4.setText((a*b)+"");
}else if(jt3.getText().equals("/"))
{
jt4.setText((a/b)+"");
} else
JOptionPane.showMessageDialog(null, "检查你输入的是否是 = - * / 中一个");
}
catch (Exception e) {
JOptionPane.showMessageDialog(null,"请输入正确的参数");
}

}
});
}

public static void main(String[] args) {
Test s = new Test();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

java问题求解!!请高手帮忙啊!我是新手!!
1、新建系统变量JAVA_HOME变量(JAVA_HOME指明JDK安装路径。)设定值为:C:\\Java\\jdk1.6.0_04 2、在系统变量中的path中添加(Path使得系统可以在任何路径下识别java命令。):;%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;%CATALINA_HOME%\\bin 3、新建系统变量CATALINA_HOME 设定值为:C:\\Java\\apache-t...

JAVA高手帮帮忙。帮忙做几个题目。
4.A 5.B (我不确定) JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。6.A 7.A...

Java高手 帮帮忙!!!
你就看官方那本书就行了,具体的题有跟官方走的题。 真正考试的题都在那里边出的,如果你能都记得住,保证你考试95分以上

java题目,请高手帮忙解决。
从安全性的观点看,Java 应用程序所受的安全性限制与 iSeries 服务器上的任何其它程序相同。要在 iSeries 服务器上运行 Java 程序,您必须对集成文件系统中的类文件具有权限。程序一旦启动,它就在该用户权限控制下运行。 您可以使用沿用权限来访问具有运行程序的用户的权限和程序拥有者权限的对象。沿用权...

JAVA-拜托高手帮帮忙.
import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;\/ 首先说明:女生和男生一样有潜力。我们班的一个女生特别勤奋,所以编程水平比我高很多...

JAVA简单问题,高手进下帮帮忙,谢谢!
低 住 佐 佑 佒 体 占 何 佖 佗 佘 余 佚 佛 作 佝 佞 佟 你 佡 这是运行结果,解释:i是从20302开始循环,然后将其强转成char类型进行输出,由于你直接把int类型赋值给char类型,就相当于你把ASCII码直接赋值给了char类型,所以打印出来的是ASCII码所对应的汉字 ...

急,请JAVA高手帮忙解决一下:Error finishing response java.lang...
我猜可能是因为DB连接数已满所致,当tomcat restart后session就会release db connection。如果有数据库连接的话,看看是否数据库连接没有释放 1、是否数据连接池最大值设置过小,2、回收客户端可能无效占用的数据库连接设置过大 3、无效占用数据库连接检测间隔过大 4、未关闭空闲连接。你再试试 希望对你...

请java高手帮忙,解决一个难题呀?心急呀!
在你的内容中首先你表达了求助的意思,然后应该是粘贴了一份其他其他来源的资料,在这两段之间最好有个过度性的转折,否则会感到很突兀。 最后的“几个需要注意的问题”最是奇怪,这是你提出的问题还是资料中别人提出的问题呢?我很难理解。好了。综上所述,目前我很难帮到你。希望你能够吧思路和...

JAVA求救请高手帮我分析下错误,
你是在写java吗 if...then 都出来了 System.out.writeln 应该是 System.out.println ; 号到处都用错 类里面怎么直接用代码实现,至少也要写个方法 oh! my god 用工具写吧,这样找错误方便些 给你改出来了,把基础要学好 public class GetTheMin { public static void main(String[] args) { in...

请java高手帮忙解答: dispose()与setVisible()的问题
1.首先 一个窗体 如果dispose()以后,如果,用窗体对象.setVisible(true);能够显示的话,说明你没设置窗体的默认关闭方式 。。 具体你可以看看 setDefaultCloseOperation();这个方法的API说明 。 如果,你没有设置窗体关闭方式 。 点击关闭窗体,或是程序调用dispose() 内部实现方式,都...

相似回答