从整个数组中获取信息到变量?
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 等等
我是 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 等等