我可以在两个类的帮助下返回数组元素吗?

时间:2017-05-02 03:46:50

标签: java

import java.util.*;
 class Revarray
{
    protected static int[]  reversearray(int h[])
    {

            for(int n:h)
            {
                return n;
            }   
    }
}
public class Check
{
    public static void main(String h[])
    {
        int no[]=new int[5];
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter Array Elements");
        for(int i=0;i<no.length;i++)
        {
            no[i]=sc.nextInt();
        }
        Revarray rev=new Revarray();
        System.out.println("Value of Array are:--"+rev.reversearray(no));
    }
}`

这里在这段代码中我可以将值返回到check类,因为我对此有点困惑,在同一个类中我可以返回值,但我必须知道我可以返回使用两个类,并在此处使用revarray如果我返回n然后它显示错误,如int不能转换为int [] return n

2 个答案:

答案 0 :(得分:0)

你的反向数组返回int,而不是int数组,这就是你得到错误的原因。你最好在数组上做一个从0到n / 2的循环,并交换元素号i和元素n-1-i

答案 1 :(得分:0)

要反转数组,您需要两个索引:一个用于迭代给定的数组,另一个用于迭代新数组。代码:

package com.stackoverflow.main;

import java.util.Arrays;
import java.util.Scanner;

class Revarray {
    protected int[] reversearray(int h[]) {
        int[] reverse = new int[h.length];
        int k = 0;
        for (int i = h.length - 1; i >= 0; i--) {
            reverse[k++] = h[i];
        }
        return reverse;
    }
}

public class Check {
    public static void main(String h[]) {
        int no[] = new int[5];
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter Array Elements");
        for (int i = 0; i < no.length; i++) {
            no[i] = sc.nextInt();
        }
        Revarray rev = new Revarray();
        System.out.println("Value of Array are:--" + Arrays.toString(rev.reversearray(no)));
    }
}

打印:

Enter Array Elements
3
4
5
6
7
Value of Array are:--[7, 6, 5, 4, 3]