首页 > 解决方案 > 运行此代码时出现问题,我收到 .class 错误

问题描述

我在运行它时遇到问题。

我无法让返回值正常工作。我已经进入这门课程几周了,我学到了很多东西,但是这个项目对我来说有点困难。

我正在收集数据,创建一个平均值,然后使用该平均值输出相应的字母等级。

任何帮助,将不胜感激。

   import java.util.*;
    public class LetterGrade
    {
       public static void main(String args[]) 
       {
         calculateAvg();
         double avgScore;
         printLetter(double);


        }
        public static void calculateAvg()
           {      
              Scanner console = new Scanner(System.in);
              double avgScore; 

          for (double i = 0; i >0; i++) 
          {
              System.out.println("Enter your full name.");
              String name = console.nextLine();
              System.out.println("Enter test score 1");
              double score1 = console.nextDouble();
              System.out.println("Enter test score 2");
              double score2 = console.nextDouble();
              System.out.println("Enter test score 3");
              double score3 = console.nextDouble();

              avgScore = (score1 + score2 + score3) / 3;
              avgScore = console.nextInt();

              System.out.printf( "%s, your average test score is: %.1f",name,avgScore);

                return avgScore;
              }
         }

            public static void printLetter(double avgScore)
            {
                    Scanner console = new Scanner(System.in);
                    char grade;

                 if (avgScore >= 90)
                 {
                      grade = 'A';
                  }
                  else if (avgScore >= 80)
                  {
                     grade = 'B';
                  }
                  else if (avgScore >= 70)
                  {
                     grade = 'C';
                  }
                  else if (avgScore >= 60)
                  {
                     grade = 'D';
                  }
                  else
                  {
                     grade = 'F';
                 }

                    System.out.println("With that average, your grade is: " + grade);

       }
    }

标签: javafor-loopreturn-value

解决方案


您的程序中有几个错误。

我已经用评论更正了程序:

import java.util.*;
public class LetterGrade
{
    public static void main(String args[]) 
    {

        double avgScore=  calculateAvg();
        printLetter(avgScore); //pass variable name here not datatype


    }
    public static double calculateAvg() //must have return type
    {      
        Scanner console = new Scanner(System.in);
        double avgScore; 

        // for (double i = 0; i 0; i++) 
        //{
        System.out.println("Enter your full name.");
        String name = console.nextLine();
        System.out.println("Enter test score 1");
        double score1 = console.nextDouble();
        System.out.println("Enter test score 2");
        double score2 = console.nextDouble();
        System.out.println("Enter test score 3");
        double score3 = console.nextDouble();

        avgScore = (score1 + score2 + score3) / 3;
        // avgScore = console.nextInt();

        System.out.printf( "%s, your average test score is: %.1f",name,avgScore);

        return avgScore;
        // }
    }

    public static void printLetter(double avgScore)
    {
        //Scanner console = new Scanner(System.in);
        char grade;

        if (avgScore >= 90)
        {
            grade = 'A';
        }
        else if (avgScore >= 80)
        {
            grade = 'B';
        }
        else if (avgScore >= 70)
        {
            grade = 'C';
        }
        else if (avgScore >= 60)
        {
            grade = 'D';
        }
        else
        {
            grade = 'F';
        }

        System.out.println("With that average, your grade is: " + grade);

    }
}

输出:
输入您的全名。manisha 输入测试分数 1 12 输入测试分数 2 14 输入测试分数 3 15 manisha,你的平均测试分数是:13.7 有了这个平均值,你的成绩是:F


推荐阅读