Java 将点和坡度曲线添加到坡度数组

Java 将点和坡度曲线添加到坡度数组,java,Java,我不知道如何输出从方法传递到print语句的gradecurve和added points。我不断收到格式化Java错误。我问了我的教授,他没有给我任何真正的提示来解决这个问题 import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class GradeReview { public static void main(String[] args) throw

我不知道如何输出从方法传递到print语句的gradecurve和added points。我不断收到格式化Java错误。我问了我的教授,他没有给我任何真正的提示来解决这个问题

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class GradeReview 
{
  public static void main(String[] args) throws FileNotFoundException
  {
     String nameOfFile;

  Scanner input = new Scanner(System.in);
  System.out.print("Enter name of the file: ");
  nameOfFile = input.nextLine();

  try 
  {
   input = new Scanner(new File(nameOfFile));
  } catch (FileNotFoundException e) 
  {
   System.err.println(" File not found.");
   System.exit(0);
  }

  int size = 0;

  while(input.hasNextLine())
  {
   input.nextLine();
   size++;
  }

  input.close();
  input = new Scanner(new File(nameOfFile));


  double[] score = new double[size];
  while(input.hasNextLine())
  {
input.nextLine();
 }


  input.close();


  double number = 0;
  double addScore = 0;


    //Array of grades 
    double[] gradeScore = new double[] {87.5, 47.9, 70.0, 91.6, 67.8, 83.3, 75.0, 96.0, 55.0,
      96.0, 54.7, 73.7, 60.0, 64.0 };




    //Output for lowest, highest, and average grades 
    System.out.println();
    System.out.println("Grade Summary");
    System.out.println();
    System.out.printf("Lowest Score: " + GetLowest(gradeScore));  
    System.out.println();
    System.out.println();
    System.out.println("Highest Score: " + GetHighest(gradeScore));
    System.out.println();
    System.out.printf("Average Score: %,.1f", + GetAverage(gradeScore));
    System.out.println();
    System.out.println();
    System.out.printf("Curve grade: %,.1f", GetCurve(gradeScore, number));
    System.out.printf("Added Points: %,.1f", GetPoints(gradeScore, addScore));

     //Set variables to get the number of each grade
     int gradeA = 0;
     int gradeB = 0;
     int gradeC = 0; 
     int gradeD = 0;
     int gradeF = 0;


           for (int i = 0; i < gradeScore.length; i++)
           {
          //Begin if statement for finding number of each grade 
            if (gradeScore[i] >= 90.0)
            {
             gradeA++;
            }
            if (gradeScore[i] >= 80.0 && gradeScore[i] <= 90.0)
           {
             gradeB++;
           } 
            if(gradeScore[i] >= 70.0 && gradeScore[i] <= 80.0)
           {
             gradeC++; 
           }
            if(gradeScore[i] >= 60.0 && gradeScore[i] <= 70.0)
           {
             gradeD++; 
           }
            if(gradeScore[i] < 60.0)
           {
             gradeF++; 
           }

           }//End if statement and for loop

    //Output of how many students got each grade        
    System.out.println("Grade A:  " + gradeA);
    System.out.println("Grade B:  " + gradeB);
    System.out.println("Grade C:  " + gradeC);
    System.out.println("Grade D:  " + gradeD);
    System.out.println("Grade F:  " + gradeF);  

}


    //Method for finding the lowest grade in the array
    public static double GetLowest(double[] myArray) 
    {

 double lowest = myArray[0];

 for (int i = 1; i < myArray.length; i++)
 {
   if (myArray [i] < lowest)
   {
     lowest = myArray [i];

   }
 }
 return lowest;
  }
   //End of lowest method


    //Method for finding the highest grade in the array
    public static double GetHighest(double[] myArray) 
    {

 double highest = myArray[0];

 for (int i = 1; i < myArray.length; i++)
 {
   if (myArray [i] > highest)
   {
     highest = myArray [i];

   }
 }
 return highest;
  }
   //End of highest method


   //Method for finding the average grade in the array 
   public static double GetAverage (double[] myArray)
   {
     double total = 0;

    for (int i = 0; i< myArray.length; i++)
    {
      total = total + myArray[i];
    }

    double average = total / myArray.length;


    return average;
   }
    //End of average method


   public static double[] GetCurve(double[] myArray, double curve) 
   {

  double []number = new double[myArray.length];
  for (int i = 1; i < myArray.length; i++)
  {
    number[i] = myArray[i] * 1.05;
  }

  return number;

 }

 public static double[] GetPoints(double[]score, double points) 
 {
  double [] addScore = new double [score.length];
  for( int i = 1; i < score.length; i++)
  {
   addScore[i] = score[i] + points;
  }

  return addScore;
 }










  } 
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Scanner;
公开课成绩审查
{
公共静态void main(字符串[]args)引发FileNotFoundException
{
字符串名称文件;
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入文件名:”);
nameOfFile=input.nextLine();
尝试
{
输入=新扫描仪(新文件(nameOfFile));
}catch(filenotfounde异常)
{
System.err.println(“未找到文件”);
系统出口(0);
}
int size=0;
while(input.hasNextLine())
{
input.nextLine();
大小++;
}
input.close();
输入=新扫描仪(新文件(nameOfFile));
双[]分=新双[尺寸];
while(input.hasNextLine())
{
input.nextLine();
}
input.close();
双数=0;
双积分=0;
//等级排列
双[]等级分数=新的双[]分数{87.5,47.9,70.0,91.6,67.8,83.3,75.0,96.0,55.0,
96.0, 54.7, 73.7, 60.0, 64.0 };
//最低、最高和平均等级的输出
System.out.println();
系统输出打印项次(“等级汇总”);
System.out.println();
System.out.printf(“最低分数:+GetLost(gradeScore));
System.out.println();
System.out.println();
System.out.println(“最高分数:+GetHighest(gradeScore));
System.out.println();
System.out.printf(“平均分数:%,.1f”、+GetAverage(成绩分数));
System.out.println();
System.out.println();
System.out.printf(“曲线等级:%,.1f”,GetCurve(等级分数,数字));
System.out.printf(“添加的分数:%,.1f”,获取分数(成绩分数,添加分数));
//设置变量以获取每个等级的编号
int gradeA=0;
int等级B=0;
智力等级c=0;
积分=0;
int gradeF=0;
对于(int i=0;i=90.0)
{
成绩A++;
}
如果(成绩分数[i]>=80.0&&gradeScore[i]=70.0&&gradeScore[i]=60.0&&gradeScore[i]最高)
{
最高=myArray[i];
}
}
回报最高;
}
//最高点结束法
//查找数组中平均坡度的方法
公共静态双GetAverage(双[]myArray)
{
双倍合计=0;
for(int i=0;i
您的GetCurve和GetPoints方法正在返回数组,但您正在尝试打印单个值。如果它们应该返回数组,那么您应该将print语句包装在for循环中。此外,在整个代码中,请确保数组的索引从0到array.length-1。

GetCurve和GetPoints方法返回数组,但您正在尝试打印单个值。如果它们应该返回数组,那么您应该将print语句包装在for循环中。另外,在整个代码中,请确保数组的索引范围为0到array.length-1。

好的,这里有一些错误。我会尽我所能指出最好的

条件检查 您不能简单地打印出整个值数组,您需要获得每个单独的数组元素并打印出来,或者将其压缩到一行。我不确定您的讲师是否在寻找数组或数组上的某些计算以返回奇异值

forLoopsFTW()
for(int-value:intArray){//Do-something-with-value}
对于(i=0;i
这是在集合(数组)中循环的两种常见方法。目前您正在使用类似for
(i=1;i
,这意味着您每次都会错过第一个元素


始终使用基于
0
的索引循环。稍后您会发现,有很多内置方法都是从
0
开始的,如果您没有及早掌握它,您将很快了解
索引超出范围的错误是什么。

好的,这里有一些错误。我会尽我所能指出最好的

条件检查 您不能简单地打印出整个值数组,您需要获得每个单独的数组元素并打印出来,或者将其压缩到一行。我不确定您的讲师是否在寻找数组或数组上的某些计算以返回奇异值

forLoopsFTW()
for(int-value:intArray){//Do-something-with-value}
对于(i=0;i
这是在集合(数组)中循环的两种常见方法。目前您正在使用类似for
(i=1;i
,这意味着您每次都会错过第一个元素


始终使用基于
0
的索引循环。稍后您会发现,有很多内置方法都是从
0
开始的,如果您没有及早掌握它,您将很快了解
索引超出界限的错误是什么。

您能提供一个坡度曲线的示例吗?我不完全确定
int i = 0;

//This works but it's an important logic concern to notice.
if ( i <= 1 ) { //Do Something }
else if ( i >= 1 ) { //Do Something }

//This does the exact same thing as above
if ( i <= 1 ) { //Do Something }
else if (i > 1 ) { //Do Something }
double[] curve = new double[] ( 1.0, 2.0, 3.0 );

for (int i = 0; i < curve.Length; i++)
{
    System.out.println("Curve Element: " + curve[i]);
}
for (int value : intArray) { //Do something with value }
for (i = 0; i < someLength; i++) { //Do something like someLength[i] }