您好,break label不是任意使用的,它只能直接用在代碼塊(for/while/switch/if/大括號(hào))上,注意是“直接”,下面舉例說明:
淮安區(qū)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,淮安區(qū)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為淮安區(qū)成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的淮安區(qū)做網(wǎng)站的公司定做!
1.代碼一(直接用在for上,這是最普遍的用法,正確):
int?i?=?1;
label:
for?(int?j?=?1;?j??5;?j++)?{
if?(j?%?2?==?0)
break?label;
System.out.println(j?+?"-----"?+?i);
}
2.代碼二(注意這里加了大括號(hào),所以構(gòu)成了一個(gè)代碼塊,也正確)
label:
{
int?i?=?1;
for?(int?j?=?1;?j??5;?j++)?{
if?(j?%?2?==?0)
break?label;
System.out.println(j?+?"-----"?+?i);
}
}
3.代碼三(錯(cuò)誤,label沒有直接用在代碼塊上,對(duì)比代碼二,缺少了大括號(hào)包圍)
label:
int?i?=?1;
for?(int?j?=?1;?j??5;?j++)?{
if?(j?%?2?==?0)
break?label;
System.out.println(j?+?"-----"?+?i);
}
4.代碼四(錯(cuò)誤,break label;沒有包含在label標(biāo)記的代碼塊中,代碼三的錯(cuò)誤也能用這個(gè)解釋)
label:?{
int?i?=?1;
}
for?(int?j?=?1;?j??5;?j++)?{
if?(j?%?2?==?0)
break?label;
System.out.println(j?+?"-----"?+?i);
}
綜上所述,相比起C語言中g(shù)oto的任意跳轉(zhuǎn),這個(gè)break label的使用并不是那么自由,需要多留意。
另外,不建議使用過多的這種語句,會(huì)破壞程序結(jié)構(gòu)的完整性。
-----您的采納是我們的動(dòng)力-----
String seat1= null;
Scanner idtype = null;
System.out.println("請(qǐng)輸入艙位代碼,E,A代表頭等艙,C,D代表公務(wù)艙,Y,T,K代表第一類經(jīng)濟(jì)艙,M,G代表第二類經(jīng)濟(jì)艙,如果輸入其他,代表其他艙位。");
idtype=new Scanner(System.in);
seat1=idtype.next();
while(seat1.length()!=1){
System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入.");
idtype=new Scanner(System.in);
seat1=idtype.next();
}
seat=seat1.charAt(0);//輸入字母的操作
/*break 用于退出循環(huán),你為什么用在IF里?要想返回J,你要用GOTO語句,不過用GOTO會(huì)破壞程序流向,完全可以用FOR,IF,來代替.這個(gè)程序最好用CASE來做.不然你輸入空格程序會(huì)出錯(cuò).你自己解決吧.*/
你這樣試試:你給用戶設(shè)一個(gè)屬性可以是mapString,Question,每個(gè)問題用戶都有自己的答案。其中String是題號(hào)。
在頁面中你就可以在每一個(gè)列表項(xiàng)前面加這么一句:class="%{user.map['題號(hào)'].answer=='答案*'?'a':'b'}"
這樣一來,你就需要設(shè)置倆個(gè)CSS樣式表,通過類選擇器來選擇,當(dāng)然,這樣做的前提是,你帶用的是struts的
ognl表達(dá)式
說說servlet里面的方法:
public void ValidateUserPass(String user,String pass){
RequestDispathcher rd =null
//假使你的代碼是從DB中獲取
DBFactory db=DBFactoryImpl.getDBFactoryInstance();//得到數(shù)據(jù)庫鏈接
flg=db.findUser(user,pass);
// 這里是不存在用戶
if(flg.hasNext()==-1){
// 登錄時(shí)錯(cuò)誤了,一般我們會(huì)給用戶一個(gè)提示
session.setAttirbute("msg","對(duì)不起,用戶名或密碼錯(cuò)誤");
RequestDispathcher rd = req.getRequesDispatcher("login.jsp");
rd.forward(request, reponse);//將請(qǐng)求對(duì)象和響應(yīng)對(duì)象傳遞進(jìn)來
} // 這里是存在當(dāng)前用戶
else{
//當(dāng)然這里登錄成功時(shí),我們要把當(dāng)前用戶寫到session里面保存
session.setAttirbute("userName",user);
//這個(gè)請(qǐng)求轉(zhuǎn)發(fā)語句
request.sendRedirect("index.html");
}
}
// * 上述代碼,你可以參考下我的方法,我也很久沒做JAVA開發(fā)了,我現(xiàn)在從事前端UI開發(fā),本來我想在寫一個(gè)用struts 2登錄的程序的,可我現(xiàn)在忘得差不多了,上面我所用到的屬性建議你自己好好的研究一下,往后你將學(xué)到struts2 hibernate,Spring等一系列優(yōu)秀的開源框架,說白了,這些東西的底層還是這些,只不過這些框架做了一些封裝隔離。上述代碼建議你重點(diǎn)理解一下:請(qǐng)求轉(zhuǎn)發(fā)和重定向的區(qū)別。