簡體   English   中英

我無法更改if語句的按鈕

[英]I can't get the button to change if statements

public class calcButtonHandler3 implements ActionListener
{
    public void actionPerformed(ActionEvent a)
    {
        DecimalFormat num3 = new DecimalFormat(",###.##");
        double feet, milli, meters, yards, inches;

        String str1 = tFeet.getText();
        String str2 = tYards.getText();
        String str3 = tInches.getText();
        String str4 = tMeters.getText();
        String str5 = tMilli.getText();

        if (str1 != "")
        {
            feet = Double.parseDouble(tFeet.getText());

            yards = feet / 3;
            inches = feet * 12;
            milli = feet * 304.8;
            meters = feet * 0.3048;

            tYards.setText(num3.format(yards));
            tInches.setText(num3.format(inches));
            tMilli.setText(num3.format(milli));
            tMeters.setText(num3.format(meters));
        }

        else if (str2 != "")
        {
            yards = Double.parseDouble(tYards.getText());

            feet = yards * 3;
            inches = yards * 36;
            milli = yards * 914.4;
            meters = yards * 0.9144;

            tFeet.setText(num3.format(feet));
            tInches.setText(num3.format(inches));
            tMilli.setText(num3.format(milli));
            tMeters.setText(num3.format(meters));
        }

        else if (str3 != "")
        {
            inches = Double.parseDouble(tInches.getText());

            feet = inches * 3;
            yards = inches * 36;
            milli = inches * 25.4;
            meters = inches * 0.0254;

            tFeet.setText(num3.format(feet));
            tYards.setText(num3.format(yards));
            tMilli.setText(num3.format(milli));
            tMeters.setText(num3.format(meters));
        }

        else if (str4 != "")
        {
            meters = Double.parseDouble(tMeters.getText());

            feet = meters * 3.2808399;
            inches = meters * 39.37007874;
            milli = meters * 1000 ;
            yards = meters * 1.0936133;

            tFeet.setText(num3.format(feet));
            tInches.setText(num3.format(inches));
            tMilli.setText(num3.format(milli));
            tYards.setText(num3.format(yards));
        }

        else if (str5 != "")
        {
            milli = Double.parseDouble(tMilli.getText());

            feet = milli * 0.00328084;
            inches = milli * 0.03937008;
            yards = milli * 0.00109361;
            meters = milli / 1000;

            tFeet.setText(num3.format(feet));
            tInches.setText(num3.format(inches));
            tYards.setText(num3.format(yards));
            tMeters.setText(num3.format(meters));
        }
        else
        {
            JOptionPane.showInputDialog("Please input a number");
        }
    }
}

如何獲得按鈕以切換到其他if語句? 當我在tFeet字段中沒有任何內容的情況下運行此代碼時,則沒有任何反應。

您的條件並不互相排斥。

if (str1 != "")...  
else if (str2 != "")...  
else if (str3 != "")...  
else if (str4 != "")...  
else if (str5 != "")...  

那些應該是五個單獨的if語句,而不是一個if...else if語句(如果您需要全部執行)。

另外,您應該使用String equals方法比較String值。

if (!str1.equals(""))...  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM