Java 如何使主要方法计算回报值?

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);

我希望用户输入工资率和工作时间。如果工时为40小时或以下,则将工资率与工时相乘。所有这些都发生在一个方法中,而主方法应该调用它。然而,我的程序对这些值没有任何作用

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):)