当前位置:  技术问答>java相关

java初学者问题,我编了一个计算器,怎么调都通不过,哪位大虾帮我调一下

    来源: 互联网  发布时间:2015-10-25

    本文导语:  import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Caculator extends JFrame{ //panel private Container contentPane; private JPanel leftPanel; private JPanel centerPanel; private JPanel rightPanel; //TextField private JTextField imp...

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

public class Caculator extends JFrame{
//panel
private Container contentPane;
private JPanel leftPanel;
private JPanel centerPanel;
private JPanel rightPanel;

//TextField
private JTextField imput1TextField;
private JTextField imput2TextField;

//label
private JLabel answerLabel;

//button
private JButton plusButton;
private JButton minusButton;
private JButton mutiplyButton;
private JButton divideButton;

public Caculator(){
super("我的计算器");
contentPane=this.getContentPane();
this.setSize(300,300);

//centering
Dimension frameSize=this.getSize();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);

//left
leftPanel=new JPanel();
leftPanel.setLayout(new GridLayout(3,1));
leftPanel.add(new JLabel("数字1"));
leftPanel.add(new JLabel("数字2"));
leftPanel.add(new JLabel("结果是"));
contentPane.add(leftPanel,BorderLayout.WEST);

//center
centerPanel=new JPanel();
centerPanel.setLayout(new GridLayout(3,1));
imput1TextField=new JTextField(10);
imput2TextField=new JTextField(10);
answerLabel=new JLabel();
centerPanel.add(imput1TextField);
centerPanel.add(imput2TextField);
centerPanel.add(answerLabel);
contentPane.add(centerPanel,BorderLayout.CENTER);

//right
    rightPanel=new JPanel();
    rightPanel.setLayout(new GridLayout(2,2));
    plusButton=new JButton("+");
    minusButton=new JButton("-");
    mutiplyButton=new JButton("x");
    divideButton=new JButton("/");
    rightPanel.add(plusButton);
    plusButton.addActionListener(new DoClick());
    rightPanel.add(minusButton);
    minusButton.addActionListener(new DoClick());
    rightPanel.add(mutiplyButton);
    mutiplyButton.addActionListener(new DoClick());
    rightPanel.add(divideButton);
    divideButton.addActionListener(new DoClick());
    contentPane.add(rightPanel,BorderLayout.EAST);
 }
 
    
 //listen
 class DoClick implements ActionListener{
     public void actionPerformed(ActionEvent e){
         Double d1=new Double(imput1TextField.getText()).doubleValue();
     Double d2=new Double(imput2TextField.getText()).doubleValue();
     if (e.getSource()==plusButton) answerLabel.setText(""+(d1+d2));
     else if (e.getSource()==minusButton) answerLabel.setText(""+(d1-d2));
     else if (e.getSource()==mutiplyButton) answerLabel.setText(""+(d1*d2));
     else if (e.getSource()==divideButton) answerLabel.setText(""+(d1/d2));
     }
 }
    
    
  
 public static void main(String args[]){
  Caculator ca=new Caculator();
 }
}
   
编译错误:
--------------------Configuration: j2sdk4.0 --------------------
J:javaCaculator.java:76: incompatible types
found   : double
required: java.lang.Double
         Double d1=new Double(imput1TextField.getText()).doubleValue();
                                                                               ^
J:javaCaculator.java:77: incompatible types
found   : double
required: java.lang.Double
     Double d2=new Double(imput2TextField.getText()).doubleValue();
                                                                                   ^
J:javaCaculator.java:78: operator + cannot be applied to java.lang.Double,java.lang.Double
     if (e.getSource()==plusButton) answerLabel.setText(""+(d1+d2));
                                                                                 ^
J:javaCaculator.java:79: operator - cannot be applied to java.lang.Double,java.lang.Double
     else if (e.getSource()==minusButton) answerLabel.setText(""+(d1-d2));
                                                                                       ^
J:javaCaculator.java:80: operator * cannot be applied to java.lang.Double,java.lang.Double
     else if (e.getSource()==mutiplyButton) answerLabel.setText(""+(d1*d2));
                                                                                         ^
