java随机数与数组的使用。
java随机数与数组的使用。
一:题目

二 代码:
public class Students {
int number; // 学号
int State ; // 年级
int Score ; // 成绩
public Students(int number, int state, int score) {
super();
this.number = number;
State = state;
Score = score;
}
public static void main(String[] args)
{
Students sds[]=new Students[20];
for(int i=0;i<sds.length;i++)
{
sds[i]=new Students(i+1,(int)(Math.random()*3+1),(int)(Math.random()*100));
if((int)(Math.random()*3+1)==3)
{
System.out.println("学号是:"+(i+1)+" ,年级:"+ 3
+",成绩:"+(int)(Math.random()*100));
}
}
// 求number的值
for(int i=0;i<20;i++)
{
//System.out.println(sds[i]); //此时是一个空数组,所以输出的结果就是null
}
// 求随机数的用法,年级要求在1~3之间
for(int i=0;i<20;i++)
{
// 随机数Math.random(),产生的数是在0~1之间。
// System.out.println((int)(Math.random()*3+1));
}
//求成绩
/*
for(int i=0;i<20;i++)
{
System.out.println((int)(Math.random()*100));
}
*/
}
}
三:分析
1.首先是考虑如何创建一个数组,创建数组可以是一个引用型数据和基本型数据类型。而这里是引用型数据类型。涉及到引用型数据类型时要考虑到构造方法。而基本型数据则不一样。
2.就是对随机数的应用。一般会用到Math.random()
for(int i=0;i<20;i++)
{
// 随机数Math.random(),产生的数是在0~1之间。
// System.out.println((int)(Math.random()*3+1));
}
注意: 用到随机数Math.random时,产生的数据在0~1之间,如果先要1~3的数据需要对Math.random()进行更改。
for(int i=0;i<20;i++)
{
System.out.println(sds[i].number);
}
代码这样则会保错的。错误之处如图

则会出现没有指针。
Students sds[]=new Students[20]; 是基于学生类Students 而创建的数组,不是基本的数据类型的数组。所以会报错。
java随机数与数组的使用。的更多相关文章
- Java 随机数
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...
- Java随机数
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...
- java学习笔记 --- 数组
一.Java的内存分配 A:栈内存: 存储局部变量,只要是在方法中定义的变量都是局部变量.一旦变量的生命周期结束该变量就被释放. B:堆内存: 存储所有new出来的,及实体(对象),每一个实体 ...
- java 随机数高效生成
分享牛,分享牛原创.近期去面试经常被问到java如何生产随机数,以及生成很大的字符串保证不能重复,还要考虑性能,之前本人面试别人的时候,可能不会问这个问题.既然这个java随机数问题经常被问到,那咱们 ...
- (转)Java随机数
1 随机数的三种产生方式 本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMil ...
- JAVA学习笔记--数组初始化
JAVA中,数组只是相同类型的.用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如: int[] ...
- Java反射遍历数组
日志中有时候需要查看数组中的值,但是重载很多的打印函数,觉得很别扭.所以想通过反射,获取数组中的值,打印出来.Java提供了数组反射操作的类,之前没有关注过,提供的方法简单易用. public sta ...
- 慕课网-安卓工程师初养成-6-3 如何使用 Java 中的数组
来源:http://www.imooc.com/code/1525 Java 中操作数组只需要四个步骤: 1. 声明数组 语法: 或者 其中,数组名可以是任意合法的变量名,如: 2. 分配空间 简 ...
- Java中的数组操作进阶
package com.mi.array; import java.util.Arrays; /** * System.arraycopy(i, 0, j, 0, i.length);这种复制会覆盖目 ...
随机推荐
- 基于nodejs的消息中心
参考:http://t42dw.iteye.com/blog/1767013
- (java)从零开始之--异常处理(以文件拷贝为例)
开发过程中避免不了对异常的处理,但是异常的处理又不能乱throw 下面是简单的抛异常处理 public static void CopyFile(String souFile,String dirFi ...
- ICE学习第三步-----Slice语言
ICE:Slice语言(一)-编译 Introduce简介 Slice(Specification language for ice)是分离对象和对象的实现的基础的抽象机制.Slice在客户端和服务器 ...
- phpexcel 一些基本的设置 (表格的基本属性)
网址是:http://www.thinkphp.cn/code/1893.html
- impress.js学习总结
impress.js是一个很有趣的用来替代PPT的展示用的js工具,它的灵感来自prezi 如果你要学习使用它,这里有很好的演示模板 使用它的第一步,下载 impress.js,引入到你的代码里,并执 ...
- 谨慎使用php的strtotime()函数
我们在日常业务中,针对业务量,经常会采用对数据库按时间做横向分表,分表后的查询往往会涉及到时间问题.例如,我们想查询某个用户距离当前时间1个月的订单情况,在这个时候,我们有些会用到strtotime( ...
- for循环,列表和格式化输出
一:for 循环 1. 简单的说如果让你输出1到100之间的整数,用while该怎么实现呢? i= : print(i) i+= 看着是不是只有4行,但是有没有更加简单的办法,不妨我 ...
- 转:六百字读懂Git
原文来自于:http://www.techug.com/git-in-600-words 译注:来自 Hacker School 的 Mary Rose Cook 最近实现了一个纯 JavaScrip ...
- 首页重定位到mian.action上
<body onload="top.location.href='<%=request.getContextPath()%>/main.action';">
- hdu 5151 Sit sit sit
http://acm.hdu.edu.cn/showproblem.php?pid=5151 题意:一共有N个椅子,然后有N个学生依次去坐,满足下面三个条件不能坐上去,1:这个椅子旁边有左椅子也有右椅 ...