我的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();
}
}
答案 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();
相应地编辑您的代码!