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);这种复制会覆盖目 ...
随机推荐
- SGU 224.Little Queens
时间限制:0.75s 空间限制:6M 题意 n*n(n<=10)的棋盘,求出放置m(m<=n*n)个皇后的方案数. Solution: 状态压缩+位运算 搜索. 首先我们从上往下逐行放置 ...
- 第七篇、Nginx Install On Mac
方式一: 在mac上安装nginx,依次安装对应的依赖 pcre ./configure --prefix=/usr/local/pcre-8.37 --libdir=/usr/local/lib/p ...
- Python 基础 文件操作
字符串与字节之间的转换 # utf-8 一个汉字 占三个字节 # gbk 一个汉字 占两个字节 # 字符串转换成字节 print(bytes('汉字', encoding='utf-8'))print ...
- day11基础代码——函数指针
// // main.m // Demo11 // // Created by scjy on 15/10/29. // Copyright © 2015年 lizhipeng. All ri ...
- 转:2014年最酷的30个JavaScript库
原文来自于:http://www.gbtags.com/gb/share/3701.htm 使用JavaScript库将会使开发变的更简单,大部分JavaScript库提供的功能都是极好的,当我们在为 ...
- GC的前世与今生
GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是 ...
- python 性能鸡汤
转载自:http://www.oschina.net/question/1579_45822 1:使用内建函数input() int() isinstance() issubclass() iter( ...
- BZOJ 1023 仙人掌图
Description 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回 ...
- ios入门之c语言篇——基本函数——3——判断日期是一年的第几天
3.判断日期是一年的第几天 参数返回值解析: 参数: y:int,年份: m:int,月份 d:int,日期 返回值: sum:传入日期是当年的第几天: 函数解析: leapyear(y);判断y是不 ...
- 【HDOJ】3325 Arithmetically Challenged
简单DFS. /* 3325 */ #include <iostream> #include <set> #include <cstdio> #include &l ...