Java 如何将void方法结果存储到int数组方法中
我试图将公共静态void readGrades()的结果存储到方法数组int[]grades中。但我没有这样做。我尝试了ArrayList和其他东西,但不幸的是Java 如何将void方法结果存储到int数组方法中,java,arrays,Java,Arrays,我试图将公共静态void readGrades()的结果存储到方法数组int[]grades中。但我没有这样做。我尝试了ArrayList和其他东西,但不幸的是 public static int[]grades; public static void main(String[] args) { readGrades(); } public static void readGrades(){ Scanner in=new Scanner(System.in); S
public static int[]grades;
public static void main(String[] args) {
readGrades();
}
public static void readGrades(){
Scanner in=new Scanner(System.in);
System.out.print("How many students there are : ");
int numberOfStudents=in.nextInt();
for(int i=1;i<=numberOfStudents;i++){
System.out.print("Enter the grade of the students : ");
int grades1=in.nextInt();
grades1++;
}
公共静态int[]等级;
公共静态void main(字符串[]args){
readGrades();
}
公共静态void readGrades(){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“有多少学生:”);
int numberOfStudents=in.nextInt();
对于(int i=1;i请尝试以下方法:
public static int[] grades;
public static void main(String[] args) {
readGrades();
}
public static void readGrades(){
Scanner in=new Scanner(System.in);
System.out.print("How many students there are : ");
int numberOfStudents=in.nextInt();
grades=new int[numberOfStudents];
for(int i=0;i<numberOfStudents;i++){
System.out.print("Enter the grade of the students : ");
int grade=in.nextInt();
grades[i]=grade;
}
}
公共静态int[]等级;
公共静态void main(字符串[]args){
readGrades();
}
公共静态void readGrades(){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“有多少学生:”);
int numberOfStudents=in.nextInt();
成绩=新的整数[学生人数];
对于(int i=0;i您不需要声明grades[]static
,您也可以使用本地声明的int[]
进行声明,如下所示:
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.print("How many students there are : ");
int numberOfStudents=in.nextInt();
int[] grades = new int[numberOfStudents];
readGrades(grades, in);
// here you can write code to play with grades array
}
public static void readGrades(int[] grades, Scanner in){
for(int i=0;i<numberOfStudents;i++){
System.out.print("Enter the grade of the students : ");
grades[i]=in.nextInt();
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“有多少学生:”);
int numberOfStudents=in.nextInt();
int[]年级=新int[学生人数];
阅读等级(等级,单位);
//在这里,您可以编写代码来使用grades数组
}
公共静态void readGrades(int[]等级,扫描仪输入){
对于(int i=0;i您需要学习如何在java中使用数组。您没有在grades[]数组中存储数据。此代码>>int grades1=in.nextInt();grades1++;>>只创建一个变量并在下一次迭代中重新初始化它}你不能,因为void
方法不会返回任何内容。@Christian如果你仔细观察代码,你会发现grades
是静态字段,所以这个方法是一种静态设置器,这意味着它应该返回void。@Pshemo如果其中一个不是静态的,基本上是不可能的?@Pshemo是的,它的工作原理如下一个setter,但是它。干杯,它帮助了我:)这将使索引[0]处于未使用状态。@Sanjeev是的,我知道。你可以通过从numberOfStudents中删除+1并在循环中设置I=0来改变它,这也很有帮助,干杯。但是我被要求按照我展示的那样做。