Java 如何使主要方法计算回报值?
我希望用户输入工资率和工作时间。如果工时为40小时或以下,则将工资率与工时相乘。所有这些都发生在一个方法中,而主方法应该调用它。然而,我的程序对这些值没有任何作用Java 如何使主要方法计算回报值?,java,Java,我希望用户输入工资率和工作时间。如果工时为40小时或以下,则将工资率与工时相乘。所有这些都发生在一个方法中,而主方法应该调用它。然而,我的程序对这些值没有任何作用 package homework6; import java.util.Scanner; public class Homework6 { public static void main(String[] args) { Scanner console = new Scanner(System.in);
package homework6;
import java.util.Scanner;
public class Homework6 {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("Enter your pay rate.");
double r = console.nextDouble();
System.out.println("How many hours did you work this week?");
int h = console.nextInt();
double T1 = getTotalPay(r, h);
}
public static double getTotalPay(double r, int h){
/*If the number of hours is less than or equal to 40, it simply
multiplies them together and returns the result.*/
if (h <= 40) {
return r*h;
}
}
}
package作业6;
导入java.util.Scanner;
公共课家庭作业6{
公共静态void main(字符串[]args){
扫描仪控制台=新扫描仪(System.in);
System.out.println(“输入您的工资率”);
double r=console.nextDouble();
这个星期你工作了多少小时;
int h=console.nextInt();
双T1=getTotalPay(r,h);
}
公共静态双getTotalPay(双r,int h){
/*如果小时数小于或等于40小时,则
将它们相乘并返回结果*/
如果(h最有可能,您只需打印返回值:
...
double T1 = getTotalPay(r, h);
System.out.println("Total pay: " + T1);
System.out.println(T1);
作为一种风格,Java变量应该以小写字母开头。您应该将名称T1
更改为T1
(或者,更好的是,改为更易于理解的totalPay
)
只是想澄清一下:上述内容包含在main()
方法中
如果您想表现得更出色,可以将结果格式化为货币:
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("Enter your pay rate.");
double r = console.nextDouble();
System.out.println("How many hours did you work this week?");
int h = console.nextInt();
double totalPay = getTotalPay(r, h);
System.out.println("Total pay: " +
NumberFormat.getCurrencyInstance().format(totalPay)
);
}
首先,您需要打印此返回值:
...
double T1 = getTotalPay(r, h);
System.out.println("Total pay: " + T1);
System.out.println(T1);
其次,您的getTotalPay(double r,int h)方法必须始终返回某个内容,或者在声明的返回类型不是void时引发异常。现在,它只在满足条件时返回某个内容。您是否编译了此方法?此方法应如下所示:
public static double getTotalPay(double r, int h){
if (h <= 40){
return r*h;
} else {
return 0;
}
}
公共静态双getTotalPay(双r,int h){
如果(h)如果h>40
,该怎么办?@Reimeus:如果小时数大于40,他或她工作超过40小时,每工作一小时就会额外获得一美元。我本打算下一步对该部分进行编程,但首先要确保第一部分能够正常工作。这是第二次作业,我仍然无法完成t return语句实际上做了些什么。有什么想法吗?谢谢,但是说明书上说main方法应该处理所有的打印语句。这就是为什么我想不出来的原因。我一直在搜索谷歌,但我无法得到return语句来计算任何东西。@tim71new-我建议的代码放在main
中,所以它会,事实上,遵循说明。是的,我的代码工作了,但除了显示用户输入之外什么也没做。我复制并粘贴了你的部分到我的部分,得到了相同的结果。你必须在main方法的末尾添加System.out.println(T1):)