J:javaCaculator.java:81: operator / cannot be applied to java.lang.Double,java.lang.Double
     else if (e.getSource()==divideButton) answerLabel.setText(""+(d1/d2));
                                                                                        ^
6 errors

Process completed.


    

|
把Double d1=new Double(imput1TextField.getText()).doubleValue();中的Double d1 换成double d1试试看
Double(imput1TextField.getText()).doubleValue()返回的是一个double数值,不能与Double相匹配!

|
在构造函数末尾加一句
this.setVisible(true);

actionPerformed中
Double改为double 

|
Double和double不一样的

你看一下你的错误提示,都是Double和double数据类型不符引起的

|
Double 是 double 的一个wrapper,他们不一样 :)
只有double int才能参与运算,而Integer Double 则不行

    
 
 

您可能感兴趣的文章:

  • 在下初学java,请各位大虾推荐几个java学习网站吧!
  • 请java大虾提供一些关于java的资源站点,最好是国内的。
  • 各位大虾,一个初学者该怎样开始学习java?
  • 如何用java写多媒体软件?大虾请进!!!
  • 请java大虾提供一些关于java的资源站点,最好是国内的。 iis7站长之家
  • 请问各位大虾VC与JAVA有何不同,在具体的编程中
  • 大虾们,我是JAVA菜鸟,请问你们用什么JAVA开发工具???(回答有分)
  • 我很想学JAVA,但我是菜鸟,请问各位大虾,能推荐些好书吗?
  • 请问各位大虾: 如何用java读取一个xml文档
  • 各位大虾请问:有本<java完全探索>的书怎么样
  • 各位大虾,能否告知JAVA的核心思想
  • 请问大虾java中SimpleDateFormat类的问题
  • 个位大虾在JAVA中如何加载一个*.EXE
  • 各位大虾,听说有一个java2exe的软件,哪里可以下载呀?
  • 我是新手,各位大虾,请问学习JAVA有没有什么好用的书!!谢谢。有分挣哦!
  • 放假了,想用java数据结构,请问大虾们该如何开始?
  • 请问各位大虾,java编译时的路径问题,谢谢。
  • 我想学JAVA ,该从何入手,可以学的更有效率一些,请各位大虾指教
  • 欢迎各位大虾谈一下,您现在用java做什么,Applet or jsp or jdbc?
  • 100分询问visualAge for java 大虾过来看看
  • java按钮控件数组实现计算器界面示例分享
  • dynku(随风来去.cn)进来本人学JAVA以来第二个程序,计算器,问题多多,希望各位细心指点。
  • java模仿windows计算器示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请大家评价一下Thinking in Java第二版(中文)这本书如何,是否适合JAVA初学者?
  • 在哪里能找到JAVA编译器和解释器?我是一个初学者。我想学JAVA。
  • java初学者问:java操作平台是什么?用什么工具?
  • 各位,我是一个JAVA的初学者,想买有关JAVA的参考书,请问什么书好?
  • 请教各位DX,我是java初学者,如何在win98下配置jdk,在哪可以下载java类库?
  • 请问:在哪里能找到JAVA编译器和解释器?我是一个初学者。我想学JAVA。
  • 我是一名JAVA初学者,请问哪里有比较好的JAVA的源程序下载
  • JAVA技术手册(Java in a Nutshell第三版)怎么样,适合初学者吗?
  • JAVA初学者,很想知道各位在公司用JAVA具体做什么.有什么小项目适合新手做?
  • 我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么?
  • 对于初学者应该看什么样的java书籍
  • 怎样学习Java,我是个初学者。
  • 我是java的初学者,谁能告诉我什么书最好,谢谢
  • 请教学习java的经验(对于初学者)?
  • java初学者:大家常去的java网站,给小弟推荐几个!
  • 我是JAVA初学者,看到SUN网站上面有很多JAVA的SDK下载,请问我应该下哪一个呢?
  • JAVA初学者的困惑
  • 请给Java初学者一点点建议!
  • 初学者问题,java2.0怎么用
  • linux下java,初学者,请指教。
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3