在Java中通过数组接受输入
我试图让用户输入一个数字数组(=学生分数)。此外,用户自己将决定数组的大小,即课堂上的学生人数。在接受了每个学生的分数后,我想将它们存储在一个数组中,显示所有学生的分数,并计算班级的平均值。稍后将到达平均部分。 有人能帮我处理这段(显然是错误的)代码吗,谢谢在Java中通过数组接受输入,java,arrays,Java,Arrays,我试图让用户输入一个数字数组(=学生分数)。此外,用户自己将决定数组的大小,即课堂上的学生人数。在接受了每个学生的分数后,我想将它们存储在一个数组中,显示所有学生的分数,并计算班级的平均值。稍后将到达平均部分。 有人能帮我处理这段(显然是错误的)代码吗,谢谢 package chapter2.Arrays; import java.util.*; public class Arrays_ExampleOne { static int size; static int marks; stati
package chapter2.Arrays;
import java.util.*;
public class Arrays_ExampleOne {
static int size;
static int marks;
static int [] numbers=new int [size];
static Scanner in=new Scanner(System.in);
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Welcome to Cincinnati Elementary");
System.out.println("Class report details for ");
System.out.println("Enter the number of students in the class");
size=in.nextInt();
System.out.println("Enter the marks of each student");
for(int i=0;i<=size;i++)
{
numbers[i]=in.nextInt();
}
/* System.out.println("The marks of all students are"+ " ");
{
for(int i=0;i<=size;i++)
{
System.out.print(numbers[i]);
}
System.out.println();
}
//int avg=
*/}
}
包第2章数组;
导入java.util.*;
公共类数组\u示例一{
静态整数大小;
静态整数标记;
静态整数[]个数=新整数[大小];
静态扫描仪输入=新扫描仪(系统输入);
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
System.out.println(“欢迎来到辛辛那提小学”);
System.out.println(“类报告详细信息”);
System.out.println(“输入课堂上的学生人数”);
大小=in.nextInt();
System.out.println(“输入每个学生的分数”);
对于(int i=0;i首先,您应该要求用户输入大小,然后设置数组大小:
static int size;
static int marks;
static Scanner in=new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Enter number of student:");
size = in.nextInt();
int [] numbers=new int [size];
//the rest of your code goes here
}
注意:小心使用for循环:
for(int i=0;i<=size;i++){
^
numbers[i]=in.nextInt();
}
请注意,此方法应该是静态的,因为您希望在静态方法中使用它,并且average始终处理double
/float
数据类型,而不是int
在main方法中,您可以这样调用它:
public static double calculateAverage(int array[])
{
double sum=0.0;
for(int i=0;i<array.length;i++){
sum+=array[i];
}
return sum / array.length;
}
System.out.println("Average marks:"+calculateAverage(numbers));
首先,请用户先输入大小,然后设置数组大小:
static int size;
static int marks;
static Scanner in=new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Enter number of student:");
size = in.nextInt();
int [] numbers=new int [size];
//the rest of your code goes here
}
注意:小心使用for循环:
for(int i=0;i<=size;i++){
^
numbers[i]=in.nextInt();
}
请注意,此方法应该是静态的,因为您希望在静态方法中使用它,并且average始终处理double
/float
数据类型,而不是int
在main方法中,您可以这样调用它:
public static double calculateAverage(int array[])
{
double sum=0.0;
for(int i=0;i<array.length;i++){
sum+=array[i];
}
return sum / array.length;
}
System.out.println("Average marks:"+calculateAverage(numbers));
在创建数组时,size
仍为默认值,即零。在这里,数组的长度始终为零
创建数组时,size
仍为默认值,即零。在这里,数组的长度始终为零。您的代码看起来正常,您只需首先声明numbers
数组(int[]numbers=new int[size]
)非常感谢,@Johannes H.您的代码看起来不错,您只需先声明数字
数组(int[]numbers=new int[size]
)非常感谢,@Johannes H。除此之外,不管它放在哪里都不编译,你的想法是对的。等等。我只是从问题中复制粘贴:D@JohannesH.这两个声明存在于类级别,这导致了创建数组时size
为零的核心问题y-one错误,其中@Vulcan现在(编辑后)是的。但是,在编辑之前,它们被当作函数内部使用,但被当作函数外部声明。非常感谢@RafaEl为声明和for循环问题提供的建议。这非常有帮助!现在我已经能够打印出学生的平均分数,但所有这些都在主函数本身内。我希望创建一个单独的函数(calculateArea(int array[]),该函数将计算数组平均值并将其返回给main)。它就在我包含在这里的代码中,你能帮忙吗?除此之外,不管它放在哪里都不编译,你的想法是对的。等等。我只是从问题中复制粘贴:D@JohannesH.这两个声明是在类级别出现的,这导致了当数组为零时size
为零的核心问题创建。除此之外,还有一个off by one错误,@Vulcan Now(编辑后)是的。但是,在编辑之前,它们被当作函数内部使用,但被当作函数外部声明。非常感谢@RafaEl为声明和for循环问题提供的建议。这非常有帮助!现在我已经能够打印出学生的平均分数,但所有这些都在主函数本身内。我想创建一个单独的函数(calculateArea(int-array[]),它将计算并返回数组平均值到main中。它在我这里包含的代码中,你能帮忙吗!