Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Loops - Fatal编程技术网

Java—使用静态代码和对象创建循环

Java—使用静态代码和对象创建循环,java,list,loops,Java,List,Loops,我一直在琢磨这个主要的编程概念……如何用循环替换重复的代码 样本: System.out.println("Name:"); String name = input.next(); System.out.println("Age"); int age = input.nextInt(); System.out.println("Sex"); double sex= input.next(); System.out.println("Location:"); String location=

我一直在琢磨这个主要的编程概念……如何用循环替换重复的代码

样本:

System.out.println("Name:");
String name = input.next();

System.out.println("Age");
int age = input.nextInt();

System.out.println("Sex");
double sex= input.next();

System.out.println("Location:");
String location= input.next();

System.out.println("Subscribe:");
boolean subscribe= input.nextBoolean();
user.set(name, age, sex, location); // user object would hold this information
user.set(subscribe);
我已经创建了一个带有mutator和accessor的类来处理返回,但是我不知道如何在不调用user1、user2、user3…等的情况下为五个不同的用户编写上述代码

我曾经尝试过使用一个最多可以计数5的for循环,但我不知道如何将其指向用户对象


想法?对一些参考文献的指导会很有帮助。我试图真正理解这一概念。

将此代码封装在一个函数中,该函数将从输入中获取数据,创建一个新用户并返回它:

 public User getUser() {
    Scanner input = new Scanner(System.in);

    User user = new User();

    System.out.println("Name:");
    String name = input.next();

    System.out.println("Age");
    int age = input.nextInt();

    System.out.println("Sex");
    double sex= input.next();

    System.out.println("Location:");
    String location= input.next();

    System.out.println("Subscribe:");
    boolean subscribe= input.nextBoolean();
    user.set(name, age, sex, location); // user object would hold this information
    user.set(subscribe);

    return user;
}
然后您可以使用它:

  • 可以使用对象数组

    User[] users = new User[5];
    
    List<User> list = new ArrayList<User>();
    
    for (int i=0; i<5; i++) {
        list.add(getUser());
    }
    
然后您可以循环:

    for (int i=0; i<5; i++) {
        users[i] = getUser();
    }

for(int i=0;i首先创建一个用户数组:

User[] users = new User[5] ; //Where 5 is the number of objects you want to store.
for (int i = 0 ; i < 5 ; i++){ //Fill it
  users[0] = new User();
}

创建
User
对象的集合(数组或
ArrayList
)。创建一个循环。每次循环迭代后,创建一个新的
User
对象,设置其值(请创建一些有意义的设置器)并将对象添加到集合中。这正是我所缺少的!如果我使用对象数组,我还需要导入包吗?如果您使用的是List和ArrayList,则需要导入它们。如果您使用的是常规数组,则无需导入任何特定包。@Melquiades-我已尝试在我的驱动程序和我的主类,但是,我得到了一个“用户”找不到符号的错误。此外,我的驱动程序类也出现了相同的错误。我使用的是NetBeans IDE,两个文件都在同一个文件夹中。在我编译之前它们不会看到对方吗?用户函数应该在我的主类中可见。您有User.set(认购);
for (User user : users){
  user.set(stuff);
  user.do();
}