ورود

View Full Version : رد کردن اعداد به صورت راندوم



iman64
چهارشنبه 13 خرداد 1388, 17:32 عصر
سلام
نمیدونم موضوع انتخابی مناسب هست یانه.به هر حال ببخشید.
دوستان من یه کد دارم که یه جاییش نباید عددها رو به صورت راندوم رد کنه که متأسفانه اینجوریه
من میخوام که مثلاً از 0 شروع کنه و به 3 ختم بشه و این کار رو تکرار کنه.البته تکرارش مشکلی نداره ولی همین که راندوم رد میکنه باهاش مشکل دارم.
اینم کدم


<SCRIPT type="text/javascript">
var quotations = new Array()
quotations[0]= "text1"
quotations[1]= "text2"
quotations[2]= "text3"
quotations[3]= "text4"
function display()
{
a=Math.floor(Math.random()*quotations.length)
document.getElementById('quotation').innerHTML=quo tations[a]
setTimeout("display()",5000)
}
</SCRIPT>
<div id="quotation">
<SCRIPT type="text/javascript">display()</SCRIPT>
</div>
مشکل من با این قسمتشه

a=Math.floor(Math.random()*quotations.length)
ممنون

java_nith
چهارشنبه 13 خرداد 1388, 18:42 عصر
جملهٔ شما اشتباه است
اول از متد random استفاده می‌کنیم برای پیدا کردن یه عدد
ولی‌ این metod ,رتورن می‌کنه به یه عدد decimal
برای همین اولش باید کاست بشه به int

برای همین از (اینت) استفاده می‌کنیم
این جمله درسته :

int rand = (int)(Math.random()* tall.length);

برای شما کل برنامه رو نوشتم



public class RandomQus{
public static void main(String [] args){


String [] tall = {"Q1","Q2","Q3"};

int rand = (int)(Math.random()* tall.length);

System.out.println(tall[rand]);


}
}

البته این برنامه در Java SE کار می‌کنه
ولی‌ شما کدت در JavaScriptاست

iman64
چهارشنبه 13 خرداد 1388, 18:50 عصر
ببخشید دوست عزیز من میگم نمیخوام راندوم باشه.میخوام به ترتیب از 0 تا 3 بره همین.
اینجوری تصادفی یه عددی انتخاب میشه که من نمیخوام.خواهش میکنم کمک کنید.

iman64
چهارشنبه 13 خرداد 1388, 19:56 عصر
دوست عزیز ممنون به خاطر پاسختون خودم به یه کلکی حلش کردم.
اینم کدش

<SCRIPT type=\"text/javascript\">
var quotations = new Array()
quotations[0]= \"<b>title1</b>\"
quotations[1]= \"<b>title2</b>\"
quotations[2]= \"<b>title3</b>\"
quotations[3]= \"<b>title4</b>\"
a=-1
function display()
{
if(a==3){
a=-1}
a++
document.getElementById('quotation').innerHTML=quo tations[a]
setTimeout(\"display()\",5000)

}
</SCRIPT>
<div id=\"quotation\">
<SCRIPT type=\"text/javascript\">display()</SCRIPT>
</div>

java_nith
پنج شنبه 14 خرداد 1388, 04:02 صبح
من بازم شاید منظور شما رو متوجه نشدم
ولی‌ اینجوری که فهمیدم شما از for loop چرا استفاده نمی‌کنید؟
اون موقع اون از شماره ۱ تا ۳ رو نمایش میده؟!



public class RandomQus{
public static void main(String [] args){


String [] tall = {"Q1","Q2","Q3"};


for(int i = 0; i < 3; i++){
System.out.print(tall[i]);
}


}
}