|
主题: js的一道习题求教
|
liangzn28
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#12005/11/10 8:35:42
下面是我在课本上的一到习题!根据学生的等级评A B C D级。 <script language="javascript"> document.write("<font size='+1'>"); while(true){ var score=eval(prompt("Please input the score:","")); if (score<0 || score>100){ document.writeln("The score should be between 0 to 100!"); continue; } if(score>89 && score<101){ document.writeln("The degree is: A"); } else if (score>79 && score<90){ document.writeln("The degree is: B"); } else if(score>69 && score<80){ document.writeln("The degree is: c"); } else if(score>59 && score<70);{ document.writeln("The degree is: D"); } else { document.writeln("It is bad!"); } answer = prompt("Do you want to input another student?",""); if(answer !="y"){ break; } } document.write("终于可以休息了...<br>"); </script>
我仔细的检查过上面的代码好几次了,都没发现什么错误啊!但是浏览的时候就是空白页,什么提示框都没有,真奇怪,请指教吧!呵呵
|
浮尘
职务:普通成员
等级:3
金币:7.0
发贴:1258
|
#22005/11/10 8:57:33
else if(score>59 && score<70);{
|
liangzn28
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#32005/11/10 14:45:22
呵呵,真是马虎,谢谢啦! 我觉得这个javascript不想vbscript,即使出错了好像不会给出提示.
|
liangzn28
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#42005/11/11 16:59:49
呵呵,我看过浏览器的左下角,是没有显示网页有错误的.知识显示"完毕". 上面的代码是多了个";"的问题. 经过高人指点我帮上面的代码改了一下,但是看不到效果,请指教吧!呵呵 <script language="javascript"> var score=eval(prompt("Please input the score:","")) switch(score){ case score>89 && score<101: document.writeln("The degree is: A"); break; case score>79 && score<90: document.writeln("The degree is: B"); break; case score>69 && score<80: document.writeln("The degree is: C"); break; case score>59 && score<70: document.writeln("The degree is: D"); break; case score<59: document.writeln("The degree is: Bad"); break; } answer = prompt("Do you want to input another student?",""); if(answer !="y"){ break; }
</script>
编辑历史:[此帖最近一次被 allinhands 编辑过(编辑时间:2005-11-11 17:08:40)]
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#52005/11/11 17:26:54
break必须放在一个循环体内 最后的prompt如果回答是也没有返回到最前面,也就无法执行下去了.应该放在一个 while(true){ ..... } 里面
switch的用法也有问题
你第一次的代码只要去掉那个;就OK了
|
liangzn28
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#62005/11/11 17:48:17
呵呵,经过高手的指点,基本可以达到效果了,我还有问题想问问啊!呵呵 我现在是把代码改成: <script language="javascript"> var score=prompt("Please input the score:","") switch(true){ case score>89 && score<101: document.writeln("The degree is: A"); break; case score>79 && score<90: document.writeln("The degree is: B"); break; case score>69 && score<80: document.writeln("The degree is: C"); break; case score>59 && score<70: document.writeln("The degree is: D"); break; case score<59: document.writeln("The degree is: Bad"); break; answer = prompt("Do you want to input another student?",""); if(answer !="y"){ break; } }
我的问题就是:我把原来的switch(score)改成了switch(true),我觉得很奇怪,switch()括号里面不是一个控制条件来的吗?下面的case不是根据这个参数的值来判断的吗?为什么把参数改成true就行了呢? 另外如果我要在上面的switch语句的基础上在加上下列的语句去做判断是否重新输入,该怎么加一个循环还是怎样呢? answer = prompt("Do you want to input another student?",""); if(answer !="y"){ break;
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#72005/11/11 19:01:27
function do(){
var score=prompt("Please input the score:","")
switch(true){
case score>89 && score<101:
document.writeln("The degree is: A");
break;
case score>79 && score<90:
document.writeln("The degree is: B");
break;
case score>69 && score<80:
document.writeln("The degree is: C");
break;
case score>59 && score<70:
document.writeln("The degree is: D");
break;
case score<59:
document.writeln("The degree is: Bad");
break;
answer = prompt("Do you want to input another student?","");
if(answer !="y"){
return false;
}else{
do();
}
}
}
do();
var s = 1;
switch(s){
case 1:
document.write("1");
break
case 2:
document.write("2");
break;
}
|
liangzn28
职务:普通成员
等级:1
金币:0.0
发贴:60
|
#82005/11/14 9:04:03
呵呵,试试看!
|