代码运行良好,但我在方法中显示 ArrayList 时遇到问题。我尝试寻找我可能错过的任何空白字符。
public static void main(String[] args) {
int choice = 0;
String input ="";
do{
ArrayList<String> fruits = new ArrayList<>();
System.out.println("Choose an option: ");
System.out.println("1. Add a fruit\n2. Delete a fruit");
System.out.println("3. Display fruits\n4. Exit");
choice = scan.nextInt();
if(choice == 1)
{
input = addFruit(input);
fruits.add(input);
}
else if(choice == 2)
{
input = deleteFruit(input);
fruits.remove(input);
System.out.println(input + " deleted from the list");
}
else if(choice == 3)
{
displayFruit(fruits);
}
}while(choice !=4);
System.out.println("Exiting the program. Goodbye!");
}
public static void displayFruit(ArrayList<String> f)
{
for(int i=0;i<f.size();i++)
{
System.out.println("Here is the list: " + f.get(i));
}
}
public static String addFruit(String i)
{
scan.nextLine();
System.out.print("Enter the name of the fruit: ");
i = scan.nextLine();
return i;
}
public static String deleteFruit(String i)
{
scan.nextLine();
System.out.print("Enter the name of the fruit you want to delete: ");
i = scan.nextLine();
return i;
}
}
我尝试重写displayFruit的输出循环,但没有成功。
由于您在 do-while 循环内初始化以下语句,因此每次执行 while 循环时都会对其进行初始化
ArrayList<String> fruits = new ArrayList<>();
将上面的行移到 while 循环之前