如何修复这个坏操作数

时间:2016-03-02 02:32:55

标签: java jframe

我需要转换多年的日子,这个错误阻止了我。 请帮助..现在需要通过它。 错误:二元运算符的错误操作数类型' *' 错误:result = screen * 365;                        ^

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

 public class DaysOfYears extends JFrame implements ActionListener 
{
   JTextField screen = new JTextField(30);
   JButton conBtn = new JButton("Convert");
   JLabel jb = new JLabel ("");

  private double result;


 public DaysOfYears(){
 super("Convert Your Years in Days");
 setSize(400, 200);
 setLayout(new FlowLayout(FlowLayout.LEFT));
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  add(screen);      
    add(conBtn);
    add(jb);
    conBtn.addActionListener(this);
  }
   public void actionPerformed(ActionEvent e){

    result = screen * 365;
    jb.setText(""+result);
  }


      public static void main (String[] args) {
        DaysOfYears days = new DaysOfYears();
     days.show(true);
   }
  }

3 个答案:

答案 0 :(得分:1)

我认为您想要解析JTextField然后执行乘法的文本值。像,

result = Integer.parseInt(screen.getText()) * 365;

请注意,闰年有366天。

答案 1 :(得分:0)

JTextField将其内容保存为String。您需要将其转换为整数,除非您在JTextField中提供双数据类型的字符串表示。

尝试类似:

result = Integer.valueOf(screen.getText())* 365;

答案 2 :(得分:-1)

此处屏幕是JTextField的对象,因此乘法操作不会在object JTextField类型上执行,您可以获取此对象的值转换它进入任何Number类型然后尝试倍增。它会解决你的问题。

试试这个......

        result = Integer.parseInt(screen.getText()) * 365;
           // this will perform multiply actually. Thnak you