【发布时间】:2017-08-31 19:52:35
【问题描述】:
好吧,所以我有一种感觉,解释我的意思可能非常困难,但是,我会尝试。 所以,基本上我想做的是CREATE下一个OBJECT并PLACE使用ARRAYLIST ARRAYLIST strong>用户输入。
是否可以使用 ArrayList 的计数来实现它? 假设我的构造函数允许传递一个名称以创建一个对象,我是否能够向用户询问该名称并稍后使用它来执行此操作,然后将其传递给已创建的 ArrayList?
我觉得我无法正确解释我的意思,英语不是我的第一语言,抱歉。 :)
public class Voter
{
private String name;
private ArrayList<Voter> voters;
public Voter(){
this.name = "";
voters = new ArrayList();
}
public Voter(String name)
{
this.name = name;
voters = new ArrayList<>();
}
public void add(Voter v)
{
if (!this.voters.contains(v))
{
this.voters.add(v);
}
}
}
public static void main(String[] args)
{
Voter v1 = new Voter("Admin");
Voter v = new Voter();
v.add(v1);
displayMenu();
int option = getInt("Enter Option:", 0, 3);
while (option != END)
{
if (option == 1)
{
doOption1();
int count = v.countArray(v);
}
}
}
public static void displayMenu()
{
System.out.println("\nSample Menu of Options");
System.out.println("0. Exit this menu");
System.out.println("1. Option 1");
}
public static void doOption1()
{
System.out.println("Please, enter the below details to register for
voting system.");
System.out.println("Full name");
String name = keyboard.nextLine();
//THIS IS WHERE I WANT TO CREATE A NEW OBJECT AND PUT IT AS AN ELEMENT OF
//MY Voter ARRAYLIST
}
public static int getInt(String prompt, int min, int max)
{
System.out.print(prompt);
int value = keyboard.nextInt();
while ((value < min) || (value > max))
{
System.out.println("Invalid - [" + min + "," + max + "] only");
System.out.print(prompt);
value = keyboard.nextInt();
}
keyboard.nextLine();
return value;
}
【问题讨论】:
-
好的,所以您希望允许用户通过用户输入定义对象属性,然后将构造的对象添加到 ArrayList 中?
-
首先,您需要一个 SCANNER 来读取 USER INPUT,然后您需要 STORE VARIABLE 中的 USER INPUT,或直接将其添加到 ARRAYLIST。
-
确实不清楚你在问什么。最好的办法:展示你当前的代码并解释你卡在哪里。首先阅读“如何创建minimal reproducible example”。
-
我想使用用户的输入(在本例中为名称)作为构造函数的参数创建一个全新的对象,然后将这个新创建的类实例添加到 ArrayList。
-
@G.Martyna 您必须至少提供一些代码才能让人们帮助您。代码当然不必工作,但至少提供您尝试过的内容。
标签: java class object arraylist instances