0

私はJavaScriptが初めてです。最小値と最大値の間の乱数を生成するエクササイズ プログラムを作成しようとしています。以下のプログラムで問題に直面しています。var2 + min正しく動作していません。変数 min を実際の値に置き換えると、機能します。私は何を間違っていますか?

var var1=Math.random()
var min = prompt("Enter Min value:")
var max = prompt("Enter max value:")
alert("min is "+min+" max is "+max)
var var2=var1*(max-min)
var var3=var2+min
var var4=Math.floor(var3)
alert("var1= "+var1+" var2= "+var2+" var3= "+var3+" Var4 "+var4)
4

3 に答える 3

3

使用する:

var min = parseInt(prompt("Enter Min value:"), 10);
var max = parseInt(prompt("Enter max value:"), 10);

問題は、これらの変数に文字列が含まれているため、含まれている式が+数値の加算ではなく文字列の連結を実行していることです。

そして、学習している間に、ステートメントを で終了する習慣を身につけてください;。Javascript はこれを要求することについては緩いですが、それについては明示する必要があります。セミコロンをいつ省略できるかについての規則は少し難解です。

于 2013-07-09T01:23:40.053 に答える
0

var1var2var3などは適切な変数名ではありません。それらを使用しないでください。

prompt文字列を返すため、コードが機能していません。1 - "2"is ですが、 is です-1。これ1 + "2""12"、加算演算子が文字列の連結に使用されるためです。

文字列を整数に解析します。

var min = parseInt(prompt("Enter Min value:"), 10);
于 2013-07-09T01:23:01.427 に答える
0

promptを返すので、変換するstring必要がありmin、次のようになります。maxnumber

var min = Number(prompt("Enter Min value:"));
var max = Number(prompt("Enter max value:"));
于 2013-07-09T01:23:02.847 に答える