在指定的程序中找不到有关类和对象的逻辑错误

时间:2018-07-22 20:11:12

标签: java

我需要以这样的方式设计Employee类,以便以下代码显示12000;没有运行时错误,这是我犯的逻辑错误,无法识别。

这是Java代码

class Employeetester{
public static void main(String[] args){
    Employee a=new Employee();
    a.name="Mohammad Java Chowdhury";
    a.salary=10000;
    a.increaseSalary(20.0); //percentage
    System.out.println(a.salary);
}
}

这是我声明方法的类文件。

public class Employee{
String name;
double salary;
double exchange;
public double increaseSalary(double salary){
    salary=salary+(salary*(20.0/100.0));        
    return salary;      
}
}

输出显示10000。

我对这个话题很陌生,不便之处,敬请谅解

2 个答案:

答案 0 :(得分:3)

为方法的参数使用适当的名称。此外,还有一种更简单的算法:

double increaseSalary( double pct ) {
   return salary * ( 1. + (pct/100.) );
}

答案 1 :(得分:2)

将薪水增加20%的另一种方法是将当前薪水除以100,这将给您1%并乘以您要增加薪水的百分比。像这样:

salary = salary + (salary / 100.0) * percentage. 

在您的情况下,percentage是20。

此外,您还必须将salary区分为方法参数和类字段。使用this关键字来引用类字段,或更改方法参数的名称:

public double increaseSalary(double salaryArg){
    salary=salaryArg+(salaryArg*(20.0/100.0));        
    return salary;      
}