2016-10-04 12 views
-1

こんにちは私は非常にjavascriptに新しいと宿題をして立ち往生。私の質問は、do whileループで複数の入力を一緒に追加する方法です。私はすべての入力を加算してから、平均を得るための入力量で割ったものとみなされます。たとえば、ユーザーが7,3,5、および2を入力した場合、回答は4.25になります。これは私がこれまで持っていたものです。do whileループで入力を一緒に追加するにはどうすればよいですか?

var prompt; 
var input = prompt("Please enter a number, input a negative number to stop"); 
var number = input >= 0; 
var alert; 
var sum = 0; 
var sum2 = 0; 
while (input <= 0) { 
    input = +prompt("Error enter a positive number to start"); 
} 
do { 
    input = +prompt("Enter another number, a negative to stop"); 
    sum += number; 
    //inputs added together goes here 
}  while (input >= 0); 
alert(); //inputs added together divided by sum goes here 
+0

最初の入力やwhileループは必要ありません。 'prompt'とalertはすでにクライアントサイドJSで定義されています。 'sum2'は未使用です。インデントは悪いです。すべてのコードコメントを除いて、アルゴリズムは簡単ではなく、JSにさらに簡単に変換されています。 – DrakaSAN

+0

この質問は何の努力もしていないことを示しています。先生がそれを見て、あなたのことを認識して、追加の教習が必要であることを知ることができるように願っています。 – DrakaSAN

答えて

0

こんにちはこのバージョンをお試しください。

var num = 0, sum = 0, count = 0; 
do { 
num = parseInt(prompt('Enter Number')); 
sum = num >= 0 ? sum+=num : sum; 
count = num >= 0 ? count+=1: count; } 
while(num >= 0); 
console.log(sum + ' count is ' + count); 
console.log(sum/count); 

基本的に私はプロンプトから読み込み、入力を整数に変換し、0以上であれば合計します。数字が0以上の場合は1を加算して合計で除算します。

+0

ありがとう! –

0

no入力をカウントするにはsum2の値を大きくします。また、ユーザーが負の値を入力すると、合計が入力の数で除算されるという条件を追加します。

あなたのコードを編集しました。

var prompt; 
var input = prompt("Please enter a number, input a negative number to stop"); 
var number; 
var alert; 
var sum = 0; 
var sum2 = 0; 
while (input <= 0) { 
input = +prompt("Error enter a positive number to start"); 
} 
do { 
input = +prompt("Enter another number, a negative to stop"); 
number=input; 
alert(number); 
sum += number; 
sum2++; 
if(input<0){ 
sum +=(-number); 
alert("average"+(sum/(sum2-1))); 
} 
//inputs added together goes here 
}  while (input >= 0); 
alert(); 

希望します。

0
'use strict'; 
let input, sum = []; 
do { 
    input = prompt("Enter another number, a negative to stop"); 
    sum.push(input); 
} while (input >= 0); 
alert(sum.filter((a, b) => {return a + b})/sum.length); 
関連する問題