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中创建对象数组并接受用户输入?我写了下面的代码,但让我感到困惑_Java_Arrays - Fatal编程技术网

如何在java中创建对象数组并接受用户输入?我写了下面的代码,但让我感到困惑

如何在java中创建对象数组并接受用户输入?我写了下面的代码,但让我感到困惑,java,arrays,Java,Arrays,我已经编写了第一个类并声明了所有变量和方法(get和set方法)。在第二类中,我创建了一个数组对象,但它不能正常工作,可能是我在某个地方出错了,所以请任何人帮我一下 #一级 package com.javaArray; public class ArrayOfObject { private String fName; private String lName; public String getfName() { return fName; } public String get

我已经编写了第一个类并声明了所有变量和方法(get和set方法)。在第二类中,我创建了一个数组对象,但它不能正常工作,可能是我在某个地方出错了,所以请任何人帮我一下

#一级

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

#二级

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());
    }
}
package com.javaArray;
导入java.util.Scanner;
公共阶层人士{
公共静态void main(字符串[]args){
ArrayOfoObject[]arr=新的ArrayOfoObject[5];
扫描仪sc=新的扫描仪(System.in);
对于(int i=0;i
ArrayOfoObject[]arr=新的ArrayOfoObject[5]

在这一步中,您只需初始化
数组
,而不是数组中的对象

因此,在每个步骤中,必须通过以下操作初始化每个对象:

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

在这一步中,您只需初始化
数组
,而不是数组中的对象

因此,在每个步骤中,必须通过以下操作初始化每个对象:

for (int i = 0; i < arr.length; i++) {    
    arr[i] = new ArrayOfObject();
    System.out.println("Enter First Name");
    ...
for(inti=0;i
首先,不需要getter和setter以及所有其他代码。您可以使用库Lombok,因此不需要编写大量代码。因此,您的第一个类应该如下所示:

@Data
public class ArrayOfObject {

private String fName;
private String lName;

}

类2的第二件事你可以参考:如果我答对了你的问题。

首先,不需要getter和setter以及所有额外的代码。你可以使用库Lombok,所以你不需要写很多代码。因此你的第一个类应该是:

@Data
public class ArrayOfObject {

private String fName;
private String lName;

}

第二类的第二件事是:如果我答对了你的问题。

我答对了。谢谢你,兄弟。这是我在堆栈溢出中遇到的第一个问题,你在一分钟内就回答了我的问题。非常感谢。不客气:)因为这是一个新手在
Java
:)中的常见错误,所以请继续学习并享受编码,兄弟:)我明白了。谢谢兄弟。这是我在堆栈溢出中遇到的第一个问题,你在一分钟内就回答了我的问题。非常感谢。不客气:)因为这是
Java新手的常见错误:)所以只要继续学习并享受编码,兄弟:)使用nextLine而不是nextuse nextLine而不是nextIt的
@Getter
@Setter
(没有s)。而且,
@Data
意味着
@Getter
@Setter
,所以后两个可以省略。它是
@Getter
@Setter
(不带s)。此外,
@Data
意味着
@Getter
@Setter
,因此后两者可以省略。