随机数的用法:
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。
Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
多维数组注意:
alert(new Date().getTime());
alert(Math.abs(-1));//对象调用方法
alert(Math.PI);//对象调用属性
alert(Math.ceil(2.3));//向上取整,只要有小数点就+1//3
alert(Math.floor(1.9));//1
代码练习:
1.36选7彩票题
首先要理清思路,怎么做,该干什么 写注释!!!
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 var arr = [];//定义一个数组 2 for (var i=0;i<7;i++){//随机抽取数 3 var num =parseInt(Math.random()*35+1);//36个数里随机挑选 4 for(var j in arr){//定义一个数j在arr数组里面 5 if(arr[j]==num){//如果num这个数等于j,那就是重复 6 jj=false;//定义jj代表重复 7 } 8 } 9 if(!jj){//如果不重复 10 i--; 11 }else{ 12 arr[i]=num;//则就把这个数放在这组数组里面 13 } 14 }
2.学生成绩汇总计算
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
3.随机获取4个数
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 window.onload = showyam;//窗口加载页面 2 var str = "";//设一个字符串为空值 这里的str是全局变量 3 function showyzm(){//执行的方法 4 var strA = [1,2,3,4,5,6,7,"a","b","c"];//定义一个数组strA 5 str =""; 6 for(var i=0; i<4;i++){//循环4次 7 var quzhi = parseInt(Math.random()*strA.length);//这个取值是根据数组的长度来取 8 str = str + strA[quzhi];//把取得的这个数加在数组里面 9 } 10 document.getElementById("dd").innerHTML =str;//取得的这个数应用在html里面的元素"dd"里面,也就是div里 11 } 12 13 function istrue(){ 14 //获取用户输入的验证码 15 var userstr = document.getElementById("yzm").value; 16 if (userstr==str){//如果用户输入的和数组里的一样 17 //那么就应用在HTML里 18 document.getElementById("info").innerHTML ="验证码输入正确"; 19 }else{//如果不一样就显示错误 20 document.getElementById("info").innerHTML = "验证码错误"; 21 }
4.确认数组下标/两组数组比较大小
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 确认数组里的数的下标 2 /*var arr = [1,2,3,8,5,9,6];//定义一个数组 3 for(var i=0;i<arr.length;i++){//循环 4 if(arr[i] == 8){//如果这个数是8 5 alert(i);//那么就输出这个数的下标(也就是在数组里排第几位) 6 } 7 } 8 //两组数组比大小 9 for(var i=0;i<arr.length;i++){//这个循环出来的数 10 for(var j=i+1;j<arr.length;j++){//循环 11 var pk = null;//定义第一个数组一个变量为空值 12 if(arr[i]>arr[j]){//如果数组i里面的数大于数组j里面的数 13 pk =arr[i];//取得数就是i里面的数 14 arr[i]=arr[j];//两个数组里的数组相等 15 arr[j]=pk;//得出一组从小到大排列的数 16 } 17 } 18 }alert(arr);
5.评委打分
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
//定义一个数组 里面包含20个分数 var arr =(23,12,56,84,64,91,65,78,32,46,94,89,62,35,67,89,36,41,78,63); var max =""; var min =""; var sum =0; //循环 for(var i=0;i<20;i++){ //判断最大数 if(max<arr[i]){ //就把这个数存在数组里面 max=arr[i];//得出最大值 }else if(min>arr[i]){// min=arr[i];//得出最小值并存入数组 //求和 sum = sum+arr[i]; } //计算结果 sum = (sum-max-min)/18; console.log(sum); }
6.计算器
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 <div> 2 <input id="a1" type="text"> 3 <select id="b2" type=""> 4 <option>+</option> 5 <option>-</option> 6 <option>*</option> 7 <option>/</option> 8 </select> 9 <input id="c3" type="text" value=""> 10 <input id="d4" type="button" value="计算" onClick="math()"> 11 <input id="e5" type="text" value=""> 12 </div> 13 14 var sum=""; 15 function math(){ 16 var a1 =document.getElementById("a1").value; 17 var b2 =document.getElementById("b2"); 18 var c3 =document.getElementById("c3").value; 19 var d4 =document.getElementsByTagName("select")[0]; 20 var e5 =document.getElementById("e5"); 21 if(b2 =="+"){ 22 sum.value="+a1 + +c3";//sum=parseInta1+parseIntc3; 23 console.log(a1); 24 } 25 else if(b2=="-"){ 26 sum.value=+a1 - +c3;//sum=parseInta1/parseIntc3; 27 } 28 else if(b2=="*"){ 29 sum.value=+a1 * +c3;//sum=parseInta1*parseIntc3; 30 } 31 else if(b2=="/"){ 32 sum.value=+a1 / +c3;//sum=parseInta1/parseIntc3; 33 34 } 35 e5.value = sum; 36 }
7.水仙花数
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
//水仙花数 for(var i=100;i<1000;i++){ a = i % 10;//求个位数 b = parseInt((i / 10) % 10);//求十位数 c = parseInt(i / 100); if (i == a * a * a + b * b * b + c * c * c){ console.log(i); } }
8.买牙刷、牙膏、香皂算术题
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
//牙膏、牙刷、肥皂 var num=0; for(var i=0;i<=20;i++){ for(var j=0;j<=50;j++){ for(var k=0;k<=6;k++){ if(i*5+j*2+k*15 == 100){ num++; console.log("牙膏有"+i+"种","牙刷有"+j+"种","肥皂有"+k+"种"); } } } } console.log("总共有"+num+"种");