繁体   English   中英

如何创建 object 数组并在 java 中获取用户输入? 我写了下面的代码,但让我很困惑

[英]How can I create an array of object and takes user input in java? I have wrote the below code but confusing me

我已经编写了第一个 class 并声明了所有变量和方法(get 和 set 方法)。 在 class 两个中,我创建了一个数组 object 但它无法正常工作,可能是我在某个地方犯了错误,所以任何人都可以帮我解决这个问题,拜托。

#1级

package com.javaArray;

public class ArrayOfObject {

private String fName;
private String lName;

public String getfName() {
    return fName;
}
public String getlName() {
    return lName;
}

public void setlName(String lName) {
    this.lName = lName;
}
public void setfName(String fName) {
    this.fName = fName;
}

}

#2级

package com.javaArray;

import java.util.Scanner;

public class Person {
    public static void main(String[] args) {
         ArrayOfObject[] arr = new ArrayOfObject[5];
         Scanner sc = new Scanner(System.in);

         for(int i=0;i<arr.length;i++){
        System.out.println("Enter First Name");
        arr[i].setfName(sc.next());
        System.out.println();
        System.out.println("Enter Last Name");
        arr[i].setlName(sc.next());
        System.out.println();
    }

    System.out.println("Persons name are:");

    for(int i=0;i<arr.length;i++){
        System.out.println(arr[i].getfName()+" "+arr[i].getlName());
    }
}

}

ArrayOfObject[] arr = new ArrayOfObject[5];

在这一步中,您只需初始化您的Array而不是其中的 object。

因此,在每个步骤中,您必须通过执行以下操作来初始化每个 object:

for (int i = 0; i < arr.length; i++) {    
    arr[i] = new ArrayOfObject();
    System.out.println("Enter First Name");
    ...

首先,不需要 getter 和 setter 以及所有额外的代码。 您可以使用库 Lombok,因此您不需要编写大量代码。 所以你的第一个 class 应该看起来像:

@Data
public class ArrayOfObject {

private String fName;
private String lName;

}

您可以参考 Class2 的第二件事:如果您的问题正确,则从 System.in 读取 - Java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM