2016-03-02 114 views
0

我需要轉換多年的日子,這個錯誤阻止了我。 請幫忙..現在需要通過它。 錯誤:二元運算符「*」的操作數類型錯誤 錯誤: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

'screen'是'JTextField',你會如何建議的Java多了'JTextField' 365? – MadProgrammer

回答

0

JTextField將其內容保存爲字符串。您需要將其轉換爲整數,除非您在JTextField內提供雙數據類型的字符串表示形式。

嘗試類似:

結果= Integer.valueOf(screen.getText())* 365;

+0

謝謝,這適用於我.. :) –

1

我想你想你的分析和JTextField文本值,那麼執行你乘法。類似的,

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

請注意,閏年有366天。

-1

以下屏幕的JTextField一個對象,以便乘操作不會對objectJTextField型的你可以抓住這個對象的值轉換成任何類型Number進行再嘗試倍增。它會解決你的問題。

試試這個......

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

請告訴我,如果我添加.'toString()'方法會有什麼問題?你能解釋一下誰嗎? –