这是我到目前为止创建的代码,但它无效。我只是一个初学者,我们正在创造这个"猜你的生肖"代码作为我们学校的作品之一。
请帮我改变代码的错误:((
另外(对不起,如果我要求太多东西)如何在每种情况下插入照片,以便每个星座都有照片?
@get:Throws(IOException::class)
答案 0 :(得分:1)
case
与if(/else)
声明不同。
switch/case
块可用于检查单个变量的不同值。
您的条件包含多个变量,因此switch/case
块甚至不可能(/实用)。
也就是说,如果您更好地构建数据,可以优化此代码 :
var zodiacs = [
{ sign: "PISCES", monthA: "February", monthB: "March", dayA: 19, dayB: 20 },
{ sign: "ARIES", monthA: "March", monthB: "April", dayA: 21, dayB: 19 },
{ sign: "TAURUS", monthA: "April", monthB: "May", dayA: 20, dayB: 20 },
// etc
];
var zodiacmonth = prompt("Please insert your birthMONTH; if your birthday is on January 11, insert January");
var zodiacday = prompt("Please insert birthDAY; if your birthday is on January 11, insert 11")
var zodiac = zodiacs.filter(function(z){
return zodiacmonth == z.monthA && zodiacday >= z.dayA ||
zodiacmonth == z.monthB && zodiacday <= z.dayB;
})[0]
console.log(zodiac);
window.confirm ("Your zodiac sign is " + zodiac.sign);
使月份比较不区分大小写可能也很有用:
zodiacmonth = zodiacmonth.toLowercase();
// and
{ sign: "PISCES", monthA: "february", monthB: "march", dayA: 19, dayB: 20 },
// ^ ^