import java.io.*;
import java.util.*;
import java.lang.*;
class MenuList
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
List<String> items=new ArrayList<String>();
int y;
do
{
//String n="";
//int i=0;
System.out.println("********************");
System.out.println(" MENU");
System.out.println("********************");
System.out.println("Press 1 to Add an Array with to List : ");
System.out.println("Press 2 to Remove an Array from the List : ");
System.out.println("Press 3 to Add Array at an Index in the List : ");
System.out.println("Press 4 to Replace an Array in the List: ");
System.out.println("Press 5 to Show the Output : ");
System.out.println("Press 6 to exit");
y=sc.nextInt();
//int [] arr= new int[5];
switch(y)
{
case 1:
System.out.println("Enter the Element to be added ");
items.add(sc.next());
break;
case 2:
System.out.println("Enter the Element's postion which you want to Remove ");
items.remove(sc.nextInt());
break;
в случае 3 и 4 я получаю ту же ошибку, как и раньше. несоответствие вводаЯ хочу создать MenuBased ArrayList в Java
case 3: System.out.println("Enter the Elements postion and Element to be added : "); items.add(sc.nextInt(),sc.next()); break;
Индекс начинается с 0 и увеличивается. Я ввожу 4 значения, а затем пытались изменения значения на 2 индекса он показал мне ошибку входного сигнала рассогласования
case 4: System.out.println("Enter the Elements postion and Element to be replaced :"); items.set(sc.nextInt(),sc.next()); break; case 5: System.out.println("Values you stored are as follows : " +items); break; case 6 : break; default: System.out.println("You Have Entered Invalid Choice "); } } while(y != 6); }
}
Какова цель переменной 'n' в коде? Избавьтесь от этого, и ваше 'InputMismatchException' исчезнет. --- Кроме того, вы хотите переместить «новый сканер» и «новый ArrayList' * вне * цикла. – Andreas
Спасибо за совет. Теперь я получаю ту же ошибку в случае 3 и 4. Мне нужно добавить индекс для случая 3 и 4. если да, то где я должен добавить его? –
Я хотел назначить переменную для входных данных, которые будет выполняться программой. Поэтому я использовал «n» и инициализировал его. Возможно ли это? или логика/подход позади этого неправильны? –