Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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对象和数组_Java_Arrays_Class_Object - Fatal编程技术网

Java对象和数组

Java对象和数组,java,arrays,class,object,Java,Arrays,Class,Object,我对java比较陌生,我想知道如何编写这组代码 目前,我有一个类可以从用户输入的列表中为每个名称和数字对创建一个对象 public class Data { private String x; private int y; //Constructor, getters and setter methods ... 许多对象是从用户输入创建的。然后,应该将这些对象放入另一个类文件中,该类文件包含该对象的数组 public static void Input () {

我对java比较陌生,我想知道如何编写这组代码

目前,我有一个类可以从用户输入的列表中为每个名称和数字对创建一个对象

public class Data
{
    private String x;
    private int y;

 //Constructor, getters and setter methods ...
许多对象是从用户输入创建的。然后,应该将这些对象放入另一个类文件中,该类文件包含该对象的数组

public static void Input ()
{
    Scanner s = new Scanner (System.in);
    int listLength = 20;
    for (int i = 0 ; i < listLength; i++)
    {
        String userString = s.next();
        Int userInt = s.nextInt();
        Data d = new Data(userString, userInt);
        DataArray = //created objects need to be inputted to another class
     }

....

public class DataArray
{

    private Data[] arrayObjects; //unsure how to write the array
    private int count;

    public DataArray (Data inObject)
    {
         ....
公共静态无效输入()
{
扫描仪s=新的扫描仪(System.in);
int listLength=20;
for(int i=0;i

然后,我需要使用新构造的数组并将其显示为列表给用户。我不确定如何从类中引用所述数组。环顾四周,我发现许多其他人使用ArrayList。我更希望通过使用count变量来获得数组中不同的元素。

数组对象已经存在提供一个
.length
属性,这样您的DataArray类就不会在使用简单数组时真正增加值

public static Data[] Input () {
    Scanner s = new Scanner (System.in);
    int listLength = 20;
    Data[] dataArray = new Data[listLength]; // Define here
    for (int i = 0 ; i < listLength; i++) {
        String userString = s.next();
        int userInt = s.nextInt();
        Data d = new Data(userString, userInt);
        dataArray[i]=d; // Assign here
    }
    . . .
    return dataArray;
}
公共静态数据[]输入(){
扫描仪s=新的扫描仪(System.in);
int listLength=20;
Data[]dataArray=新数据[listLength];//在此处定义
for(int i=0;i
公共获取数据(){
arrayObjects=新的ArrayList();
对于(int i=0;iSince
List
(其
ArrayList
实现)包含
.get(int index)
方法,您关于通过count变量访问的声明对我来说没有真正的意义。
List
方法的优点之一是避免分配数组大小,以及更简单的迭代。
public getData(){
  arrayObjects = new ArrayList<>();
  for(int i=0;i<arrayObjects.lenght;i++){
     System.out.println(arrayObjects.get(i).getX();
  }
}