因為我的BufferedReader那裡出了點問題 所以這個是沒有File的版本
可以跑 但不能存檔
File寫好會PO上來
====================================================結果
====================================================Menu.java(功能表
import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Menu {
public static void main(String[] args) throws IOException {
CloudList cloud=new CloudList();
Scanner s =new Scanner(System.in);
//主功能表
int item=0;
while(item>0||item<6){
System.out.println("***********************");
System.out.println("*起雲劑搜尋系統功能列表 *");
System.out.println("*1.顯示所有系統資料 *");
System.out.println("*2.搜尋特定資料編號 *");
System.out.println("*3.插入一個產品資料 *");
System.out.println("*4.刪除一個產品資料 *");
System.out.println("*5.新增一個產品資料 *");
System.out.println("*6.任意鍵結束 *");
System.out.println("***********************");
try{
item=s.nextInt();
}catch(InputMismatchException e){
System.out.println("請輸入整數");
s.next();
}
//使用者選擇功能後,用switch執行子功能
switch(item){
case 1:
cloud.PrintData();
break;
case 2:
cloud.SearchData();
break;
case 3:
cloud.InsertData();
break;
case 4:
cloud.DeleteData();
break;
case 5:
cloud.NewData();
break;
default:
break;
}
if(item==6)
break;
}
}
}
====================================================CloudList(主程式)
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;
public class CloudList {
LinkedList data =new LinkedList();
Scanner s=new Scanner(System.in);
Menu m=new Menu();
//1.顯示所有系統資料
public void PrintData() throws IOException{
if(data.isEmpty()){
System.out.println("目前無任何資料");
}else{
for(int item=0;item<data.size();item++){
System.out.println("編號:"+(item+1)+" 產品名稱:"+data.get(item));
}
}
}
//2.搜尋特定資料編號
public void SearchData(){
int SearchKey;
System.out.println("請輸入要搜尋的產品編號:");
SearchKey=s.nextInt()-1;
if(SearchKey>=0&&SearchKey<data.size()){
System.out.println("編號:"+(SearchKey+1)+" 產品:"+data.get(SearchKey));
}else{
System.out.println("無產品編號");
}
}
//3.插入一個產品資料
public void InsertData(){
int InsertKey;
String name;
int Poison;
while(1<2){
System.out.println("請輸入商品編號:");
InsertKey=s.nextInt()-1;
if(InsertKey>=0&&InsertKey<data.size()){
System.out.println("請輸入商品名稱:");
name=s.next();
System.out.println("商品有毒請輸入1無毒輸入0:");
Poison=s.nextInt();
if(Poison==1){
data.add(InsertKey,name+"有毒");
break;
}else if(Poison==0){
data.add(InsertKey,name+"無毒");
break;
}else{
System.out.println("請輸入1或0");
}
}else{
System.out.println("請輸入已有編號如要新增請到新增產品");
}
}
}
//4.刪除一個產品資料
public void DeleteData(){
int key;
System.out.println("請輸入要刪除的產品編號:");
key=s.nextInt()-1;
if(key>=0&&key<data.size()){
data.remove(key);
}else{
System.out.println("請輸入正確編號");
}
}
//5.新增一個產品資料
public void NewData() throws IOException{
String name;
int Poison;
while(1<2){
System.out.println("請輸入商品名稱:");
name=s.next();
System.out.println("商品有毒請輸入1無毒輸入0:");
Poison=s.nextInt();
if(Poison==1){
data.add(name+"有毒");
break;
}else if(Poison==0){
data.add(name+"無毒");
break;
}else{
System.out.println("請輸入1或0");
}
}
}
class CloudData {
String Name;//產品名稱
boolean Poison;//預設無毒false
public CloudData(String n,boolean p){
Name=n;
Poison=p;
}
}
}