当前位置: 首页 > 知识库问答 >
问题:

Java方法错误-使用main方法调用2个不同的方法[关闭]

阎扬
2023-03-14

这个问题是由打字错误或无法再复制的问题引起的。虽然类似的问题可能在这里讨论,但这一问题的解决方式不太可能帮助未来的读者。

我对java很陌生,试图编写一个简单的代码,包含main方法和另外两个方法(calcAverage和determineGrade)。我一直在试着让它工作,但是这两种方法都出错了

The method calcAverage(int, int) in the type is not applicable 
for the arguments ()
        The method determineGrade(int) in the type is not applicable for the arguments ()
import java.util.Scanner;

public class Exam3 {
    public static void main(String[] args) {
        int score1, score2;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the First Grade: ");
        score1 = sc.nextInt();
        System.out.println("Enter the Second Grade: ");
        score2 = sc.nextInt();
        calcAverage();
        determineGrade();
    }

    public static int calcAverage(int score1, int score2) {
        int Grade;
        Grade = score1 + score2;
        Grade = Grade / 2;
        return Grade;
    }

    public static String determineGrade(int Grade) {
        string number;
        if (Grade < 60)
            return number = "F";
        else if (Grade < 70)
            return number = "D";
        else if (Grade < 80)
            return number = "C";
        else if (Grade < 90)
            return number = "B";
        else
            return number = "A";
    }
}

我尝试切换变量并切换方法的工作方式,但我什么也得不到。

共有1个答案

松雅昶
2023-03-14

您的< code>calcAverage()方法需要两个参数。但是你什么都没有提供。

将其更改为:

int average = calcAverage(score1, score2);

然后,您需要将平均值传递给您的确定等级方法。

String grade = determineGrade(average);

但是yur的确定等级方法有一个语法错误。

java prettyprint-override">
public static String determineGrade(int Grade) {
  if (Grade < 60)
    return "F";
  else if (Grade < 70)
    return "D";
  else if (Grade < 80)
    return "C";
  else if (Grade < 90)
    return "B";
  else
    return "A";
}

您不需要在那里定义一个变量< code>number。你可以直接退货。即使定义了变量,也不能在同一个语句中给变量赋值并返回。

我建议您阅读文档,并遵循最佳实践编写Java代码。

 类似资料:
  • 问题内容: 我有 但后来当我打电话从通过运行以下命令在命令行上,JAVA抱怨说,你不能调用从静态功能的方法。 所以我的问题是:如何从主方法调用方法,如果不可能,使用java命令从命令行运行程序后,有哪些替代策略可以调用方法。 问题答案: 您只能针对类的实例调用类似的实例方法(顺便说一下,这是一个非法的方法名称): 另外,如果对您的设计有效,则也使它成为静态。

  • 我在这个上面有点卡住了。我正在编写一个包含两个类的java程序,然后是一个测试程序来测试类中的方法。我被困在主方法中调用下面的两个方法上。所有的类文件(测试程序类和另外两个类)都在编译,IDE没有给我任何错误消息,计算只是没有发生…… --主要方法代码: -账户类别代码: 注意:平衡设置器正在工作,因为它在测试程序的前面被调用... 非常感谢任何帮助!!! 账户类别的完整代码: 主要方法完整代码:

  • 日志输出: 线程“Thread-13”java.lang.noClassDeffounder中的异常错误:org/springframework/boot/springapplication at hello.application.main(application.java:11)at org.clinton.openfire.plugin.fetchnewsplugin$1.run(fetch

  • 问题内容: 我需要使用反射从另一个主要方法调用Java类的主要方法。 必须使用反射,以消除被调用主类的编译时依赖性。直截了当的方法并没有产生效果,因为它只识别“公共”和“非静态”方法。有什么建议吗? 问题答案: 不应比调用任何其他函数更复杂: 但是我真的看不到有什么用途,只要您不使用特定的代码路径,就可以买到该程序,而无需链接另一个程序,这是它唯一能为您带来的好处,但是如果这是您需要的,在这里走

  • 我必须实现一个名为的方法(Factory-method),在这里我可以创建具有特定温度单位(摄氏度、开尔文...)的新对象。我还创建了将代码从一个单元转换为另一个单元的方法。问题是我不知道如何将covert-method连接到方法。我试着让我的所有方法和变量,以便我可以调用它们。问题是:如何在create-methods中实现convert-methods? 这是我的代码:

  • 问题内容: 我必须使用测试工具编译我的代码,但是,当该测试工具调用我的方法时,我收到此错误: “课程Course中的getCourseDetails方法不能应用于给定类型; 必需:java.lang.String,int,java.lang.String,boolean,java.lang.String.java.lang.String,double 找到:没有参数 原因:实际参数列表和形式参数列