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