作者salami (史莱姆)
看板ZooStudy
标题计程作业第一题
时间Mon Dec 1 15:36:48 2003
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