方法grossPay()
和fed税收()
由于某种原因没有被计算。
grossPay()
结果,grossPay
谢谢你!
import java.util.Scanner;
public class WorkPay {
public static void main(String args[]) {
WorkPay wagecalc = new WorkPay(); // 1. Instantiate the object WorkPay
WorkPay input = new WorkPay(); // 2. Reference the method to prompt for inputs
input.prompt4data();
input.display(); // 3. Reference the method to display the results
}
public void prompt4data() {
Scanner console = new Scanner(System.in);
System.out.println("How many hours have you worked?");
hours = console.nextDouble();
System.out.println("What is your wage rate?");
wage_rate = console.nextDouble();
System.out.println("How many dependents do you have?");
dependents = console.nextInt();
}
// private instance variables
private double hours;
private double wage_rate;
private int dependents;
private double grosspay;
private double totalpay;
private double tax;
private double dependenttax;
private double taxtotal;
public double grossPay() {
double total1 = 0;
double total2 = 0;
double total3 = 0;
if (hours <= 40) {
total1 = wage_rate * hours;
grosspay = total1;
}
else if (hours > 40 && hours <= 60) {
total2 = total1 + (wage_rate * 1.5) * (hours - 40);
grosspay = total2;
}
else {
total3 = total2 + (wage_rate * 2) * (hours - 60);
grosspay = total3;
}
return grosspay;
}
public void fedTax() {
tax = (0.10 * grosspay);
dependenttax = (25 * dependents);
taxtotal = tax + dependenttax;
if (tax < 0)
System.out.println("Taxt withheld can't be less than 0.");
}
public void display() {
System.out.println("The hours worked is: " + hours);
System.out.println("The hoursly rate is: " + wage_rate);
System.out.println("The number of dependents is: " + dependents);
System.out.println("The gross income is: " + grosspay);
System.out.println("The federal tax withheld is: " + taxtotal);
System.out.println("The take home pay is: " + totalpay);
}
}
由于您使用实例变量进行所有计算,因此不必从方法返回。你只需要不断更新变量,并在最后打印它们。
在这里,我对你的程序做了一些修改。
import java.util.Scanner;
public class WorkPay {
// private instance variables
private double hours;
private double wage_rate;
private int dependents;
private double grosspay;
private double totalpay;
private double tax;
private double dependenttax;
private double taxtotal;
public static void main(String args[]) {
WorkPay input = new WorkPay(); // 2. Reference the method to prompt for
// inputs
input.prompt4data();
input.grossPay();
input.fedTax();
input.display(); // 3. Reference the method to display the results
}
public void prompt4data() {
Scanner console = new Scanner(System.in);
System.out.println("How many hours have you worked?");
hours = console.nextDouble();
System.out.println("What is your wage rate?");
wage_rate = console.nextDouble();
System.out.println("How many dependents do you have?");
dependents = console.nextInt();
}
public void grossPay() {
double total1 = 0;
double total2 = 0;
double total3 = 0;
if (hours <= 40) {
total1 = wage_rate * hours;
grosspay = total1;
} else if (hours > 40 && hours <= 60) {
total2 = total1 + (wage_rate * 1.5) * (hours - 40);
grosspay = total2;
} else {
total3 = total2 + (wage_rate * 2) * (hours - 60);
grosspay = total3;
}
}
public void fedTax() {
tax = (0.10 * grosspay);
dependenttax = (25 * dependents);
taxtotal = tax + dependenttax;
if (tax < 0)
System.out.println("Taxt withheld can't be less than 0.");
}
public void display() {
System.out.println("The hours worked is: " + hours);
System.out.println("The hoursly rate is: " + wage_rate);
System.out.println("The number of dependents is: " + dependents);
System.out.println("The gross income is: " + grosspay);
System.out.println("The federal tax withheld is: " + taxtotal);
System.out.println("The take home pay is: " + totalpay);
}
}
让我们从你的田地开始。你只需要一小部分。
// private instance variables
private double hours;
private double wage_rate;
private int dependents;
这三个字段(并且wage_rate
应该是wage速率
,以符合惯例)是您唯一需要的。所有其他值都应该被计算。
接下来,由于您正在计算的值彼此依赖(使用DouleTime
包括基本速率和1.5倍速率),您应该提前计算这些值。这不应该有任何风险,因为例如,如果你只有51个小时的工作,你不在乎DouleTime
是否不准确。
public double grossPay() {
double baseRate = wage_rate * hours;
double timeAndAHalf = baseRate + (wage_rate * 1.5) * (hours - 40);
double doubleTime = timeAndAHalf + (wage_rate * 2) * (hours - 60);
if (hours <= 40) {
return baseRate;
} else if (hours > 40 && hours <= 60) {
return timeAndAHalf;
} else {
return doubleTime;
}
return grosspay;
}
第三,让我们仔细看看fed税
方法。好消息是,您不需要在其他任何地方使用依赖税
(实际上应该是依赖税
)或税
,所以您需要做的就是显式返回您计算的值。不要忘记实际调用grossPay
方法,因为您需要它作为计算的一部分。
public double fedTax() {
tax = (0.10 * grossPay());
dependenttax = (25 * dependents);
return tax + dependenttax;
}
最后,剩下的就是打印输入字段最后一部分的值。。。
// Method call to...something that does things with gross pay
System.out.println("The gross income is: " + _____);
// Method call to...something that does things with tax...
System.out.println("The federal tax withheld is: " + _____);
// What's the net pay again?
System.out.println("The take home pay is: " + ____);
...但我留给读者的是一个明确的练习。
要么调用它们,要么使用getters(更好),getters,又名accessors,是一种命名约定,其中方法的前缀是get
(另请参见Java-使用Accessor和Mutator方法):
public double getGrossPay() {
double grosspay = 0; //local now (remove field)
double total1 = 0;
double total2 = 0;
double total3 = 0;
if (hours <= 40) {
total1 = wage_rate * hours;
grosspay = total1;
}
else if (hours > 40 && hours <= 60) {
total2 = total1 + (wage_rate * 1.5) * (hours - 40);
grosspay = total2;
}
else {
total3 = total2 + (wage_rate * 2) * (hours - 60);
grosspay = total3;
}
return grosspay;
}
public void display() {
...
System.out.println("The gross income is: " + getGrossPay());
...
}
这样,总薪酬将永远是正确的,没有什么领域可以过时。
您在getGrossPay
中还有一些其他问题,各种小计并不是全部计算出来的,但我会让您计算出来,或者您可以看看这对您是否有意义:
public double getGrossPay() {
double grosspay = wage_rate * hours;
if (hours > 40) grosspay += wage_rate * (hours - 40) * 0.5;
if (hours > 60) grosspay += wage_rate * (hours - 60) * 0.5;
return grosspay;
}
我是Kafka的新手,我正在构建一个使用Twitter API作为数据源的入门项目。我已经创建了一个生产者,它可以查询Twitter API,并使用字符串序列化器将数据发送到我的kafka主题,以获得键和值。我的Kafka Stream应用程序读取这些数据并进行字数统计,但也按Tweet的日期分组。这一部分是通过一个名为wordCounts的KTable来完成的,以利用它的upsert功能。这个K
我的pom。xml如下所示 我已经尝试了三天,使用REdhat入门指南让这个简单的示例代码与Infinispan一起使用,并下载了快速入门zip来运行它,但仍然不起作用!我一直收到Spring JMS的错误“无法连接到foo: 11222”或“池未打开”,然后是关于混合Uber和Jars版本的警告。我开始使用ehcache,这很难实现,因为只有有限的简单示例展示了如何从rest调用等中存储、检索和
我最近安装了privacy vpn,结果发现启用的openvpn会破坏Docker。 当我尝试运行时,我得到以下错误 禁用vpn可以解决这个问题(不过,我宁愿不禁用它)。有没有办法使这两者和平共处?我使用debian jessie,我的openvpn有以下版本字符串 null
我正在处理一个Flask项目,我正在使用Flask SQLAlchemy。 我需要处理多个已经存在的数据库。 我创建了“app”对象和SQLAlchemy对象: 在配置中,我设置了默认连接和附加绑定: 然后,我使用声明性系统创建了表模型,并在需要时设置参数以指示表位于哪个数据库中。 例如: 通过这种方式,当我在正确的数据库上进行查询时,一切都正常工作。 阅读SQLAlchemy文档和Flask S
我需要了解如何将方法返回到方法中,以打印出计算机的随机选择。 打印语句之后的最后一个方法不完整;我只是被这部分卡住了。
问题内容: 考虑以下代码段: 显然不知道可以将a馈送到需要的方法(实际上,它的文档说它在寻找 具有指定名称和形式参数完全相同的方法 )。 是否有一种直接的方法来像上面那样以反射方式查找方法,但是要考虑多态性,以便上述反射示例在查询参数时可以找到该方法? 问题答案: 该反射教程 建议使用样本进行查找