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