計程作業第一題

看板ZooStudy作者 (史萊姆)時間22年前 (2003/12/01 15:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
Exercise R5.1 第一題 修改後: if(quarters>0) System.out.println(quarters +" quarters"); 這題首先把then去掉,不合文法, 再來if的判斷式必須用()刮起來。 第二題 修改後: if( (1+x) > Math…..) 這題的問題在於,原意應該是要將1+X和後者相比較, 應該將(1+X)以刮號處理才不會有問題。 第三題 修改後: if(x = = 1)… 想表示equals應該用「==」,「=」的意思是把後面的數指定給前面的。 第四題 修改後: if( x = =0 && y = = 0 )…. 這在課本中有說,這是常犯的錯誤。 原本的寫法,他會先處理「==」的部分, 接著所得結果(true of false)就跑去跟X做「&&」了。 根本不是原本想要的。 第五題 修改後: if(1<=x && x<=10)…. 要把兩個「<=」分開判斷,因為一次只能處理一個。 第六題 修改後: if(s!="a" && s!="b" && s!="c" && s!="d") 這題應該把所有的「||」改成「&&」,才符合邏輯。 照原本的寫法,四個小判斷式中,必然至少有三個滿足(!=), 最後大判斷式就必然成立,這並非題目的原意。 print和println應該沒有修正的必要。 第七題 修改後: if(input.equalsIgnoreCase("N") || input.equalsIgnoreCase("NO")) 這題也是commom error,兩個判斷式都要把敘述寫完整才行。 至於RETURN一開始還以為要補上去, 後來覺得應該是當成BREAK的效果在用(查課本)。 第八題 修改後: if(input != null)… x是integer不可能是null, 題目的原意應該是要判斷input這個字串物件是否為null。 此外,這題課本的題目怪怪的,應該是多印了一個標記。 int x = … if(x!=null)… 上述兩行應該是同一題的題目。 第九題 修改後: language = "English"; if(countary.equals("US")) { if(state.equals("PR")) language = "Spanish"; } else if(countary.equals("China")) language = "Chinese"; 我把PR那一行前後用{}刮起來。 這題修改方式應該不只一種,而且還要看自己如何解讀這個題目。 我預設為英文, 我把「PR」視為美國的一個州,在美國又在這個州的, 就改為西班牙文。 若不在美國,(就不必看是否在此州,)再看是否在中國, 在中國則改為中文。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59
文章代碼(AID): #_okzkDj (ZooStudy)