gpt4 book ai didi

Java 方法和返回语句

转载 作者:行者123 更新时间:2023-12-02 04:10:30 27 4
gpt4 key购买 nike

我正在尝试测试我正在学习的类(class)。我想运行一份打印报表,将员工的月薪乘以 12,得到年薪,然后加上 10%。除了最后一部分之外,我已经完成了所有工作

这是到目前为止我的代码(这只是部分代码)

构造函数

 public double findSal(){
return this.monthlySalary * 12;
}

public double giveRaise(){
return this.monthlySalary * 12 * 0.10;
}

System.out.printf("The yearly salary for " +employee1.getfirstName()+" " + employee1.getlastName()+" " + "With a 10% raise is: $" +employee1.giveRaise()+ "\n");
System.out.printf("The yearly salary for " +employee2.getfirstName()+" " + employee2.getlastName()+" " + "With a 10% raise is: $" +employee2.giveRaise()+ "\n");

这是我运行时遇到的错误

线程“main”中的异常 java.util.UnknownFormatConversionException: Conversion = 'r' 在 java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2691) 在 java.util.Formatter$FormatSpecifier.(Formatter.java:2720) 在 java.util.Formatter.parse(Formatter.java:2560) 在 java.util.Formatter.format(Formatter.java:2501) 在 java.io.PrintStream.format(PrintStream.java:970) 在 java.io.PrintStream.printf(PrintStream.java:871) 在 labex4oop.employeeTest.main(employeeTest.java:35)Java 结果:1

最佳答案

您的代码有一个小小的疏忽:

Public double giveRaise(){
return this.monthlySalary * 12.0 * 1.10; // was 0.10
}

您还需要从 double 进行转换 当打印值时,您必须转义文字中的百分号(因为您使用 printf where % 具有占位符语义):

System.out.printf("The yearly salary for " +employee2.getfirstName()+" " + employee2.getlastName()+" " + "With a 10%% raise is: $" +String.valueOf(employee2.giveRaise())+ "\n");

关于Java 方法和返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33839442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com