1樓:匿名使用者
應該是你最後的一個else除了問題,系統不清楚你的這個else是屬於哪個if的,你試一下加一些花括號區分一下
如果optype="aaa",cardstate="2"的話就會全部不成立啊
試試這樣
if((optype == "delate")||(cardstate != "2"))
else if( (optype == "update") && (cardstate == "2"))
else if( (optype == "insert") & (cardstate == "1") )
else
2樓:
物件型別的判斷值是否相等用equals()方法。
string就是一個物件型別,所以要用equals方法。
例如,將if((optype == "delate")||(cardstate != "2"))
if ((optype.equals("update")) && (cardstate.equals("2")))
if ((optype.equals("insert")) && (cardstate.equals("1"))) else
執行結果:1
3樓:小布丁
第一個if 是兩個條件有一個成立就能執行的;
第二個if是兩者都必須滿足條件才能執行,
第三個if 的比較-比較麻煩。
&和&&的區別:
當它倆都是邏輯運算子時,不同點為:
&&可理解為短路運算子,即第一個條件若是false那麼第二個條件不必判斷.
&如果第一個條件是false那麼第二個條件它還是會判斷.&是邏輯與,它的執行是,先判斷左邊的,不管是false還是true,都還要判斷右邊的。也就是兩邊的表示式都要判斷。
4樓:匿名使用者
字串判斷相等不能直接用 ==
如果你直接用 == 相當於判斷他們的地址是否相同cardstate != "2" 這樣肯定成立的所以只執行第一個if
你把**中判斷相等的改為 equals 方法比如:optype == "delate" 寫成: optype.equals("delate")
額 delate拼寫錯了哦 。。 delete
為什麼在matlab中我想執行一個多項選擇的語句:用if;elseif 之後 只執行到第一個額雷鋒呢?
5樓:書宬
clear;clc
t=;h=;
for a=0:50:7000
if a<=200
s=0;
elseif a<=700&a>200 % 要這
樣寫s=6*a;
elseif a<=1200&a>700 % 要這樣寫
s=5000;
elseif a<=1500&a>1200 % 要這樣寫
s=16.7*a;
elseif a<=5100&a>1500 % 要這樣寫
s=10000;
elseif a<=6900&a>5100 % 要這樣寫
s=10000-5.6*a;
else
s=0;
endt=[t;a];
h=[h;s];
end[t h]
plot(t,h)
6樓:劉賀
乾脆別用迴圈了:
clear all;clc;
t=;h=;
a=0:50:7000;
s=0*(a<=200)+6*a.*(a>200&a<=700)+5000*(a>700&a<=1200)+...
16.7*a.*(a>1200&a<=1500)+10000*(a>1500&a<=5100)+...
(10000-5.6*a).*(a>5100&a<=6900)+0*(a>6900);
t=[t a];
h=[h s];
plot(t,h);
為什麼if語句執行後不執行if語句。if elseif巢狀語句是怎麼看的啊
妖搦天 首先,這種題要知道答案很簡單,自己把題目放到編譯軟體上執行一下就行,然後可以通過結果反推過程。這道題我編譯出來結果是2,以下是我的邏輯 首先,要知道else配對的是哪個if,這個配對方法很簡單,由於沒加括號,直接往上行找離它最近的沒配對的if就行。本題與else配對的是第二個if 其次,由於...
VB中for語句等重的巢狀語句的執行順序問題
lz你認真按我的要求做,對它的執行順序就一目瞭然了!1 在窗體上畫一個列表框 listbox 一個按鈕 commandbutton 2 貼上以下 之一 3 執行並單擊按鈕,執行的順序就在列表框,這樣你就可以清楚地看到 for語句等重的巢狀語句的執行順序 了 1 private sub command...
c中如何獲取實際執行的sql語句
1 拼接產生sql語句 string sql insert into czyb yhm,mm,qx values txtname.text txtpassword.text cmbpriority.text oledbcommand cmd new oledbcommand sql,conn 這種方...