【发布时间】:2021-12-31 16:01:51
【问题描述】:
我正在创建一个 Usuario 类,它存储在另一个名为 Usuarios 的类中的 ArrayList 中,我正在尝试制作一个代码,允许用户输入他的姓名和类的对象Usuario 存储在一个名为 usuario_logado 的变量中,以备不时之需。
这是我的Usuarios 课程:
import java.util.ArrayList;
public class Usuarios {
private static ArrayList<Usuario> UsersList = new ArrayList<Usuario>();
public static ArrayList<Usuario> getUsuarios(){
return Usuarios.UsersList;
}
public static void addUser(Usuario u){
UsersList.add(u);
}
}
这是我的Usuario 课程:
import java.util.ArrayList;
/**
* Usuario
*/
public class Usuario {
private static int indexes = 0;
private int index;
private String nome;
private String email;
public Usuario(){
}
public Usuario(String nome, String email){
this.nome = nome;
this.email = email;
Usuarios.addUser(this);
this.index = indexes;
indexes++;
}
public String getNome(){
return nome;
}
public String getEmail(){
return email;
}
public int getIndex(){
return index;
}
public String getString(){
return "Nome : " + this.nome + " E-mail : " + this.email + " index:" + this.index;
}
}
这是类应用程序中的主要功能:
import java.util.ArrayList;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Usuario user0 = new Usuario("None", "None");
Usuario user1 = new Usuario("Thomas", "anotheremail@hotmail.com");
Usuario user2 = new Usuario("juao", "juaozinhogeimepleis@hotmail.com");
Usuario user3 = new Usuario("marcia", "jooj@hotmail.com");
Usuario user4 = new Usuario("Ednaldo", "valenada@hotmail.com");
Usuario user5 = new Usuario("Fausto", "olokobixo@hotmail.com");
Usuario usuario_logado = new Usuario();
Scanner input = new Scanner(System.in);
System.out.print("Login \n Username :");
String nome = input.next();
for(Usuario user : Usuarios.getUsuarios()){
if(user.getNome().equals(nome)){
usuario_logado = user;
}
}
usuario_logado.getString();
}
}
有什么方法可以将 usuario(user) 存储在主函数中?
【问题讨论】:
-
从您的班级
Usuarios中删除所有statics,在您的main中创建Usuarios的实例,并为您的每个Usuario实例调用addUser。此外,您在问“如何在我的主函数中创建对对象的引用”,但您已经在创建其他对象的实例。Usuarios类也不例外。