import java.io.IOException;
import java.io.InputStreamReader;
import java.util.InputMismatchException;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
public class LinkedListDemo {
LinkedList<Character> ch = new LinkedList<Character>();
public void menu()
{
System.out.printf("1 to insert an element into the list\n2 to" +
"delete an element from the list\n3 to end\n? ");
}
public void push(char val)
{
ch.push( val);
}
/**
* 注意这里的型参只能用Object的类型,否则他会返回int,搞了好一会
*/
public boolean pop(Object val)
{
return ch.remove(val);
}
/**
* 迭代器
*/
public void pub()
{
Iterator<Character> iterator = ch.iterator();
while(iterator.hasNext())
{
System.out.printf("%s-->", iterator.next());
}
System.out.println("null");
}
/**
* 要读取字节流转换到字符流,用InputStreamReader
* 刚开始用scanner,走了一些弯路,因为scanner只能用于String方法
* @throws IOException
*/
public void center() throws IOException
{
menu();
int a;
char c;
InputStreamReader in;
Scanner input = new Scanner(System.in);
try{
while ( (a = input.nextInt() )!=3 )
{
switch(a)
{
case 1:
System.out.print("Enter a charatcer: ");
try {
in = new InputStreamReader(System.in);
push(c =(char) in.read() );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pub();
break;
case 2:
System.out.print("Enter a charatcer: ");
in = new InputStreamReader(System.in);
c = (char) in.read();
if( pop(c))
System.out.printf("%s deleted\n", c);
else
System.out.printf("%s not found\n", c);
pub();
break;
default:
System.out.println("error input");
}
menu();
}
}
catch(InputMismatchException e)
{
System.out.println("Error input");
input.nextLine();
center();
}
}
public static void main (String argc[]) throws IOException
{
LinkedListDemo ls = new LinkedListDemo();
ls.center();
}
}
Linkedlist练习总结
最新推荐文章于 2021-09-27 22:17:52 发布