ArrayList如何将输入存储到Java列表中
所以基本上我要做一份菜单,包括这个
- List of clients ( when pressing this it should load the list of clients I've added).
- Add clients ( adding clients )
- Edit clients
- remove client.
我需要帮助的地方是客户端列表,当我按nr 2(添加客户端并插入名称)时,我希望它被保存到客户端列表中,但我不知道该怎么做,我对java非常陌生
import java.util.ArrayList;
import java.util.Scanner;
public class Friends {
public static ArrayList clients=new ArrayList<>();
public static void a(){
}
public static void b (){
}
public static void c(){
System.out.println("c");
}
public static void printMenu(){
System.out.println("==========================");
System.out.println("Main menu");
System.out.println("--------------------------");
System.out.println("1 - List clients");
System.out.println("2 - Add clients");
System.out.println("3 - Edit client");
System.out.println("4 - Remove Client");
System.out.println("0 -Exit");
System.out.println("==========================");
System.out.print("Please enter your choice: ");
}
public static int getUserMenu(Scanner s){
String input = s.nextLine();
int number = -1;
try {
number = Integer.parseInt(input);
} catch (NumberFormatException e){
}
return number;
}
public static ArrayList<Integer> addClient(){
Scanner sc = new Scanner(System. in);
System.out.print("Please enter a client: ");
String input = sc.nextLine();
clients.add(input);
System.out.println("");
System.out.println("You have added new client : " + clients);
System.out.println("");
for(int i=0;i<clients.size();i++);
{
System.out.println("There are " + clients.size());
}
return clients;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System. in);
int choice= -1;
while( choice != 0) {
printMenu();
choice = getUserMenu(sc);
switch ( choice )
{
case 1: a(); break;
case 2: b(); addClient();
break;
case 3: c(); break;
case 0 : System.out.println("Bye!"); break;
default : System.out.println("Invalid number!");break;
}
}
sc.close();
}
}
# 1 楼答案
我认为你真正的问题是你很难正确打印列表,这导致你认为你没有将输入添加到列表中。(事实上……我想你有……)
以下是您打印列表的尝试:
这有两个问题:
循环的主体只是打印列表大小。如果你想打印第
i
个元素,你需要调用clients.get(i)
实际上,这个循环体根本不是循环体。请看以
for(int i=
开头的语句。现在看这一行的结尾。你看到分号了吗?这就是for
循环的主体!对一句空话去掉分号,它不应该在那里