高校三年生の合唱祭で何を歌いましたか?

if (n が 1から10の間なら) {
alert("1");
} else if (n が 11から20の間なら) {
alert("2");
} else {
// それ以外なら
alert("3");
}
上記のことがやりたいのですが、どのように書けばいいのでしょうか?

A 回答 (2件)

この命題は微妙な質問です


nは正の整数であるという前提が必要になるからです。
もしそうなら単純に
if(n >=1 && n<=10){
alert("1");
}else if(n>=11 && n<=20){
alert("2");
}else{
alert("3");
}

ですが、例えば整数じゃない場合など、
nが10から11の間だったらどうする?という疑問が残ります。
この手の仕様提起が往々にしてバグにつながるので
よく考えてみてください。
この場合でしたら漏れをなくすなら
if(n >=1 && n<=10){
alert("1");
}else if(n>10 && n<=20){
alert("2");
}else{
alert("3");
}
でいけますね。

どうしても分岐が気に入らない場合は
str=1+(n<1)*2+(n>10)+(n>20);
alert(str)

みたいな感じ
    • good
    • 0
この回答へのお礼

有難うございます。

お礼日時:2007/01/26 09:42

そのままかけばよいのでは?


if (n>=1&&n<=10) {
alert("1");
} else if (n>=11&&n<=20) {
alert("2");
} else {
alert("3");
}
    • good
    • 0
この回答へのお礼

有難うございます。

お礼日時:2007/01/26 09:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報