如何在java中创建待办事项列表?

如何在java中创建待办事项列表?,java,arraylist,java.util.scanner,Java,Arraylist,Java.util.scanner,我需要用java创建一个功能正常的待办事项列表,允许用户: 添加项目 删除项目 显示列表 删除所有任务 退出程序 我当前无法将项目添加到列表中。每次输入要添加的项目时,我都会收到以下输出: Exception in thread "main" java.util.InputMismatchException at java.base/java.util.Scanner.throwFor(Scanner.java:939) at java.base/java.util.Scanner.next(S

我需要用java创建一个功能正常的待办事项列表,允许用户:

  • 添加项目

  • 删除项目

  • 显示列表

  • 删除所有任务

  • 退出程序

  • 我当前无法将项目添加到列表中。每次输入要添加的项目时,我都会收到以下输出:

    Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:939)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
    at Test.menu(Test.java:50)
    at Test.main(Test.java:11)
    
    以下是我迄今为止所做的尝试,如有任何帮助,我将不胜感激:

    import java.util.Scanner;
    import java.util.ArrayList;
    
    public class Test {
    
    public static void main(String[] args) {
    
        int menuItem = -1;
    
        while(menuItem !=0) {
            menuItem = menu();
    
            switch(menuItem) {
    
            case 1: 
                showList();
                break;
    
            case 2: 
                addItem();
                break;
    
            case 3: 
                removeItem();
                break;
    
            case 0: 
                break;
    
            default: 
                System.out.println("Enter a valid option");
            }
    
        }
    }
    
    public static int menu() {
    
    int choice; 
    
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Main Menu");
    System.out.println();
    System.out.println("0. Exit the program");
    System.out.println("1. Display to-do list");
    System.out.println("2. Add item to list");
    System.out.println("3. Remove item from list");
    System.out.println();
    System.out.print("Enter choice: ");
    choice = keyboard.nextInt();
    
    return choice;
    }
    
    public static void showList() {
    
    System.out.println("To-Do List");
    
    Scanner input = new Scanner(System.in);
    String line;
    int number = 1;
    
    while (input.hasNextLine()){
        line = input.nextLine();
        System.out.println(number + " ");
        System.out.println(line);
        ++number;
    }
    
    System.out.println();
    
    
    }
    
    public static void addItem() {
    
    System.out.println("Add Item");
    
    Scanner input = new Scanner(System.in);
    System.out.println("Enter an item: ");
    String item = input.nextLine();
    System.out.println(item);
    
    
    }
    
    public static void removeItem() {
    
    int choice;
    showList();
    
    Scanner input = new Scanner(System.in);
    System.out.println("What do you want to remove?");
    choice = input.nextInt();
    
    ArrayList<String> items = new ArrayList<String>();
    int number = 1;
    
    Scanner input2 = new Scanner(System.in);
    String item; 
    
    while (input2.hasNextLine()) {
        item = input2.nextLine();
    
        if (number != choice) 
            items.add(item);
    
        ++number;   
    }
    
    for(int i = 0; i < items.size(); i++)
        System.out.println(items.get(i));
    
        }
    }
    
    import java.util.Scanner;
    导入java.util.ArrayList;
    公开课考试{
    公共静态void main(字符串[]args){
    int menuItem=-1;
    while(menuItem!=0){
    menuItem=菜单();
    开关(菜单项){
    案例1:
    showList();
    打破
    案例2:
    addItem();
    打破
    案例3:
    removeItem();
    打破
    案例0:
    打破
    违约:
    System.out.println(“输入有效选项”);
    }
    }
    }
    公共静态int菜单(){
    智力选择;
    扫描仪键盘=新扫描仪(System.in);
    System.out.println(“主菜单”);
    System.out.println();
    System.out.println(“0.退出程序”);
    System.out.println(“1.显示待办事项列表”);
    System.out.println(“2.将项目添加到列表”);
    System.out.println(“3.从列表中删除项”);
    System.out.println();
    System.out.print(“输入选项:”);
    choice=keyboard.nextInt();
    回报选择;
    }
    公共静态void showList(){
    System.out.println(“待办事项列表”);
    扫描仪输入=新扫描仪(System.in);
    弦线;
    整数=1;
    while(input.hasNextLine()){
    line=input.nextLine();
    System.out.println(数字+“”);
    系统输出打印项次(行);
    ++数量;
    }
    System.out.println();
    }
    公共静态void addItem(){
    系统输出打印项次(“添加项”);
    扫描仪输入=新扫描仪(System.in);
    System.out.println(“输入项:”);
    String item=input.nextLine();
    系统输出打印项次(项);
    }
    公共静态void removietem(){
    智力选择;
    showList();
    扫描仪输入=新扫描仪(System.in);
    System.out.println(“您想要删除什么?”);
    choice=input.nextInt();
    ArrayList items=新建ArrayList();
    整数=1;
    扫描仪输入2=新扫描仪(System.in);
    字符串项;
    while(input2.hasNextLine()){
    item=input2.nextLine();
    如果(数字!=选择)
    项目。添加(项目);
    ++数量;
    }
    对于(int i=0;i
    您缺少从列表中添加或删除的实际操作@DrMe通过这些程序,你可以发现你哪里做错了。我希望这能帮助你

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class TestToDoList {
    
        private static List<String> currentList = new ArrayList<String>();
    
        public static void main(String[] args) {
    
            int menuItem = -1;
            while (menuItem != 0) {
                menuItem = menu();
                switch (menuItem) {
                case 1:
                    showList();
                    break;
                case 2:
                    addItem();
                    break;
                case 3:
                    removeItem();
                    break;
                case 0:
                    break;
                default:
                    System.out.println("Enter a valid option");
                }
            }
        }
    
        public static int menu() {
            System.out.println();
            System.out.println("----------------------");
            System.out.println("Main Menu");
            System.out.println("----------------------");
            System.out.println("0. Exit the program");
            System.out.println("1. Display to-do list");
            System.out.println("2. Add item to list");
            System.out.println("3. Remove item from list");
            System.out.println();
            System.out.print("Enter choice: ");
            int choice = scanner.nextInt();
            return choice;
        }
    
        public static void showList() {
            System.out.println();
            System.out.println("----------------------");       
            System.out.println("To-Do List");
            System.out.println("----------------------");
            int number = 0;
            for (String item : currentList) {
                System.out.println(++number + " " + item);
            }
            System.out.println("----------------------");
    
    
        }
    
        public static void addItem() {
            System.out.println("Add Item");
            System.out.println("----------------------");
            System.out.print("Enter an item: ");
            Scanner scanner = new Scanner(System.in);
            String item = scanner.nextLine();
            currentList.add(item);
            showList();
        }
    
        public static void removeItem() {
            System.out.println("Remove Item");
            System.out.println("----------------------");
            Scanner scanner = new Scanner(System.in);
            System.out.print("What do you want to remove?");
            int index = scanner.nextInt();
            if((index-1)<0 || index>currentList.size()) {
                System.out.println("Wrong index number! Please enter in range of 1 to "+currentList.size());            
            }else {
                currentList.remove(index-1);
            }
            System.out.println("----------------------");
            showList();
    
    
        }
    }
    
    import java.util.ArrayList;
    导入java.util.List;
    导入java.util.Scanner;
    公共类TestToDoList{
    private static List currentList=new ArrayList();
    公共静态void main(字符串[]args){
    int menuItem=-1;
    while(menuItem!=0){
    menuItem=菜单();
    开关(菜单项){
    案例1:
    showList();
    打破
    案例2:
    addItem();
    打破
    案例3:
    removeItem();
    打破
    案例0:
    打破
    违约:
    System.out.println(“输入有效选项”);
    }
    }
    }
    公共静态int菜单(){
    System.out.println();
    System.out.println(“-------------------------”);
    System.out.println(“主菜单”);
    System.out.println(“-------------------------”);
    System.out.println(“0.退出程序”);
    System.out.println(“1.显示待办事项列表”);
    System.out.println(“2.将项目添加到列表”);
    System.out.println(“3.从列表中删除项”);
    System.out.println();
    System.out.print(“输入选项:”);
    int choice=scanner.nextInt();
    回报选择;
    }
    公共静态void showList(){
    System.out.println();
    System.out.println(“-------------------------”);
    System.out.println(“待办事项列表”);
    System.out.println(“-------------------------”);
    整数=0;
    用于(字符串项:currentList){
    System.out.println(++number+“”+项);
    }
    System.out.println(“-------------------------”);
    }
    公共静态void addItem(){
    系统输出打印项次(“添加项”);
    System.out.println(“-------------------------”);
    系统输出打印(“输入项目:”);
    扫描仪=新的扫描仪(System.in);
    字符串项=scanner.nextLine();
    当前列表。添加(项);
    showList();
    }
    公共静态void removietem(){
    系统输出打印项次(“删除项”);
    System.out.println(“-------------------------”);
    扫描仪=新的扫描仪(System.in);
    System.out.print(“您想要删除什么?”);
    int index=scanner.nextInt();
    如果((索引-1)currentList.size()){
    System.out.println(“错误的索引号!请输入1到“+currentList.size()”);
    }否则{
    当前列表。删除(索引-1);
    }
    System.out.println(“-------------------------”);
    showList();
    }
    }
    

    使用泛型和UTIL方法进一步改进。

    您缺少从列表中添加或删除的实际操作@DrMe通过这些程序,你可以发现你哪里做错了。我希望这能帮助你

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class TestToDoList {
    
        private static List<String> currentList = new ArrayList<String>();
    
        public static void main(String[] args) {
    
            int menuItem = -1;
            while (menuItem != 0) {
                menuItem = menu();
                switch (menuItem) {
                case 1:
                    showList();
                    break;
                case 2:
                    addItem();
                    break;
                case 3:
                    removeItem();
                    break;
                case 0:
                    break;
                default:
                    System.out.println("Enter a valid option");
                }
            }
        }
    
        public static int menu() {
            System.out.println();
            System.out.println("----------------------");
            System.out.println("Main Menu");
            System.out.println("----------------------");
            System.out.println("0. Exit the program");
            System.out.println("1. Display to-do list");
            System.out.println("2. Add item to list");
            System.out.println("3. Remove item from list");
            System.out.println();
            System.out.print("Enter choice: ");
            int choice = scanner.nextInt();
            return choice;
        }
    
        public static void showList() {
            System.out.println();
            System.out.println("----------------------");       
            System.out.println("To-Do List");
            System.out.println("----------------------");
            int number = 0;
            for (String item : currentList) {
                System.out.println(++number + " " + item);
            }
            System.out.println("----------------------");
    
    
        }
    
        public static void addItem() {
            System.out.println("Add Item");
            System.out.println("----------------------");
            System.out.print("Enter an item: ");
            Scanner scanner = new Scanner(System.in);
            String item = scanner.nextLine();
            currentList.add(item);
            showList();
        }
    
        public static void removeItem() {
            System.out.println("Remove Item");
            System.out.println("----------------------");
            Scanner scanner = new Scanner(System.in);
            System.out.print("What do you want to remove?");
            int index = scanner.nextInt();
            if((index-1)<0 || index>currentList.size()) {
                System.out.println("Wrong index number! Please enter in range of 1 to "+currentList.size());            
            }else {
                currentList.remove(index-1);
            }
            System.out.println("----------------------");
            showList();
    
    
        }
    }
    
    import java.util.ArrayList;
    导入java.util.List;
    导入java.util.Scanner;
    公共类TestToDoList{
    private static List currentList=new ArrayList();
    公共静态void main(字符串[]args){
    int menuItem=-1;
    while(menuItem!=0){
    menuItem=菜单();
    开关(菜单项){
    案例1:
    showList();
    打破
    案例2:
    addItem();
    打破
    案例3:
    removeItem();
    打破