Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何从输入列表返回int数组?_Java_Arrays_Types - Fatal编程技术网

Java:如何从输入列表返回int数组?

Java:如何从输入列表返回int数组?,java,arrays,types,Java,Arrays,Types,在看完大量的基础教程后,我决定是时候尝试制作一些自己的简单应用程序来帮助我理解OOP并记住我迄今为止学到的东西了 我的尝试是制作一个包含一个主类和两个对象类的应用程序 我有Main.java,它只调用Performer.java和Calculations.java 现在我正在处理Performer.java对象 我希望Performer.java从用户那里获得5个整数,然后我希望能够将其作为数组返回,并在我的Calculations.java中运行它,它将执行一些简单的任务,比如计算平均值和总数

在看完大量的基础教程后,我决定是时候尝试制作一些自己的简单应用程序来帮助我理解OOP并记住我迄今为止学到的东西了

我的尝试是制作一个包含一个主类和两个对象类的应用程序

我有Main.java,它只调用Performer.java和Calculations.java

现在我正在处理Performer.java对象

我希望Performer.java从用户那里获得5个整数,然后我希望能够将其作为数组返回,并在我的Calculations.java中运行它,它将执行一些简单的任务,比如计算平均值和总数

我将我的方法设置为public,如果我理解正确,这应该允许我从应用程序中的任何其他地方访问这些变量

我已经试着把它当作礼物退了

返回arrayList[]={u1,u2,u3,u4,u5}

这给了我一个错误“应该使用枚举头”

import java.util.Scanner;
公开课表演者{
公共静态int getUnit(){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入第一个数字:”);
int u1=scan.nextInt();
System.out.println(“输入第一个数字:”);
int u2=scan.nextInt();
System.out.println(“输入第一个数字:”);
int u3=scan.nextInt();
System.out.println(“输入第一个数字:”);
int u4=scan.nextInt();
System.out.println(“输入第一个数字:”);
int u5=scan.nextInt();

返回u1、u2、u3、u4、u5;您可以使用
List
或array

试试这个-

public static List<Integer> getUnit(){
    List<Integer> list = new ArrayList<>();
    System.out.println("Enter the first number: ");
    list.add(scan.nextInt());
    ...

    return list;
}
公共静态列表getUnit(){
列表=新的ArrayList();
System.out.println(“输入第一个数字:”);
添加(scan.nextInt());
...
退货清单;
}

将getUnit()的返回值更改为int[],并按如下方式返回值:

return new int[] {u1, u2, u3, u4};
return Arrays.asList(u1, u2, u3, u4);
如果要返回列表,可以将返回值设置为
List
,并按如下方式返回值:

return new int[] {u1, u2, u3, u4};
return Arrays.asList(u1, u2, u3, u4);

请注意,Arrays.asList返回一个不可变的列表,因此您不能从中添加或删除值。

首先,函数的返回类型是
int
。您至少需要将其设置为
int[]
,以表示您希望返回一个整数数组,而不是单个整数

然后,您需要找出Java中的数组文本语法

然后,你应该考虑java集合类是否更适合你正在做的事情。看看你如何构造<代码> ARARYLIST/<代码>的一些例子。

< P>你也可以这样做:

public static int[] getUnit(){
        Scanner scan = new Scanner(System.in);


        System.out.println("Enter the first number: ");
        int u1 = scan.nextInt();
        System.out.println("Enter the first number: ");
        int u2 = scan.nextInt();
        System.out.println("Enter the first number: ");
        int u3 = scan.nextInt();
        System.out.println("Enter the first number: ");
        int u4 = scan.nextInt();
        System.out.println("Enter the first number: ");
        int u5 = scan.nextInt();
        int[] array ={ u1, u2, u3, u4, u5};

        return  array;
        }
        }

替换混淆的部分:

return new int[]{u1, u2, u3, u4, u5};
和功能签名:

public static int[] getUnit()
试试这个

`公共静态int[]getUnit(){

int[]单位=新的int[5];
扫描仪输入=新扫描仪(系统输入);
对于(int i=0;i

我想这就是您想要的。

由于您是编程新手,首先让我清除代码中的一些错误。 这一行在这里:

 return u1, u2, u3, u4, u5;  <--------Confusing Part

返回u1、u2、u3、u4、u5;谢谢你的回答,但现在我似乎有点困惑,我会在之后返回一个回顾数组列表。是的。看起来简单而棒。列表是一个“智能”的界面数组。实际的类型是ArrayList。
List
基本上意味着你有一个存储整数的列表。哦,我看得越多,得到的这个就越多。这样效率更高。现在我如何从我的其他方法调用这个列表?我是否只调用getUnit?
List List List=getUnit()
对!我必须声明它是我的方法标题中的一个数组!到目前为止这似乎有效!我现在如何调用整个数组?它是getUnit[]吗?调用是:int[]values=Performer.getUnit();但我认为您应该进一步了解Java的基础知识:-),当然,如果您想从数组中获得一个特定的值:int u1=values[0];等等。。。