Java函数输入双精度到数组不工作
Java代码要求用户输入他想要输入的分数,然后输入一个函数或方法将其放入数组,然后输入另一个方法以查找平均值 <代码>编译时没有错误,但是当我运行和我放的成绩数,但函数级崩溃,我习惯于在C++中编码,所以我可能缺少一些基本的java。 请谅解。 我希望在修理它时,告诉我我的错误是什么Java函数输入双精度到数组不工作,java,Java,Java代码要求用户输入他想要输入的分数,然后输入一个函数或方法将其放入数组,然后输入另一个方法以查找平均值 编译时没有错误,但是当我运行和我放的成绩数,但函数级崩溃,我习惯于在C++中编码,所以我可能缺少一些基本的java。 请谅解。 我希望在修理它时,告诉我我的错误是什么 package lab10ex8; import java.util.Scanner; public class Lab10ex8 { public static double[] gra
package lab10ex8;
import java.util.Scanner;
public class Lab10ex8 {
public static double[] grades ( int n, double a [] ) {
Scanner S = new Scanner(System.in);
double grade=0;
for(int i=0; i<n ; i++)
{
grade = S.nextDouble();
a[i] = grade;
}
return a;
}
public static double average( double a[] ) {
double average=0;
double c;
double sum=0;
Scanner S = new Scanner(System.in);
for(int i=0; i< a.length ; i++){
c= a[i];
sum = sum+c;
}
average = sum/a.length;
return average;
}
public static void main(String[] args) {
int n;
System.out.println( "Enter the number of Grades : " );
Scanner S = new Scanner(System.in);
n=S.nextInt();
double a[] = null;
grades(n,a);
average(a);
}
}
包装lab10ex8;
导入java.util.Scanner;
公共类Lab10ex8{
公共静态双[]等级(整数n,双a[]){
扫描仪S=新的扫描仪(System.in);
双级=0;
对于(int i=0;i您需要为数组a提供内存。
像这样:
double a[] = new double[n];
您需要为阵列a提供内存。
像这样:
double a[] = new double[n];
必须将双数组a初始化为双数组a[]=新双数组[n]:
public static void main(String[] args) {
int n;
System.out.println( "Enter the number of Grades : " );
Scanner S = new Scanner(System.in);
n=S.nextInt();
**double a[] = null;** => double a[] = new double[n];
grades(n,a);
average(a);
}
必须将双数组a初始化为双数组a[]=新双数组[n]:
public static void main(String[] args) {
int n;
System.out.println( "Enter the number of Grades : " );
Scanner S = new Scanner(System.in);
n=S.nextInt();
**double a[] = null;** => double a[] = new double[n];
grades(n,a);
average(a);
}
您在main()
方法中将a
初始化为null。您可能希望它是double[n]
,不是吗?您所说的“崩溃”是什么意思?您得到了什么错误?@Mureinik错误是:线程“main”java.lang.NullPointerException在lab10ex8.lab10ex8.grades(lab10ex8.java:16)在lab10ex8.lab10ex8.lab10ex8.main中出现异常(Lab10ex8.java:43)您在main()
方法中将a
初始化为null。您可能希望它是double[n]
,不是吗?您所说的“崩溃”是什么意思?您得到了什么错误?@Mureinik错误是:线程“main”java.lang.NullPointerException中的异常位于Lab10ex8.Lab10ex8.grades(Lab10ex8.java:16)在lab10ex8.lab10ex8.main(lab10ex8.java:43)上,为什么双a[n]不起作用?因此,数组在java中被视为对象,所以每个对象都需要分配一个内存,就像c++/c中的struct需要使用malloc()分配内存一样。为什么双a[n]不工作?所以,数组在java中被视为对象,所以每个对象都需要分配内存,就像c++/c中的struct需要使用malloc()分配内存一样。