如果仅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);**
}
}
答案 0 :(得分:1)
简单地替换:
a2.SumOfArray({12}, 12);
用
a2.SumOfArray(new int[]{12}, 12);
但是,您的代码有编译问题,请尝试查找并修复它。
答案 1 :(得分:1)
乍一看你的代码,有几个错误:(它们不是特定于Java8 btw)
您的SumOfArray
正在接受两个int
输入而非数组。将SumOfArray(int data[], int size)
更改为SumOfArray(int[] data, int size)
以获取int[]
数组以进行输入。在java int[]
中表示一个int数组。
然后你需要传递你的数组a2.SumOfArray(new int[]{1,2,3}, 12);
,你需要关键字new
所以java编译器知道为这个新数组保留内存,你需要{{1}告诉编译器这是一个int数组。