package?zonghexunlian1;
public?class?Book?{?????
????String?name;//書的名稱
????int?number;//書的序號
????public?Book(String?name,?int?number){
????????this.name=name;
????????this.number=number;
????}
}
package?zonghexunlian1;
public?class?CaException?extends?Throwable?{//定義的異常類
}
package?zonghexunlian1;
public?class?ErrorNumException?extends?Throwable?{//定義的異常類
}
package?zonghexunlian1;
public?class?NoxhException?extends?Throwable?{//定義的異常類
}
package?zonghexunlian1;
import?java.util.InputMismatchException;
import?java.util.Scanner;
public?class?Initail?{
????public?void?cha(){
????????Initail?dy=new?Initail();
????????Book[]?book=?new?Book[]{
????????????????new?Book("高數",?1),
????????????????new?Book("數據結構",?2),
????????????????new?Book("英語",?3)
????????};
????????int?sr=0;//用來接收輸入的數
????????String?sm=null;//用來接收輸入的書名
????????Book?nsm=null;//用來接收你選擇的書名并賦值,因為賦值的循環遍歷是book類所以用book定義
????????boolean?br=false;//定義一個布爾類型的值,用來判斷
????????int?xh=0;//用來接收輸入的序號
????????while?(sr!=1&&sr!=2){
????????????System.out.println("請輸入命令:1-按照書名查找,2-按照序號進行查找");
????????????try?{
????????????????Scanner?input=new?Scanner(System.in);
????????????????sr=input.nextInt();
????????????????if?(sr!=1&&sr!=2){
????????????????????throw?new?NoxhException();
????????????????}
????????????????if?(sr==1){
????????????????????System.out.println("請輸入圖書名稱");
????????????????????sm=input.next();
????????????????????for?(Book?bl:book){//數組遍歷,用來進行循環比較
????????????????????????if?(bl.name.equals(sm)){
????????????????????????????br=true;
????????????????????????????nsm=bl;
????????????????????????}
????????????????????}
????????????????????if?(br){
????????????????????????System.out.println("你選擇的書是"+nsm.name);
????????????????????}else?{
????????????????????????sr=0;
????????????????????????throw?new?CaException();
????????????????????}
????????????????}else?if?(sr==2){
????????????????????System.out.println("請輸入圖書序號:");
????????????????????xh=input.nextInt();
????????????????????for?(Book?bl:book){
????????????????????????if?(bl.number==xh){
????????????????????????????br=true;
????????????????????????????nsm=bl;
????????????????????????}
????????????????????}
????????????????????if?(br){
????????????????????????System.out.println("你要找的書是"+nsm.name);
????????????????????}else?{
????????????????????????sr=0;
????????????????????????throw?new?ErrorNumException();
????????????????????}
????????????????}
????????????}catch?(InputMismatchException?e){
????????????????System.out.println("你輸入錯誤,請按提示輸入數字");
????????????}catch?(NoxhException?e){
????????????????System.out.println("輸入有誤請輸入1或2");
????????????}catch?(CaException?e){
????????????????System.out.println("你輸入的圖書不存在,請重新輸入書名");
????????????}catch?(ErrorNumException?e){
????????????????System.out.println("你輸入的序號不存在,請重新輸入數字");
????????????}
????????}
????}
????public?static?void?main(String[]?args)?throws?NoxhException?{
????????Initail?pao=new?Initail();
????????pao.cha();
????}
}
2020-07-21
你全是自己想出來這么寫的嘛,我咋就死活寫不出來呢。。。太慘了
2020-07-21
寫的太好了
2020-06-20
效果圖