借書系統的編程
package com.democ1;
import java.util.*;//調用Java包
public class Book { ?
public static void main(String[] args) {
? ? ?System.out.println("##歡迎使用借書系統##");
? ? ?System.out.println("請瀏覽書籍:");
? ? ?String[] bookname={"論語","三字經","詩經","西游記","水滸傳","三國演義","紅樓夢"};
? ? ?System.out.println(Arrays.toString(bookname));//打印輸出系統中的叢書
? ? ?System.out.println("1.書名查找;2.序號查找");
? ? ?System.out.print("請輸入您使用的查找方法:");
@SuppressWarnings("resource")
Scanner input=new Scanner(System.in);
? ? ?int chioce=input.nextInt();//創建選擇查找方法的輸入口
? ? ?switch(chioce){//使用switch循環語句
? ? ?case 1:
? ? int j=0;
? ? String[] names=new String[3];//創建一個數組,儲存選擇的書名
? ? for(int i=0;i<bookname.length;i++){//for循環語句
? ? ? System.out.print("請輸入書名:");?
? ? ? String booknames=input.next();//創建輸入書名的入口
? ? ? ? if(i>2){//if條件語句
? ? ? ? ? System.out.println("抱歉!您最多可以借三本書!");//規定每次只能借三本書
? ? ? ? ? break;//使用關鍵字break跳出循環
? ? ? ? }else{
? ? ? ? ? for(int n=0;n<=bookname.length;n++){//for循環語句
? ? ? ? ?if(n>=bookname.length){
? ? ? ? ?/*
? ? ? ? ? * if條件語句,當n大于等于bookname數組的長度時,說明在數組中沒有發現與輸入書名相同的字符串
? ? ? ? ? * 那么就會執行該條件語句,進行異常處理使用try-catch語句塊
? ? ? ? ? */
? ? ? ? ? ? try{ ?
? ? ? ? ? ?throw new Exception("此書不存在!"); //拋出異常說明“此書不存在”
? ? ? ? ? ? ? }
? ? ? ? ? ? catch(Exception e){
? ? ? ? ? ? e.printStackTrace();//使用printStrackTrace()方法打印輸出異常位置
? ? ? ? ? ? System.out.println("請重新輸入!");
? ? ? ? ? ? i--;//i減去1,忽略此次循環次數
? ? ? ? ? ? continue;//使用continue關鍵字重新開始循環,重新輸入書名
? ? ? ? ? ? }
? ? ? ? ? ? ?}
? ? ? ? ? ? ?if(bookname[n].equals(booknames)){
? ? ? ? ? ? ?/*
? ? ? ? ? ? ? * if條件語句,尋遍bookname數組,是否有字符串與輸入的書名相同
? ? ? ? ? ? ? * 如果有則將該書名儲存在數組names中
? ? ? ? ? ? ? * 若果沒有則在上一個if語句中會判斷出
? ? ? ? ? ? ? */
? ? ? ? ?names[j]=booknames;
? ? ? ? ?j++;
? ? ? ? ?System.out.println("您的選擇是:《"+booknames+"》");
? ? ? ? ?
? ? ? ? ?break;//使用break關鍵字跳出內部for循環,再輸入下一本要借的書名
? ? ? ? ? ? ?}
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ?}System.out.println("下面是您選的三本書:");
? ? ?System.out.println(Arrays.toString(names));//打印輸出所借的三本書名
? ? break;//使用break關鍵字跳出switch循環結束借書操作
? ? ?case 2:
? ? int m=0;
? ? String[] names1=new String[3];//創建一個數組,儲存選擇的書名
? ? ? for(int i=0;i<bookname.length;i++){
? ? ? ? System.out.print("請輸入書序號:");?
? ? ? ? int booknumber=input.nextInt();//創建輸入書序號的入口
? ? ? ? ? if(i>2){
? ? ? ? ? ? System.out.println("抱歉!您最多可以借三本書!");
? ? ? ? ? ? break;
? ? ? ? ? }else if(booknumber-1>6||booknumber-1<=0){
? ? ? ? ? ? ? try{ ?
? ? ? ? ? ? ?throw new Exception("此書不存在!");?
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? catch(Exception e){
? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? ? System.out.println("請重新輸入!");
? ? ? ? ? ? ? i--;
? ? ? ? ? ? ? continue;
? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?}else if(booknumber-1>0&&booknumber-1<=6){
? ? ? ? ? ?names1[m]=bookname[booknumber-1];
? ? ? ? ? ?m++;
? ? ? ? ? ?System.out.println("您的選擇是:《"+bookname[booknumber-1]+"》");
? ? ? ? ? ?
? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?}System.out.println("下面是您選的三本書:");
? ? ? ? ? ? ?System.out.println(Arrays.toString(names1));
? ? ? ? ? ? ?}System.out.println("歡迎再次使用!");?
? ? ?}
}
希望大神能指點一下,其中還有一些不足,有時間我想把兩種查詢方式改成兩個類,然后用一個測試類調用,就可以在打印出借的三本書后,如果不滿意可以重新再選擇
2017-07-23
有空再寫
2017-07-13
//書名查找類
package com.democ2;
import java.util.*;
public class Bookname ?{
public void run(){
? ?System.out.println("請瀏覽書籍:");
? ?String[] bookname={"論語","三字經","詩經","西游記","水滸傳","三國演義","紅樓夢"};
? ?System.out.println(Arrays.toString(bookname));//打印輸出系統中的叢書
int j=0;
@SuppressWarnings("resource")
Scanner input=new Scanner(System.in);
? ? String[] names=new String[3];//創建一個數組,儲存選擇的書名
? ? for(int i=0;i<bookname.length;i++){//for循環語句
? ? ? System.out.print("請輸入書名:");?
? ? ? String booknames=input.next();//創建輸入書名的入口
? ? ? ? if(i>2){//if條件語句
? ? ? ? ? System.out.println("抱歉!您最多可以借三本書!");//規定每次只能借三本書
? ? ? ? ? break;//使用關鍵字break跳出循環
? ? ? ? }else{
? ? ? ? ? for(int n=0;n<=bookname.length;n++){//for循環語句
? ? ? ? ?if(n>=bookname.length){
? ? ? ? ?/*
? ? ? ? ? * if條件語句,當n大于等于bookname數組的長度時,說明在數組中沒有發現與輸入書名相同的字符串
? ? ? ? ? * 那么就會執行該條件語句,進行異常處理使用try-catch語句塊
? ? ? ? ? */
? ? ? ? ? ? try{ ?
? ? ? ? ? ?throw new Exception("此書不存在!"); //拋出異常說明“此書不存在”
? ? ? ? ? ? ? }
? ? ? ? ? ? catch(Exception e){
? ? ? ? ? ? e.printStackTrace();//使用printStrackTrace()方法打印輸出異常位置
? ? ? ? ? ? System.out.println("請重新輸入!");
? ? ? ? ? ? i--;//i減去1,忽略此次循環次數
? ? ? ? ? ? continue;//使用continue關鍵字重新開始循環,重新輸入書名
? ? ? ? ? ? }
? ? ? ? ? ? ?}
? ? ? ? ? ? ?if(bookname[n].equals(booknames)){
? ? ? ? ? ? ?/*
? ? ? ? ? ? ? * if條件語句,尋遍bookname數組,是否有字符串與輸入的書名相同
? ? ? ? ? ? ? * 如果有則將該書名儲存在數組names中
? ? ? ? ? ? ? * 若果沒有則在上一個if語句中會判斷出
? ? ? ? ? ? ? */
? ? ? ? ?names[j]=booknames;
? ? ? ? ?j++;
? ? ? ? ?System.out.println("您的選擇是:《"+booknames+"》");
? ? ? ? ?
? ? ? ? ?break;//使用break關鍵字跳出內部for循環,再輸入下一本要借的書名
? ? ? ? ? ? ?}
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ?}System.out.println("下面是您選的三本書:");
? ? ?System.out.println(Arrays.toString(names));//打印輸出所借的三本書名
? ?
}
}
//書序號查找類
package com.democ2;
import java.util.*;
public class Booknumber {
? ? public void run(){
? ? System.out.println("請瀏覽書籍:");
? ?String[] bookname={"論語","三字經","詩經","西游記","水滸傳","三國演義","紅樓夢"};
? ?System.out.println(Arrays.toString(bookname));//打印輸出系統中的叢書
? ? int m=0;
? ? @SuppressWarnings("resource")
Scanner input=new Scanner(System.in);
? ? String[] names1=new String[3];//創建一個數組,儲存選擇的書名
? ? ? for(int i=0;i<bookname.length;i++){
? ? ? ? System.out.print("請輸入書序號:");?
? ? ? ? int booknumber=input.nextInt();//創建輸入書序號的入口
? ? ? ? ? if(i>2){
? ? ? ? ? ? System.out.println("抱歉!您最多可以借三本書!");
? ? ? ? ? ? break;
? ? ? ? ? }else if(booknumber-1>6||booknumber-1<0){
? ? ? ? ? ? ? try{ ?
? ? ? ? ? ? ?throw new Exception("此書不存在!");?
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? catch(Exception e){
? ? ? ? ? ? ? e.printStackTrace();
? ? ? ? ? ? ? System.out.println("請重新輸入!");
? ? ? ? ? ? ? i--;
? ? ? ? ? ? ? continue;
? ? ? ? ? ? ? }
? ? ? ? ? ? ? ?}else if(booknumber-1>=0&&booknumber-1<=6){
? ? ? ? ? ?names1[m]=bookname[booknumber-1];
? ? ? ? ? ?m++;
? ? ? ? ? ?System.out.println("您的選擇是:《"+bookname[booknumber-1]+"》");
? ? ? ? ? ?
? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?}System.out.println("下面是您選的三本書:");
? ? ? ? ? ? ?System.out.println(Arrays.toString(names1));
? ? ? ? ? ? }?
? ? ? }
//測試類
package com.democ2;
import java.util.Scanner;
public class Intiail {
public static void main(String[] args) {
System.out.println("##歡迎使用借書系統##");
? ? System.out.println("1.書名查找;2.序號查找");
? ? System.out.print("請輸入您使用的查找方法:");
@SuppressWarnings("resource")
Scanner input=new Scanner(System.in);
? ? int chioce=input.nextInt();//創建選擇查找方法的輸入口
switch(chioce){
case 1:
Bookname name=new Bookname();
name.run();
int num =1;
while(num>=1){
System.out.println("請您確認1.是,2.否");
int num1=input.nextInt();
num=num1;
switch(num1){
case 1:
break;
case 2:
name.run();
break;
}continue;
}
case 2:
Booknumber number=new Booknumber();
number.run();
int num2=1;
while(num2>=1){
System.out.println("請您確認1.是,2.否");
int num1=input.nextInt();
num2=num1;
switch(num1){
case 1:
break;
case 2:
number.run();
break;
}
continue;?
}
}System.out.println("歡迎再次使用!");
}
}