小弟刚学java..
在做作业的时候遇到个问题..请专家们解答下!小弟在编一个加法程序..
Integer.parseInt(text1.getText())+Integer.parseInt(text2.getText());text3如何取得text1+text2的值的和呢?而且数据类型不出错呢?类型不变就成了string类型出错了.!就在类型问题上卡住了..请专家解答下..谢谢!
在做作业的时候遇到个问题..请专家们解答下!小弟在编一个加法程序..
Integer.parseInt(text1.getText())+Integer.parseInt(text2.getText());text3如何取得text1+text2的值的和呢?而且数据类型不出错呢?类型不变就成了string类型出错了.!就在类型问题上卡住了..请专家解答下..谢谢!
解决方案 »
- BufferedReader问题
- 怎么在二维数组中输入若干个数?
- 有关link的问题
- 在给定文件中搜索字符串,然后返回行数和行的内容
- 为什么我做的applet在除了windows自带ie之外的其他浏览器浏览不正常?
- 求大神帮忙解决问题,java添加背景图片,程序不稳定,图片经常覆盖控件
- java不可以处理.ico图片吗?
- 如何处理collection对象
- 一个简单的程序,编译可以通过但是,不出现结果,错误提示为无数个at Test.<init>(TestNonStatic.java:8),怎么回事
- Java 8 新特性 泛型,语法以及相关
- 用java读取大文件问题
- 逻辑思维题目:麻烦看下 谢谢 急
或者你也可以通过捕捉异常来处理。
还有捕抓异常是怎么弄呢?能说详细点嘛?我还是一个新手...谢谢
import java.awt.*;
import java.awt.event.*;public class Test10_13 extends JFrame implements ActionListener{
JTextField text1,text2,text3;
JLabel jlabel1,jlabel2;
JButton jbutton;
JPanel panel1;
Test10_13() {
// TODO 自动生成构造函数存根
Container c=getContentPane();
text1=new JTextField(10);
text2=new JTextField(10);
text3=new JTextField(10);
jlabel1=new JLabel("+");
jlabel2=new JLabel("=");
jbutton=new JButton("结果");
panel1=new JPanel();
panel1.add(text1);
panel1.add(jlabel1);
panel1.add(text2);
panel1.add(jlabel2);
panel1.add(text3);
panel1.add(jbutton);
c.add(panel1);
jbutton.addActionListener(this);
text3.setEditable(false);
} /**
* @param args
*/
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getSource()==jbutton){ //如何才能把加法生效呢?
//在类型上卡住了..text3如何获得text1+text2的和呢? }
}
public static void main(String[] args) {
// TODO 自动生成方法存根
JFrame j=new Test10_13();
j.setSize(400,200);
j.setVisible(true);
}
}
text3.setText()=""+Integer.parseInt(text1.getText())+Integer.parseInt(text2.getText());
//double a=Integer.parseInt(text1.getText());
//double b=Integer.parseInt(text2.getText());
//double c=0.0;
//c=a+b;
//text3.setText(String.valueOf(c));原来这么简单..呵呵!就忘了一点...圈子就绕不回来了!
Integer.parseInt(s)
整型->字符串
String.valueof(i)
我觉得4楼的说得很好啊,只是他可能忽略了一个小问题,打个比方,如果他算的是:3+4的话,用4楼的就得到了34,因为他是用""连了3,变成了"3",又连4,所以会变成34,所以应该只需要改一点点,
text3.setText()=Integer.parseInt(text1.getText())+Integer.parseInt(text2.getText())+"";
强烈建议4楼的想法,利用空字符串连接是一个小小的技巧.
import java.awt.*;
import java.awt.event.*;
public class a extends Frame implements ActionListener{
static a frm = new a();
static TextField txd1 = new TextField();
static TextField txd2 = new TextField();
static TextField txd3 = new TextField();
public static void main(String [] args){
Label lab = new Label("+");
Button btn = new Button("计算");
btn.addActionListener(frm);
frm.add(txd1);
frm.add(txd2);
frm.add(lab);
frm.add(txd3);
frm.add(btn);
txd3.setEditable(false);//让txd3不可编辑
txd3.setFocusable(false);//让txd3不能获得焦点
frm.setLayout(new FlowLayout());
/* 响应关闭按钮的事件
frm.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
*/
frm.setSize(300,300);
frm.setVisible(true);
}
public void actionPerformed(ActionEvent e){
int c;
c=Integer.parseInt(txd1.getText())+Integer.parseInt(txd2.getText());
txd3.setText(Integer.toString(c));
}
}
试试这个吧,由于这几天也学这个,所以就做了!
正确的是:
text3.setText(""+Integer.parseInt(text1.getText())+Integer.parseInt(text2.getText()));
其他的都变成了两个数连接起来了..就像1+2=12了..呵呵!是类型转换问题吧!
小弟有个想法..就是判断如果TEXT1和TEXT2没有输入东西按了"计算"那就弹出消息框提示没输入数值~!
不知道哪位专家可以解答一下..谢谢!
text2.getText().equals("")){
JOptionPane.showMessageDialog(null, "没输入数值,number 不能为空!");
}放在c=Integer.parseInt(txd1.getText())+Integer.parseInt(txd2.getText()); 之前.
OK!
text2.getText().equals("")){
JOptionPane.showMessageDialog(null, "没输入数值,number 不能为空!");
}
加入这个语句的话,应该要在开头加入import javax.sing.*; 的!
text2.getText().equals("")){
JOptionPane.showMessageDialog(null, "没输入数值,number 不能为空!");
}
加入这个语句的话,应该要在开头加入import javax.swing.*; 的!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Cadd extends Frame implements ActionListener{
static Cadd frm = new Cadd();
static TextField txd1 = new TextField();
static TextField txd2 = new TextField();
static TextField txd3 = new TextField();
public static void main(String [] args){
Label lab = new Label("+");
Button btn = new Button("计算");
btn.addActionListener(frm);
frm.add(txd1);
frm.add(txd2);
frm.add(lab);
frm.add(txd3);
frm.add(btn);
txd3.setEditable(false);//让txd3不可编辑
txd3.setFocusable(false);//让txd3不能获得焦点
frm.setLayout(new FlowLayout());
// 响应关闭按钮的事件
frm.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
frm.setSize(300,300);
frm.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(txd1.getText().equals("")&&txd2.getText().equals(""))
JOptionPane.showMessageDialog(null,"请在文本框中输入数值");
else if(txd1.getText().equals(""))
JOptionPane.showMessageDialog(null,"请在第一个文本框中输入数值");
else if(txd2.getText().equals(""))
JOptionPane.showMessageDialog(null,"请在第二个文本框中输入数值");
int c;
c=Integer.parseInt(txd1.getText())+Integer.parseInt(txd2.getText());
txd3.setText(Integer.toString(c));
}
}