坏操作数二元运算符的类型和其他一些问题?

时间:2014-08-16 17:54:00

标签: java swing

我的java编程出现了一些错误,请更正错误并以专业方式编辑此代码,或者请告诉我如何纠正这些错误?

import javax.swing.JOptionPane;

public class grade
{
    public static String inputbasicSal()
    {
        String name="";


        name=JOptionPane.showInputDialog(null,"PLEASE ENTER YOUR NAME : ");

        String basicSalary=JOptionPane.showInputDialog(null,"PLEASE ENTER YOUR BASIC SALARY : ");
        int conBasSal=Integer.parseInt(basicSalary);


        JOptionPane.showMessageDialog(null,"YOUR GRADE IS :"+name);
        JOptionPane.showMessageDialog(null,"YOUR BASIC SALARY IS :"+basicSalary);

        return basicSalary;     
    }

    public static float allowance()
    {
        String Grade=JOptionPane.showInputDialog(null,"PLEASE ENTER YOUR GRADE (1 or 2) : ");
        int congrade=Integer.parseInt(Grade);

            float Allowance;

            if (Grade.equals(1))
            {
                Allowance=inputbasicSal() * (100/10);

            }

            if (Grade.equals(2))
            {
                Allowance=(100/5) * inputbasicSal();
            }

            else
            {
                JOptionPane.showMessageDialog(null,"SORRY PLEASE TYPE 1 or 2 :"+Allowance);
            }

            return Allowance;

        JOptionPane.showMessageDialog(null,"YOUR ALLOWANCE IS :"+Allowance);
    }

    public static float totalSal()
    {
        Totalsal=inputbasicSal()+allowance();

        return Totalsal;

        JOptionPane.showMessageDialog(null,"YOUR TOTSL SALARY IS :"+Totalsal);
    }


    public static float tax()
    {
        float Tax=(100/5)*inputbasicSal();

        return Tax;

        JOptionPane.showMessageDialog(null,"YOUR TAX IS :"+Tax);
    }

    public static float net()
    {
        float Net=inputbasicSal()+allowance()-tax();

        return Net; 

        JOptionPane.showMessageDialog(null,"YOUR NET SALARY IS :"+Net);
    }

    public static void main(String args[])
    {
        inputbasicSal();
        allowance();
        totalSal();
        tax();
        net();  
    }   
}

1 个答案:

答案 0 :(得分:1)

您还没有在代码中正确比较字符串!

Grade.equals("1")

AND

Grade.equals("2")

接下来,您的代码在返回值时也是错误的。

Totalsal=inputbasicSal()+allowance();

这里,inputbasic()的返回类型是与其他两个不同的字符串。所以,这是一个错误。

请更正为

float Totalsal=Float.parseFloat(inputbasicSal())+allowance();

同样,对于接下来的两种方法!

float Tax=(100/5)*Float.parseFloat(inputbasicSal());

而且,最后一个: -

float Net=Float.parseFloat(inputbasicSal())+allowance()-tax();

相应地编辑您的代码!