第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

大神幫忙看看應(yīng)該在哪一行拋出異常???謝謝!試了好幾個位置,都不行

import?java.util.Scanner;
import?java.util.Arrays;
public?class?Tushuguan?{

	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
Scanner?input=new?Scanner(System.in);
System.out.println("歡迎使用圖書管理系統(tǒng)!");
String?[]names={"語文","數(shù)學(xué)","英語","物理","化學(xué)"};//圖書名稱數(shù)組
int?f=1;
do?{
	System.out.println("輸入命令:");
	System.out.println("按照名稱查詢圖書請輸入1;");
	System.out.println("按照序號查詢圖書請輸入2");
	int?num=input.nextInt();//輸入命令序號
	try{
		if(num!=1&&num!=2){
			throw?new?Exception();
		}	
		}catch(Exception?e){
		System.out.println("請輸入正確的命令!");	
		}
	
			if(num==1){
				System.out.println("請輸入圖書名稱:");
				String?name=input.next();
				try{
				for(int?i=0;i<names.length;i++){
					if(name.equals(names[i])){
						System.out.println(names[i]);
						
					}else{	
					throw?new?Exception();
					}}
					}catch(Exception?e){
			????
				System.out.println("您查找的圖書不存在!");
				continue;
					
					}
				}
		
		try{	
			if(num==2){
			System.out.println("請輸入圖書序號:");
			Arrays.sort(names);
			int?nameNum=input.nextInt();
			
			if(nameNum<5){
				System.out.println(names[nameNum]);
				
			}else{
			throw?new?Exception();
			}
		}
			
	}catch(Exception?e){
????
	System.out.println("您查找的圖書不存在!");
continue;
	}	
}while(f==1);
input.close();
}		
}


正在回答

6 回答

你把那個else 改成這樣else if(i==names.length)

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

晴顏 提問者

非常感謝!
2016-10-29 回復(fù) 有任何疑惑可以回復(fù)我~
#2

晴顏 提問者

改成這個我試了一下,好像程序也不太對,查找不存在的圖書并不會上報“圖書不存在”
2016-10-29 回復(fù) 有任何疑惑可以回復(fù)我~

package com.imooc;

import java.util.Scanner;

import java.util.Arrays;

