刚学java,但是不知道怎么应用java中的数组。
下面,列出程序:
public class Array{
static int arr[] = new int [10];
public static int sum(int arr){
int sum = 0;
for(int i=0; i<10; i++){
sum = sum + arr[i]; //提示是这句出错了,说需要的是int[],但这里是int;请问怎么解决
}
return sum;
}
public static void main(String agrs []){
int sum;
Array a = new Array();
for(int i=0; i<10; i++){
a.arr[i] = i;
}
sum = sum(arr[0]);
System.out.println(""+sum);
}
}如果可以的话,列举一下,数组的应用的实例。

解决方案 »

  1.   

    public static int sum(int arr){
    注意你的参数,要用数组 int[] arr
      

  2.   

    是的,你的参数是int,不是数组形似的
      

  3.   

    我改后,又改了这句:sum = sum(arr[0]);
    改成:sum = sum(a.arr[]);
    但是还是不行,你改好,能运行过去后,把那个代码给我,行吗?
      

  4.   

    public class Array{
    static int arr[] = new int [10];
    //public static int sum(int arr){
    public static int sum(int[] arr){
    int sum = 0;
    for(int i=0; i<10; i++){
    sum = sum + arr[i]; //提示是这句出错了,说需要的是int[],但这里是int;请问怎么解决
    }
    return sum;
    }
    public static void main(String agrs []){
    int sum;
    Array a = new Array();
    for(int i=0; i<10; i++){
    a.arr[i] = i;
    }
    sum = sum(arr[0]);
    System.out.println(""+sum);
    }
    }
      

  5.   

    sum方法的参数有问题,而且sum方法的调用也不对吧,应该是sun = sum(arr).
    public class TestWay {
    static int arr[] = new int [10];
     
     public static int sum(int[] arr) {
     int sum = 0;
     
     for(int i=0; i<10; i++) {
     sum = sum + arr[i]; 
     }
       
     return sum;
     }
     
     
     
     public static void main(String agrs []) {
     int sum;
     TestWay a = new TestWay();
     
     for(int i=0; i<10; i++) {
     a.arr[i] = i;
     }
      
     sum = sum(arr);
     System.out.println(""+sum);
     
     }
    }
     
      

  6.   

    public class Array {
    static int arr[] = new int[10]; public static int sum(int[] arr2) {
    int sum = 0;
    for (int i = 0; i < 10; i++) {
    sum = sum + arr2[i];  }
    return sum;
    } public static void main(String agrs[]) {
    int sums;

    for (int i = 0; i < 10; i++) {
    arr[i] = i;
    }
    sums = sum(arr);
    System.out.println("" + sums);
    }
    }
    你一定义了一个存放int类型的数组,就没必要在定义一个Array了。
      

  7.   

    public class Array {
     static int arr[] = new int[10]; public static int sum(int[] arr2) {
     int sum = 0;
     for (int i = 0; i < 10; i++) {
     sum = sum + arr2[i]; }
     return sum;
     } public static void main(String agrs[]) {
     int sums; for (int i = 0; i < 10; i++) {
     arr[i] = i;
     }
     sums = sum(arr);
     System.out.println("" + sums);
     }
    }
    你一定义了一个存放int类型的数组,就没必要在定义一个Array了。
      

  8.   


    //public class Array{
    //   static int arr[] = new int [10];
    //   public static int sum(int arr){....}
    上面创建方法的时候形参弄错了,如果想传递整型数组在括号内应该是  (int[]arr)
    //sum = sum(arr[0]);
    在同一个类中名字是不可以重复的,变量sum和方法名冲突了,传递形参时数组表达也错误。
    上面这个语句换成 int sum_1=sum(arr);在同一类中,
    你可以这样理解  当arr前面需要声明类型的时候 arr必须和[]一起。
    数组arr被static修饰,是静态的,属于整个类,不属于某个对象,所以在声明类中可以不需要对象直接使用。
      

  9.   

    public class Array{
    static int arr[] = new int [10];
    public static int sum(int[] arr){//你传的是什么类型就要写什么类型
    int sum = 0;
    for(int i=0; i<10; i++){
    sum = sum + arr[i];
    }
    return sum;
    }
    public static void main(String agrs []){
    int sum;
    Array a = new Array();
    for(int i=0; i<10; i++){
    a.arr[i] = i;
    }
    sum = sum(arr);//  这里变量名改一下,不要与方法同名
    System.out.println(""+sum);
    }
    }
      

  10.   

    public class Array
    {
    static int arr[] = new int [10];
    public static int sum(int[] arr)//这是我改的第一处
    {
    int sum = 0;
    for(int i=0; i<10; i++)
    {
    sum = sum + arr[i]; //提示是这句出错了,说需要的是int[],但这里是int;请问怎么解决
    }
    return sum;
    }
    public static void main(String agrs [])
    {
    int sum;
    Array a = new Array();
    for(int i=0; i<10; i++)
    {
    a.arr[i] = i;
    //System.out.println(arr[i]);
    }
    sum = sum(arr);//我改的第二处……程序执行完后输出45
    System.out.println(""+sum);
    }
    }
      

  11.   

    你传进来的是一个数字,怎么让他使用数组,另外一个解决方案就是,Java有一个可变数组,这个时候你就可以随便传了
      

  12.   

    public class iopro {
    private static int arr[] = new int[10];
    private static int sum = 0;
    public static int sum(int[] arr){
    for(int i = 0;i<arr.length;i++){
    sum = sum + arr[i];
    }
    return sum;
    }

    public static void main(String[] args) {
    int sum;
    iopro a = new iopro();
    for(int i =0;i<10;i++){
    a.arr[i] = i;
    }
    sum = sum(arr);
    System.out.println(""+sum);
    }
    }
    最后输出45