不使用泛型的ArrayList java程序
我被指派在不使用泛型的情况下实现ArrayList和LinkedList。问题在于insertnode()方法。虽然我尝试使用扫描器从命令行读取,但该方法返回时不会等待不使用泛型的ArrayList java程序,java,algorithm,arraylist,Java,Algorithm,Arraylist,我被指派在不使用泛型的情况下实现ArrayList和LinkedList。问题在于insertnode()方法。虽然我尝试使用扫描器从命令行读取,但该方法返回时不会等待 import static java.lang.System.out; import java.util.Scanner; class Arraylist { public static final int LIST_SIZE=30; static Scanner input = new Scanner(System.in);
import static java.lang.System.out;
import java.util.Scanner;
class Arraylist
{
public static final int LIST_SIZE=30;
static Scanner input = new Scanner(System.in);
static Object list[];
static int top = -1;
static int typeoflist;
public static void displaymenu()
{
int choice;
do{
out.print("\n Basic operations on a linked list:");
out.print("\n 1. Create list \n 2. Insert node \n 3. Delete node \n 4. Modify node \n 5. Search value \n 6. Print list\n Else. Exit \n Choice:");
choice = input.nextInt();
switch(choice)
{
case 1:
list = createlist();
break;
case 2:
insertnode();
break;
case 3:
//deletenode();
break;
case 4:
//modifynode();
break;
case 5:
//searchnode();
break;
case 6:
printlist();
break;
default:
return;
}
}while(true);
}
public static Object[] createlist()
{
int typeoflist;
out.println("Enter your choice of list datatype: \n 1. int \n 2. float \n 3. char \n 4. String \n 5. UserDefined \n Choice:");
typeoflist = input.nextInt();
switch(typeoflist)
{
case 1:
list = new Integer[LIST_SIZE];
break;
case 2:
list = new Float[LIST_SIZE];
break;
case 3:
list = new Character[LIST_SIZE];
break;
case 4:
list = new String[LIST_SIZE];
break;
}
return (Object[])list;
}
public static void insertnode()
{
Object o;
top++;
out.println("Enter the value to insert:");
switch(typeoflist)
{
case 1:
o = (Integer)input.nextInt();
list[top] = o;
break;
case 2:
o = (Float)input.nextFloat();
list[top] = o;
break;
case 3:
//o = (Character)input.next(); //
//list[top] = o;
break;
case 4:
o = (String)input.next();
list[top] = o;
break;
}
}
public static void printlist()
{
for(int i =0; i<top; i++)
{
out.println(list[i]);
}
}
public static void main(String[] args)
{
displaymenu();
}
}
导入静态java.lang.System.out;
导入java.util.Scanner;
类数组列表
{
公共静态最终整数列表\u大小=30;
静态扫描仪输入=新扫描仪(System.in);
静态对象列表[];
静态int-top=-1;
静态int类型列表;
公共静态无效显示菜单()
{
智力选择;
做{
out.print(“\n链接列表上的基本操作:”);
out.print(“\n 1.创建列表\n 2.插入节点\n 3.删除节点\n 4.修改节点\n 5.搜索值\n 6.打印列表\n其他.退出\n选项:”);
choice=input.nextInt();
开关(选择)
{
案例1:
list=createlist();
打破
案例2:
insertnode();
打破
案例3:
//deletenode();
打破
案例4:
//modifynode();
打破
案例5:
//searchnode();
打破
案例6:
打印列表();
打破
违约:
返回;
}
}虽然(正确);
}
公共静态对象[]createlist()
{
整型列表;
out.println(“输入您对列表数据类型的选择:\n 1.int\n 2.float\n 3.char\n 4.String\n 5.UserDefined\n choice:”);
typeoflist=input.nextInt();
开关(类型列表)
{
案例1:
列表=新整数[列表大小];
打破
案例2:
列表=新浮动[列表大小];
打破
案例3:
列表=新字符[列表大小];
打破
案例4:
列表=新字符串[列表大小];
打破
}
返回(对象[])列表;
}
公共静态void insertnode()
{
对象o;
top++;
out.println(“输入要插入的值:”);
开关(类型列表)
{
案例1:
o=(整数)input.nextInt();
列表[top]=o;
打破
案例2:
o=(Float)input.nextFloat();
列表[top]=o;
打破
案例3:
//o=(字符)input.next()//
//列表[top]=o;
打破
案例4:
o=(字符串)input.next();
列表[top]=o;
打破
}
}
公共静态void打印列表()
{
对于(int i=0;i提示:createList()
中的typeoflist
正在隐藏静态成员变量。现在我需要对LinkedList进行同样的尝试。所有这些强制转换都会让我变得复杂!!!