Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将数组的值传递给方法_Java_Arrays_Methods - Fatal编程技术网

Java 将数组的值传递给方法

Java 将数组的值传递给方法,java,arrays,methods,Java,Arrays,Methods,看看这段代码,我想将两个季度的测试值传递给一个方法,将其转换为字母等级。例如,如果第1学期的测试值是90和80,第2学期的测试值是90和60,我希望该方法返回2 A、1 B和1 D是本年度的成绩。 我如何将两个学期的输入传递给该方法 完整代码可在以下位置查看: 我尝试创建这个方法是在第56页。我知道将数字转换成字母很糟糕,你可以使用这样的方法: for(int i = 0; i < 2; i++) { System.out.print("How many grades d

看看这段代码,我想将两个季度的测试值传递给一个方法,将其转换为字母等级。例如,如果第1学期的测试值是90和80,第2学期的测试值是90和60,我希望该方法返回2 A、1 B和1 D是本年度的成绩。 我如何将两个学期的输入传递给该方法

完整代码可在以下位置查看:
我尝试创建这个方法是在第56页。我知道将数字转换成字母很糟糕,你可以使用这样的方法:

  for(int i = 0; i < 2; i++)
  {
     System.out.print("How many grades does the student have for semester " + (i+1) + ": "); 
     gradeAmt = keyboard.nextInt();

     while(gradeAmt <= 1)
      {
      System.out.println("You need to enter at least two grades.");
      System.out.print("Enter again: ");
      gradeAmt = keyboard.nextInt();
      }
     int[] gradeArray = new int[gradeAmt];

     for(int k = 0; k < gradeArray.length; k++)
        {   
        System.out.print("Enter test " + (k+1) + ": ");
         gradeArray[k] = keyboard.nextInt();
        }
  }
要打印出信函,只需使用:

char[] gradeLetters = {'A','B','C','D','E','F'};
int[] count = {0,0,0,0,0,0};
 for(int k = 0; k < gradeArray.length; k++)
 {   
      int gradeIndex = (100 - gradeArray[k])/10;
      count[gradeIndex]++;
 }

使用数组提交并返回所有值

 for(int k = 0; k < count.length; k++){
      if(count[k] == 1)      
        System.out.printline("1 "+ gradeLetters[k]);
      else if(count[k] > 1)
        System.out.printline(count[k]+" "+gradeLetters[k]+"'s");
  }

以上代码中的学期是什么?听起来你只需要完全按照你说的去做。这是你无法理解的语法吗?你能把数字等级转换成字母等级吗?很难知道我们看不到的代码有什么问题。
char[] getGrades(int[] score) {
    char[] grades = {'A', 'B', 'C', 'D', 'E', 'F'};
    char[] retVal = new char[score.length];
    for (int i = 0; i < score.length; i++) {
        retVal[i] = grades[Math.min(5,(9 - (score[i] / 10)))];
    }
    return retVal;
}