如果仅a2.SumOfArray({12}, 12);
,则此数组的输出显示了汇编错误被评论,它编译。如何以阵列形式放置并获得工作输出?谢谢。
import java.util.Scanner;
class Calculation
{
Scanner myScanner = new Scanner(System.in);
int total, I;
int SumOfArray(int data[], int size){
System.out.print("Enter size of array: ");
size = myScanner.nextInt();
for(i=0; i<=size; i++){
System.out.println("Enter number: ");
data[i]=myScanner.nextInt();
total=total+data[i];
}
System.out.println("Sum of Array: "+ total);
return total;
}
public class Main
{
public static void main(String args[]){
Calculation a2 = new Calculation();
**a2.SumOfArray({12}, 12);**
}
}
简单地替换:
a2.SumOfArray({12}, 12);
a2.SumOfArray(new int[]{12}, 12);
但是,您的代码有编译问题尝试找到这些问题并修复。
乍一看您的代码,有几个错误:(它们不是Java8 btw的特定错误(
-
您的
SumOfArray
正在服用两个int
,以进行输入而不是数组。将SumOfArray(int data[], int size)
更改为SumOfArray(int[] data, int size)
,将int[]
数组用于输入。在Javaint[]
中是指int数组。 -
然后您需要像以下
a2.SumOfArray(new int[]{1,2,3}, 12);
一样传递数组,您需要关键字new
,因此Java编译器知道为此新数组保留内存,并且您需要int[]
来告诉编译器这是INT数组。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<