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);这种复制会覆盖目 ...
随机推荐
- Bootstrap_Javascript_手风琴
触发手风琴可以通过自定义的 data-toggle 属性来触发.其中data-toggle值设置为 collapse,data-target="#折叠区标识符". 第一步,设计一个 ...
- innerHtml写法
swt_center = "<div id='new_swt_wee'>"; swt_center += '<a href="javascript:vo ...
- php基础知识【oop/mvc/orm/aop】
OOP 面向对象编程是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成.OOP 达到了软件工程的三个主要目标:重用性.灵活性和扩展性.为了实现整体运 ...
- apache rewrite .htaccess 站点内容重定向实例
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENA ...
- python学习第五天 List和tuple类型介绍及其List切片
List 和tuple: python提供一种类似C语言数组的类型,但是使用起来确是相当的简洁.那就讲讲这神奇的python中list 和tuple吧. List类型: 1.直接贴代码: L = [' ...
- 从NIB中加载VIEW
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ChatMoreView" owner:nil options:nil]; ...
- python中对文件、文件夹的操作需要涉及到os模块和shutil模块。
创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建 ...
- c# appdomain
http://www.cnblogs.com/Terrylee/archive/2005/11/28/285809.html
- GNU PGM
Linux程序设计入门 - gpm gpm是Linux console下的滑鼠驱动程序,它主要提供文字模式下的滑鼠事件处 理.Linux下文字界面的滑鼠几乎都是用gpm来处理. gpm的文件在gpm原 ...
- 关于新手与SEO误区的那些事儿
常见的SEO误区,部落觉得对于新手来说,最容易出现问题的就是关健词堆砌了.记得部落自己最开始做网站的时候,基本每一篇文章都会布局很密的关健词.当然,对于新手网站SEO来说,远远不止这一点,或许最重要的 ...