public class Test {

??

? ? public static void main(String[] args) {

? ? ? ? // TODO Auto-generated method stub

Scanner input=new Scanner(System.in);

System.out.println("歡迎使用圖書管理系統(tǒng)!");

String []names={"語文","數(shù)學(xué)","英語","物理","化學(xué)"};//圖書名稱數(shù)組

int f=1;

do {

? ? System.out.println("輸入命令:");

? ? System.out.println("按照名稱查詢圖書請輸入1;");

? ? System.out.println("按照序號查詢圖書請輸入2");

? ? int num=input.nextInt();//輸入命令序號

? ? try{

? ? ? ? if(num!=1&&num!=2){

? ? ? ? ? ? throw new Exception();

? ? ? ? } ?

? ? ? ? }catch(Exception e){

? ? ? ? System.out.println("請輸入正確的命令!"); ??

? ? ? ? }

? ? ??

? ? ? ? ? ? if(num==1){

? ? ? ? ? ? ? ? System.out.println("請輸入圖書名稱:");

? ? ? ? ? ? ? ? String name=input.next();

? ? ? ? ? ? ? ? try{

? ? ? ? ? ? ? ? for(int i=0;i<names.length;i++){

? ? ? ? ? ? ? ? ? ? if(name.equals(names[i])){

? ? ? ? ? ? ? ? ? ? ? ? System.out.println(names[i]);

? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? }else if(i==names.length){?

? ? ? ? ? ? ? ? ? ? throw new Exception();

? ? ? ? ? ? ? ? ? ? }}

? ? ? ? ? ? ? ? ? ? }catch(Exception e){

? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? System.out.println("您查找的圖書不存在!");

? ? ? ? ? ? ? ? continue;

? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ??

? ? ? ? try{ ??

? ? ? ? ? ? if(num==2){

? ? ? ? ? ? System.out.println("請輸入圖書序號:");

? ? ? ? ? ? Arrays.sort(names);

? ? ? ? ? ? int nameNum=input.nextInt();

? ? ? ? ? ? ??

? ? ? ? ? ? if(nameNum<5){

? ? ? ? ? ? ? ? System.out.println(names[nameNum]);

? ? ? ? ? ? ? ? ??

? ? ? ? ? ? }else ?{

? ? ? ? ? ? throw new Exception();

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? ? ? ??

? ? }catch(Exception e){

? ? ??

? ? System.out.println("您查找的圖書不存在!");

continue;

? ? } ?

}while(f==1);

input.close();

} ? ? ?

}


0 回復(fù) 有任何疑惑可以回復(fù)我~
import?java.util.Scanner;
import?java.util.Arrays;
public?class?Tushuguan?{
?
????public?static?void?main(String[]?args)?{
????????//?TODO?Auto-generated?method?stub
Scanner?input=new?Scanner(System.in);
System.out.println("歡迎使用圖書管理系統(tǒng)!");
String?[]names={"語文","數(shù)學(xué)","英語","物理","化學(xué)"};//圖書名稱數(shù)組
int?f=1;
do?{
????System.out.println("輸入命令:");
????System.out.println("按照名稱查詢圖書請輸入1;");
????System.out.println("按照序號查詢圖書請輸入2");
????int?num=input.nextInt();//輸入命令序號
????try{
????????if(num!=1&&num!=2){
????????????throw?new?Exception();
????????}??
????????}catch(Exception?e){
????????System.out.println("請輸入正確的命令!");???
????????}
?????
????????????if(num==1){
????????????????System.out.println("請輸入圖書名稱:");
????????????????String?name=input.next();
????????????????try{
????????????????for(int?i=0;i<names.length;i++){
????????????????????if(name.equals(names[i])){
????????????????????????System.out.println(names[i]);
?????????????????????????
????????????????????}else{?
????????????????????throw?new?Exception();
????????????????????}}
????????????????????}catch(Exception?e){
?????????????????
????????????????System.out.println("您查找的圖書不存在!");
????????????????continue;
?????????????????????
????????????????????}
????????????????}
?????????
????????try{???
????????????if(num==2){
????????????System.out.println("請輸入圖書序號:");
????????????Arrays.sort(names);
????????????int?nameNum=input.nextInt();
?????????????
????????????if(nameNum<5){
????????????????System.out.println(names[nameNum]);
?????????????????
????????????}else{
????????????throw?new?Exception();
????????????}
????????}
?????????????
????}catch(Exception?e){
?????
????System.out.println("您查找的圖書不存在!");
continue;
????}??
}while(f==1);
input.close();
}??????
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

TT123456XY

點(diǎn)錯了
2016-10-29 回復(fù) 有任何疑惑可以回復(fù)我~
#2

TT123456XY

不能刪除樓層嗎,
2016-10-29 回復(fù) 有任何疑惑可以回復(fù)我~

是不是因為在for循環(huán)里面,判斷只有一次是正確,其他的n-1次都不對。有多次執(zhí)行else語句,拋出異常。打印那句話啊。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

晴顏 提問者

這個有可能,不過我放到for外面試了一下也是一直會拋出這個異常,感覺可能是拋出方法不太對,可是自己又查不出來
2016-10-29 回復(fù) 有任何疑惑可以回復(fù)我~

應(yīng)該是異常拋出的使用方法有問題

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

晴顏 提問者

我的是不論哪種情況都會輸出“您查找的圖書不存在!”這個語句,你看看我寫的那個,應(yīng)該在哪一行拋出?。?/div>
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~
#2

芝麻餡的漢堡3374936 回復(fù) 晴顏 提問者

你查找書名的方法有問題,只要輸入的不是names的第一項,程序就會進(jìn)入else里面,直接拋出異常提示書名錯誤。 你需要設(shè)置一遍變量,來表示是否找到了書,找到了就改變這個量。你可以參考一下我找書的方法,設(shè)置了一個find為找到書的標(biāo)志。初始化find為0表示還沒找到,找到了就把find改為1.在for循環(huán)結(jié)束以后通過判斷find是否為1來判斷是否找到了書。 你的程序只要第一次不對就會進(jìn)入else從而直接拋出異常,根本無法進(jìn)入第二次判斷。 另外你輸入命令序號不能定義為int類型,否則一開始就輸入非整數(shù)的話,程序就會因為輸入數(shù)據(jù)類型錯誤直接報錯無法繼續(xù)運(yùn)行了。
2016-10-30 回復(fù) 有任何疑惑可以回復(fù)我~
#3

晴顏 提問者 回復(fù) 芝麻餡的漢堡3374936

前幾天迷在這了,不設(shè)置變量應(yīng)該是是實(shí)現(xiàn)不了的,邏輯上會出問題;int f=1;這個設(shè)置方法是我看到其他人貼出來的代碼有這樣用的,就模仿了,其實(shí)我也不太明白這個。我再好好對比一下修改修改。謝謝你啦,昨天采納了別人,不好意思啊,非常抱歉!
2016-10-30 回復(fù) 有任何疑惑可以回復(fù)我~
#4

芝麻餡的漢堡3374936 回復(fù) 晴顏 提問者

不緊張,我也是剛好在看視頻的時候看到提問消息,自己剛完成這個作業(yè)。我想自己要是完全弄明白了應(yīng)該也可以找出問題在哪里,哈,自己當(dāng)時理解的也不到位,現(xiàn)在回頭來看看明白了。采納什么的都是小事,一起討論討論,大家之間相互增加一下理解才是收獲哈
2016-10-30 回復(fù) 有任何疑惑可以回復(fù)我~
#5

晴顏 提問者 回復(fù) 芝麻餡的漢堡3374936

嗯嗯!
2016-10-30 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)
//創(chuàng)建BadCommand異常類
package?com.imooc;

public?class?BadCommand?extends?Exception{
public?BadCommand(){
	
}
public?BadCommand(String?message){
	super(message);
}
}
//創(chuàng)建NoExist異常類
package?com.imooc;

public?class?NoExist?extends?Exception?{
	public?NoExist(){
		
	}
	public?NoExist(String?message){
		super(message);
	}
}

//主程序
package?com.imooc;
import?java.util.*;
public?class?Borrowingsystem?{

	String[]?books={new?String("高數(shù)"),new?String("語文"),new?String("英語"),new?String("政治"),new?String("歷史")};
	Scanner?input=new?Scanner(System.in);
	
	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub	
		Borrowingsystem?borrow=new?Borrowingsystem();	
		while(true){
			try{
				String?choose=borrow.choice1();
				if(choose.equals("1")){
					try{//通過書名查書
						borrow.SearchBookName();
						break;
					}catch(NoExist?e){
						System.out.println(e.getMessage());
					}
				}else?if(choose.equals("2")){
					try?{//通過序號查書
						borrow.SearchBookId();
						break;
					}?catch?(NoExist?e)?{
						//?TODO:?handle?exception
						System.out.println(e.getMessage());
					}
				}
				
			}catch(BadCommand?e){
				System.out.println(e.getMessage());
			}
		}
		

		
		
	}
	public?String?choice1()?throws?BadCommand{
		System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");
		
		String?ip1=input.next();
		if(!ip1.equals("1")&&!ip1.equals("2")){
			throw?new?BadCommand("命令輸入錯誤!請根據(jù)提示輸入數(shù)字命令!");
		}
		return?ip1;
	}
	
	public?void?SearchBookName()?throws?NoExist{
		System.out.println("輸入圖書名稱:");
		
		String?bookname=input.next();
		int?findbook=0;
		for(int?i=1;i<=books.length;i++){
			if(bookname.equals(books[i-1])){
				System.out.println("book:"+bookname);
				findbook=1;
			}
		}
		if(findbook==0){
			throw?new?NoExist("圖書不存在!");
		}	
	}
	
	public?void?SearchBookId()?throws?NoExist{
		System.out.println("輸入圖書序號:");
		int?bookid=input.nextInt();
		int?findbook=0;
		if(bookid>=1&&bookid<=books.length){
			
			System.out.println("book:"+books[bookid-1]);
			findbook=1;
		}
		if(findbook==0){
			throw?new?NoExist("圖書不存在");
		}
	}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

晴顏 提問者

我的沒有創(chuàng)建這個異常類,這個應(yīng)該不是必須的吧
2016-10-28 回復(fù) 有任何疑惑可以回復(fù)我~
#2

芝麻餡的漢堡3374936 回復(fù) 晴顏 提問者

是的,不是必須的,一開始我理解的也不太好,第一次沒看出你的問題在哪里,現(xiàn)在發(fā)現(xiàn)了,看我給你的另一條回復(fù)。
2016-10-30 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

大神幫忙看看應(yīng)該在哪一行拋出異常啊?謝謝!試了好幾個位置,都不行

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號