从整个数组中获取信息到变量?

Getting information out of a whole array to a variable?

我是 Stack Overflow 的新手所以请放轻松 :D

我在解决这个问题时遇到了一些问题,因为我的数据存储在一个数组中,我需要一种方法能够将相同的数据放入一个变量中,因为我需要做一些操作来获取平均分,我尝试做的第一件事是创建一个变量并将数组作为值赋予它,但它不允许我做任何事情,我在它上面花了很多时间但我仍然不喜欢了解如何修复它,所以如果你能帮我解决这个问题。

所以总结一下我要做的是获取我存储在 i 中的学生数量和应该在数组 [i] 中的学生的百分比,这是为了获得平均分数学生人数,因此百分比总和 / 学生人数 * 100 = 平均分数百分比。

import java.util.Scanner;

public class 主要{

public static void main(String[] args) {
    System.out.println("Hello MJ ");
    
    Scanner sc= new Scanner(System.in);
       System.out.println("Insert number of students: ");
                String student = sc.nextLine();
                int studenti = Integer.parseInt(student);
                 int[] array = new int[studenti];
                for (int i = 0; i<studenti;i++)
                {
                    System.out.println("Insert a score in procentage: ");
                    String score = sc.nextLine();
                    
                    array[i]= Integer.parseInt(score);
                    

                    
                }
                
                System.out.println("\nProcentages are: ");  
                for (int i=0; i<studenti;i++)
                {
                    System.out.println((array[i])+"%");
                    
                }
                
                System.out.println("\nThe Average Score is: " +  average + "%");       
                
                int average =  (persentegesOfStudents)/students;6
    

}

请注意,为了得到平均数,您需要将分数相加,然后除以学生人数。您的第二个 for 循环看起来是处理总和的正确位置,此外您还需要在打印之前声明 average 变量。这里有一些建议(见我的评论):

  public static void main(String args[]) {
    System.out.println("Hello MJ ");

    Scanner sc = new Scanner(System.in);
    System.out.println("Insert number of students: ");
    String student = sc.nextLine();
    int studenti = Integer.parseInt(student);
    int[] array = new int[studenti];
    for (int i = 0; i < studenti; i++) {
      System.out.println("Insert a score in procentage: ");
      String score = sc.nextLine();

      array[i] = Integer.parseInt(score);
    }

    System.out.println("\nProcentages are: ");
    int sum = 0; // Added a variable for sum
    for (int i = 0; i < studenti; i++) {
      System.out.println((array[i]) + "%");
      sum += array[i]; // maintaining sum
    }
    int average = sum / array.length; // calculating the average
    System.out.println("\nThe Average Score is: " + average + "%");
  }

请注意,如果将平均值用作浮点数而不是整数,则可以使平均值更准确。

使用流来处理数据。将您的数组转换为 intSream

IntStream stream = Arrays.stream(arr);

intSream 有很多函数,比如 average, min , max, sum 等等