2011-10-12 38 views
1
var member1 = prompt("Bowler's Name", "Name"); 
var member1score1 = prompt("Score from game 1", ""); 
var member1score2 = prompt("Score from game 2", ""); 
var member1score3 = prompt("Score from game 3", ""); 
var memeber1avg = ((memberscore1 + member1score2 + member1score3)/3); 


var member2 = prompt("Bowler's Name", "Name"); 
var member2score1 = prompt("Score from game 1", ""); 
var member2score2 = prompt("Score from game 2", ""); 
var member2score3 = prompt("Score from game 3", ""); 
var memeber2avg = ((memberscore1 + member1score2 + member1score3)/3); 


var member3 = prompt("Bowler's Name", "Name"); 
var member3score1 = prompt("Score from game 1", ""); 
var member3score2 = prompt("Score from game 2", ""); 
var member3score3 = prompt("Score from game 3", ""); 
var memeber3avg = ((memberscore1 + member1score2 + member1score3)/3); 


var member4 = prompt("Bowler's Name", "Name"); 
var member4score1 = prompt("Score from game 1", ""); 
var member4score2 = prompt("Score from game 2", ""); 
var member4score3 = prompt("Score from game 3", ""); 
var memeber4avg = ((memberscore1 + member1score2 + member1score3)/3); 

好吧,所以我是js的新手,我知道這可以做到更簡單的方法與數組...只是不知道如何。另外我該如何寫這個表格?輸出一個名稱和平均分數的表

+1

*死亡*想到的。或者至少是一次致殘。 –

+0

哈哈耶我知道...幫助? –

+0

有很多重複的代碼。您可能想要考慮如何編寫單個函數來計算單個成員的平均值。然後調用該函數3次。 –

回答

1

如何創建成員對象,並給它輸入和平均測算方法:由提示

function Member() { 
    this.score = []; 
    this.name = prompt("Bowler's Name", "Name"); 
} 

Member.prototype = { 

    inputScore: function(cnt){ 
    for (var i = 0; i < cnt; i++) { 
     this.score[i] = parseInt(prompt('Score from game ' + (i + 1), ''), 10); 
    } 
    }, 

    getAverage: function() { 
    var sum = 0; 
    for (var i = 0; i < this.score.length; i++) { 
     sum += this.score[i]; 
    } 
    return sum/this.score.length; 
    } 

}; 

// create four members and input data 
var members = []; 
for (var i = 0; i < 4; i++) { 
    members[i] = new Member(); 
    members[i].inputScore(3); 
} 

// output averages  
for (var i = 0; i < members.length; i++) { 
    alert('Average for ' + members[i].name + ' is ' + members[i].getAverage()); 
} 
+0

它更有意義,如果你讀「其他」的問題:http://stackoverflow.com/questions/7733435/bowling-average-in-js –

+0

我喜歡它,但*方式*在OP。一個簡單的A ++如果教授不感到可疑。 –

+0

可能要爲'parseInt'函數指定一個10的基數。 –