亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

借書系統的編程

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("歡迎再次使用!");?

? ? ?}

}

希望大神能指點一下,其中還有一些不足,有時間我想把兩種查詢方式改成兩個類,然后用一個測試類調用,就可以在打印出借的三本書后,如果不滿意可以重新再選擇

正在回答

2 回答

有空再寫

0 回復 有任何疑惑可以回復我~

//書名查找類

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("歡迎再次使用!");

}

}


2 回復 有任何疑惑可以回復我~
#1

Beyond_Dream_

請問下你equals()方法沒重寫怎么就行了,我的沒重寫就怎么都不相等呢
2017-07-17 回復 有任何疑惑可以回復我~
#2

慕斯1379455 提問者 回復 Beyond_Dream_

那你看一下你的循環語句是否正確
2017-07-17 回復 有任何疑惑可以回復我~
#3

Beyond_Dream_ 回復 慕斯1379455 提問者

我在輸入水滸傳時,必須按下下方向鍵,讓光標到下一行此時輸入水滸傳才能錄入,如果不讓光標移至下一行,直接輸入,顯示屏上顯示的是水滸傳,但事實錄入的并不是
2017-07-18 回復 有任何疑惑可以回復我~
#4

Beyond_Dream_ 回復 Beyond_Dream_

String booknames=input.next(); for(int i=0;i<4;i++){ if(books[i].equals(booknames)){System.out.println("您查找的圖書是"+booknames);} else{System.out.println("111");} } 這是我的代碼
2017-07-18 回復 有任何疑惑可以回復我~
#5

慕斯1379455 提問者 回復 Beyond_Dream_

數組第一位是0,水滸傳在數組4,你看一下你的數組是不是對應的數組4
2017-07-18 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409766    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

借書系統的編程

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號