2015-10-02 31 views
0

我试图创建在JavaScript中档次的任意值等级计算器。代码运行时,代码的任何部分都不会被执行。在我的代码的语法中是否存在明显的错误? 谢谢, 本级计算器的JavaScript未运行

var numberofgrades = prompt("How many grades do you want to calculate?"); 
var countingvalue = 1; 
var grades = [0]; 
var tempgrade = 0; 
var averagetotal = 0; 
for(i=0;i<numberofgrades;i++;){ 
if(countingvalue!=numberofgrades){ 
    var tempgrade= prompt("What is your "+countingvalue"th grade?") 
    grades.push(tempgrade); 
    countingvalue++; 
} 
else if(countingvalue==numberofgrades){ 
    for(var j=1;j=<numberofgrades;j++){ 
     averagetotal = grades[j]+averagetotal; 
    } 
} 
    alert("Your average grade is: "+(averagetotal/numberofgrades)); 

最新编辑的代码 -

var numberofgrades = prompt("How many grades do you want to calculate?"); 
var countingvalue = 1; 
var grades = [0]; 
var tempgrade = 0; 
var averagetotal = 0; 
for(i=0;i<numberofgrades;i++){ 
if(countingvalue!=numberofgrades){ 
    var tempgrade= prompt("What is your "+countingvalue+"th grade?") 
    grades.push(tempgrade); 
    countingvalue++; 
} 
else if(countingvalue==numberofgrades){ 
    for(var j=1;j<=numberofgrades;j++){ 
     averagetotal = grades[j]+averagetotal; 
    } 
    } 
} 
alert("Your average grade is: "+(averagetotal/numberofgrades)); 

我的语法只是固定的这个问题,并正在运行。我有问题添加两个数字,而不是我的程序连接值。感谢您的帮助, 本

var averagetotal = (grades[j]+averagetotal); 

这是整个代码。

var numberofgrades = prompt("How many grades do you want to calculate?"); 
var countingvalue = 0; 
var grades = []; 
var tempgrade = 0; 
var averagetotal = 0; 
for(var i=0;i<=numberofgrades;i++){ 
if(countingvalue!=numberofgrades){ 
    if(countingvalue==1){ 
    var tempgrade= prompt("What is your "+(countingvalue+1)+"st grade?"); 
    grades.push(tempgrade); 
    countingvalue++; 
} 
    else if(countingvalue!=1){ 
    var tempgrade= prompt("What is your "+(countingvalue+1)+"th grade?"); 
    grades.push(tempgrade); 
    countingvalue++; 
    } 
} 
else if(countingvalue==numberofgrades) 
{ 
    for(var j=0;j<numberofgrades;j++){ 
     var averagetotal = (grades[j]+averagetotal); // problem line 
     alert(j+" "+averagetotal); //checking values 
    } 
} 


} 
alert(grades[0]); //just checking values 
alert(grades[1]); //checking values 
alert(averagetotal); 
alert("Your average grade is: "+(averagetotal/numberofgrades)); 

回答

1

您有语法错误。取而代之的

for(i=0;i<numberofgrades;i++;) 

应该

for(i=0;i<numberofgrades;i++) 

代替

var tempgrade= prompt("What is your "+countingvalue"th grade?") 

也应该是

var tempgrade= prompt("What is your "+countingvalue+"th grade?") 

for(var j=1;j=<numberofgrades;j++){ 

,而不是

应该

for(var j=1;j<=numberofgrades;j++){ 

终于有似乎是你的括号中的问题 - 你缺少}

+0

变量应保持本地和位空白的帮助:'用于(VAR I = 0; I RobG

+0

谢谢,但程序仍然不会运行。 –

+0

明白了,我通常只是想保证我的所有变量都在适当的范围内。 –

1

试试这个代码

<script> 
var numberofgrades = prompt("How many grades do you want to calculate?"); 
var countingvalue = 1; 
var grades = [0]; 
var tempgrade = 0; 
var averagetotal = 0; 
for(var i=0;i<numberofgrades;i++){ 
if(countingvalue!=numberofgrades) 
{ 
    var tempgrade= prompt("What is your "+countingvalue+"th grade?"); 
    grades.push(tempgrade); 
    countingvalue++; 
} 
else if(countingvalue==numberofgrades) 
{ 
    for(var j=1;j<numberofgrades;j++){ 
     averagetotal = grades[j]+averagetotal; 
    } 
} 

    alert("Your average grade is: "+(averagetotal/numberofgrades)); 
} 

</script> 
+0

不,我用firefox和chrome试了一下。我发布整页代码。 –

+0

尝试在Chrome上打开新标签 –

+0

https:// jsfiddle。net/73nkothp /检查这个 –