2014-03-31 4 views
1

안녕하세요 저는 몇 마디를 입력하고 마지막에 가장 높은 마킹과 최저 마커를 얻으려고합니다. 그러나 어떤 이유로 2 회 프린트하고 두 번째로 무한대를 프린트하고 아이디어?자바 스크립트를 여러 번 인쇄하기

var gradeAwarded; 
var gradeAwarded; 
var repeate = true; 
var max; 
var A; 
var B; 
var C; 
var F; 

var repeat, studentArr = [], markArr = []; 
while (repeat !== 'n' && repeat !== 'N'){ 
    studentArr.push(prompt("Enter Student Name: ")); 
    markArr.push(parseInt (prompt("Enter Student mark: "))); 
    repeat = prompt ("Do you want to enter another student: y/n"); 
} 

Array.prototype.max = function() { 
    return Math.max.apply(Math, markArr); 
}; 

Array.prototype.min = function() { 
    return Math.min.apply(Math, markArr); 
}; 
var min = markArr.min(); 
var max = markArr.max(); 


if (markArr <0 || markArr >100){ 
    alert("Grate out of bounds"); 
}else if (markArr >= 83){ 
    gradeAwarded = "A"; 
    A = +1; 
}else if (markArr >= 70){ 
    gradeAwarded = "B"; 
    B = +1; 
}else if (markArr >= 50){ 
    gradeAwarded = "C"; 
    C = +1; 
}else if (markArr >= 0){ 
    gradeAwarded = "F"; 
    F = +1;              
} 

    document.write("The Highest mark was : "+max); 
    document.write("The Lowest mark was : "+min); 

답변

1

이어야 작동해야 || 대신 & &

while (repeat !== 'n' || repeat !== 'N'){ 
    studentArr.push(prompt("Enter Student Name: ")); 
    markArr.push(parseInt (prompt("Enter Student mark: "))); 
    repeat = prompt ("Do you want to enter another student: y/n"); 
} 

의 또한 당신이 상기 공정의 변수 반복 명확 또는 설정해야

+0

당신이 맞아야합니다. || 하지만 일부 RESON 것이 너무 학생 마크 학년 학생 마크 학년 학생 마크 학년 학생 마크 학년 학생 마크 내가 이것에 대해 갈 것이라고 어떻게 학년 여기 내를 인 infenite 루프 안녕하세요 내가 좋아하는 내 데이터를 표시 할 – HelloWorld

+0

하게 코드는 내 과제의 다른 부분에 대한 하단의 document.write를 신경 쓰지 마십시오. – HelloWorld

+0

너는 분명하지 않다. 순수한 질문을 열고 잘 설명해주세요. –

1

while 루프를 사용하므로 반복 실행 == 'n'이므로 스크립트가 실행되지 않습니다. markArry가 재설정되므로 스크립트를 두 번 실행하면 무한대가됩니다.

대신 do while 루프를 사용해야합니다. 이런 식으로 뭔가 :

do { 
    studentArr.push(prompt("Enter Student Name: ")); 
    markArr.push(parseInt (prompt("Enter Student mark: "))); 
    repeat = prompt ("Do you want to enter another student: y/n"); 
}while(repeat !=='n' || repeat !=='N'); 

+0

아니 didnt 한 작업 그것은 나를 위해 일한 무한 루프 – HelloWorld

+0

했다. 브라우저 새로 고침 시도 – kyros

+0

전체 스크립트를 게시하고 있다고 생각하지 않습니다. – kyros

관련 문제