Java:如何从输入列表返回int数组?
在看完大量的基础教程后,我决定是时候尝试制作一些自己的简单应用程序来帮助我理解OOP并记住我迄今为止学到的东西了 我的尝试是制作一个包含一个主类和两个对象类的应用程序 我有Main.java,它只调用Performer.java和Calculations.java 现在我正在处理Performer.java对象 我希望Performer.java从用户那里获得5个整数,然后我希望能够将其作为数组返回,并在我的Calculations.java中运行它,它将执行一些简单的任务,比如计算平均值和总数 我将我的方法设置为public,如果我理解正确,这应该允许我从应用程序中的任何其他地方访问这些变量 我已经试着把它当作礼物退了 返回arrayList[]={u1,u2,u3,u4,u5} 这给了我一个错误“应该使用枚举头”Java:如何从输入列表返回int数组?,java,arrays,types,Java,Arrays,Types,在看完大量的基础教程后,我决定是时候尝试制作一些自己的简单应用程序来帮助我理解OOP并记住我迄今为止学到的东西了 我的尝试是制作一个包含一个主类和两个对象类的应用程序 我有Main.java,它只调用Performer.java和Calculations.java 现在我正在处理Performer.java对象 我希望Performer.java从用户那里获得5个整数,然后我希望能够将其作为数组返回,并在我的Calculations.java中运行它,它将执行一些简单的任务,比如计算平均值和总数
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];等等。。。