public class SalaryManager{
public static void main(String[] args){
SalaryManager salary=new SalaryManager();
System.out.println(salary.getMonthlySalary(20000000));
}
public double getMonthlySalary(int yearlySalary) {
double monthSalary=yearlySalary / 12.0;
double tax=calculateTax(monthSalary);
double nationalPension=calculateNationalPension(monthSalary);
double healthInsurance=calculateHealthInsurance(monthSalary);
double total= tax+nationalPension+healthInsurance;
monthSalary -= total;
return monthSalary;
}
public double calculateTax(double monthSalary) {
double tax= monthSalary * (0.125);
//System.out.println(tax);
return tax;
}
public double calculateNationalPension(double monthSalary) {
double nationalPension=monthSalary * (0.081);
//System.out.println(nationalPension);
return nationalPension;
}
public double calculateHealthInsurance(double monthSalary) {
double healthInsurance=monthSalary * (0.135);
//System.out.println(healthInsurance);
return healthInsurance;
}
}
소괄호를 잘못 입력하여 오류가 발생했었다.
public class InterestManager{
public static void main(String[] args) {
InterestManager interest=new InterestManager();
int salary=1000000;
for(int i=10;i<=370;i+=10) {
double rate=salary * interest.getInterestRate(i);
System.out.println(rate);
}
}
public double getInterestRate(int day) {
//double rate를 if문 앞에 적어주면 한번만 적어도 되서 좋다. 그렇지 않을 경우 매번 double return으로 값을 적어야함.)
double rate;
if( day>=1 && day<=90) {
rate=0.005;
}
else if( day>=91 && day<=180) {
rate=0.01;
}
else if( day>=181 && day<=364) {
rate=0.02;
}
else {
rate=0.056;
}
return rate;
}
public double calculateAmount(int day, long amount) {
double rate=getInterestRate(day);
rate = amount*rate;
amount += rate;
return amount;
}
}
위에서 언급한 에러임.