如何在java中创建待办事项列表?
我需要用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
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();
打破