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


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));
    }
}`

在此代码中,我可以将值返回到支票类中,因为我对此几乎没有任何困惑,在同一类中我可以返回值,但我必须知道我可以使用两个类返回,然后在Revarray中如果我返回n,则向我显示错误,例如int不能将其转换为int []返回n

您的反向数组返回int而不是int数组,这就是为什么您会出现错误的原因。您最好从0到N/2进行循环,然后交换元素编号I和元素N-1-I

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

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]

最新更新