當前位置:編程學習大全網 - 源碼下載 - 我用java初級編的簡單的圖書館管理系統,只有壹個讀者,10本書,壹個人最多借三本,編譯通過了,但有異常

我用java初級編的簡單的圖書館管理系統,只有壹個讀者,10本書,壹個人最多借三本,編譯通過了,但有異常

---------------------------------------------------

給妳修改了三個地方:

1.borrowBooks方法中,將System.out.println("妳要借嗎?"); 改為:

System.out.println("妳要借嗎?輸入1表示借,其他數字表示不借。");

保證輸入的時候輸入的數字,否則會報出異常。

2.borrowBooks方法中,將self[score] = all[9]; 改為:self[score] = all[i];

如果是all[9],那麽就始終是最後壹本書籍信息了。

3.have方法中,妳是想將所借的書籍信息都打印出來。修改的比較多,下面註釋代碼是原來的。

void have(Books[] self) {

// for (int i = 0; i < 2; i++) {

// self[i].showBookInfo();

// }

for (int i = 0; i < 3; i++) {

if(self[i]!=null)

self[i].showBookInfo();

}

}

****************** 附上所有代碼:*************************

import java.util.Scanner;

public class TestBook {

public static void main(String[] args) {

Books all[] = new Books[10];

Books self[] = new Books[3];

all[0] = new Books("java", 1, "12345", "tom", 34.0f, "人民出版社");

all[1] = new Books("c", 2, "12346", "tnn", 31.0f, "人民出版社");

all[2] = new Books("c++", 3, "12445", "mm", 35.0f, "人民出版社");

all[3] = new Books("c#", 4, "12365", "tt", 38.0f, "人民出版社");

all[4] = new Books("j2se", 5, "13345", "tosm", 31.1f, "人民出版社");

all[5] = new Books("j2ee", 6, "18345", "ttm", 32.0f, "人民出版社");

all[6] = new Books("jsp", 7, "12335", "cc", 33.0f, "人民出版社");

all[7] = new Books("net", 8, "12341", "bb", 36.0f, "人民出版社");

all[8] = new Books("ip", 9, "12343", "aa", 37.0f, "人民出版社");

all[9] = new Books("tcp", 10, "22345", "jj", 39.0f, "人民出版社");

Readers r = new Readers("xiaoming", 101, "1", 3);

r.searchAllBooks(all);

r.borrowBooks(all, self);

r.have(self);

r.give(all, self);

}

}

class Readers {

Scanner scan = new Scanner(System.in);

String names;

int nums;

String classes;

int grade;

int score = 0;

// Books self[]=new Books[3];

Readers(String n, int u, String c, int g) {

names = n;

nums = u;

classes = c;

grade = g;

}

void searchAllBooks(Books[] all) {// 查書

for (int i = 0; i < 10; i++)

all[i].showBookInfo();

// self[score]=all[0];

}

void give(Books[] all, Books[] self) {// 還書

System.out.println("請輸入您要還的書的書號");

int n = scan.nextInt();

for (int i = 0; i < 10; i++) {

if (n == all[i].num) {

for (int j = 0; j < 3; j++) {

if (self[j] == all[i]) {

self[j] = null;

System.out.println("還書成功");

}

}

}

}

}

void have(Books[] self) {

// for (int i = 0; i < 2; i++) {

// self[i].showBookInfo();

// }

for (int i = 0; i < 3; i++) {

if(self[i]!=null)

self[i].showBookInfo();

}

}

void giveMoney() {

}

void borrowBooks(Books[] all, Books[] self) {

System.out.println("請輸入您要查找的書名:");

String n = scan.next();

int i;

for (i = 0; i < 10; i++) {

if (n.equals(all[i].name)) {

all[i].showBookInfo();

break;

}

}

//System.out.println("妳要借嗎?");

System.out.println("妳要借嗎?輸入1表示借,其他數字表示不借。");

int j;

j = scan.nextInt();

if (j == 1) {

System.out.println("借閱成功");

//self[score] = all[9];

self[score] = all[i];

score += 1;

}

if (score < 4) {

System.out.println("您還可以借閱" + (3 - score) + "本");

} else {

System.out.println("對不起,壹個人只能借3本");

}

}

}

class Books {

String name;

int num;

String ISBN;

String writer;

float price;

String publisher;

Books(String n, int u, String i, String w, float p, String l) {

name = n;

num = u;

ISBN = i;

writer = w;

price = p;

publisher = l;

}

void showBookInfo() {

System.out.println("**************************");

System.out.println("書名:" + name);

System.out.println("索書號:" + num);

System.out.println("ISBN號:" + ISBN);

System.out.println("價格:" + price);

System.out.println("出版社:" + publisher);

System.out.println("**************************");

}

}

----------------------------------------------------

  • 上一篇:英國為什麽叫英國?英的來歷?
  • 下一篇:cmake安裝Linuxcmake安裝Linux
  • copyright 2024編程學習大全網