Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 - Fatal编程技术网

在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中。它在我这里包含的代码中,你能帮忙吗!