求各位大神看看小弟这个java小程序为什么一输入小数就报错..求解
package利息计算器;importjava.awt.Color;importjava.awt.GridLayout;importjava.awt.event.Acti...
package 利息计算器;
import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
import javax.swing.*;
public class 界面 extends JFrame implements ActionListener{ double a1; JButton m=new JButton("计算"); JTextField x=new JTextField(10); JTextField y=new JTextField(10); JTextField z=new JTextField(10); JTextField j=new JTextField(10); public 界面(){ super("利息计算器"); this.setBounds(100,100,250,350); this.getContentPane().setBackground(Color.blue); this.setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel a=new JPanel(); a.setLayout(new GridLayout(5,1)); JPanel b=new JPanel(); b.add(new JLabel("存入金额 : ")); b.add(x); a.add(b); JPanel c=new JPanel(); c.add(new JLabel("年利率: ")); c.add(y); a.add(c); JPanel d=new JPanel(); d.add(new JLabel("存入时间(年):")); d.add(z); a.add(d); JPanel e=new JPanel(); e.add(new JLabel("利息为: ")); e.add(j); a.add(e); m.addActionListener(this); a.add(m); this.add(a); this.setVisible(true); }
public void actionPerformed(ActionEvent e) { if (e.getSource()==m){ a1 = Integer.parseInt(x.getText())*Integer.parseInt(y.getText())*Integer.parseInt(z.getText()); j.setText(String.valueOf(a1)); } }}
该怎么改啊,好凌乱。.. 展开
import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
import javax.swing.*;
public class 界面 extends JFrame implements ActionListener{ double a1; JButton m=new JButton("计算"); JTextField x=new JTextField(10); JTextField y=new JTextField(10); JTextField z=new JTextField(10); JTextField j=new JTextField(10); public 界面(){ super("利息计算器"); this.setBounds(100,100,250,350); this.getContentPane().setBackground(Color.blue); this.setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel a=new JPanel(); a.setLayout(new GridLayout(5,1)); JPanel b=new JPanel(); b.add(new JLabel("存入金额 : ")); b.add(x); a.add(b); JPanel c=new JPanel(); c.add(new JLabel("年利率: ")); c.add(y); a.add(c); JPanel d=new JPanel(); d.add(new JLabel("存入时间(年):")); d.add(z); a.add(d); JPanel e=new JPanel(); e.add(new JLabel("利息为: ")); e.add(j); a.add(e); m.addActionListener(this); a.add(m); this.add(a); this.setVisible(true); }
public void actionPerformed(ActionEvent e) { if (e.getSource()==m){ a1 = Integer.parseInt(x.getText())*Integer.parseInt(y.getText())*Integer.parseInt(z.getText()); j.setText(String.valueOf(a1)); } }}
该怎么改啊,好凌乱。.. 展开
4个回答
展开全部
你从文本框中获取后转换成了 整数。整数你输入小数能不报错吗你在事件函数里面讲获取文本的类型转换成float的类型,就可以了,
追问
我初学者不太理解...应该怎么改啊...
追答
a1 =Integer.parseInt(x.getText())*Integer.parseInt(y.getText())*Integer.parseInt(z.getText());
Integer.parseInt是转换为整数的,你换个转换float的就可以了,你也可以在出发事件中输出出来看看对不对不就行啦,
展开全部
如果是小数请用float 或者 double
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
interger是整形,float和double表示小树
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-16
展开全部
小数不是integer
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询