java随机数生成10到55(使用java,lang,math类,生成10个0-99之间的随机整数,统计小于50的整数个数,)

本文目录
- 使用java,lang,math类,生成10个0-99之间的随机整数,统计小于50的整数个数,
- java数组排序问题,生成一个10-50的随机整数并排序,以下两种写法结果不同,求解
- JAVA中如何随机生成确定范围中的随机数
使用java,lang,math类,生成10个0-99之间的随机整数,统计小于50的整数个数,
int count=0;
for (int i = 0; i 《 10; i++) {
int num = (int)(Math.random()*99);
if (num《50) {//小于50 就加一下外面的统计数
count++;
}
System.out.println("随机数=="+num );
}
System.out.println("循环10次的随机数小于50的个数有=="+count);
java数组排序问题,生成一个10-50的随机整数并排序,以下两种写法结果不同,求解
额。看了各位大大的说法,我去重新查了下资料,同时也去测验了下,重新发表评论下。
主要我是受之前的C#的老师影响呵,他告诉我说foreach不能用来改变内容,而且C#中如果改变就会报错。
不过Java中好像不一样。
好了,下面我们一起来讨论一下。
for(类型 变量 :集合){
}
从上面的式子我们可以看出,这个变量只是取到了集合中的值(并不是真正集合中的元素),
这个和我们用通过方法来改变数据的原理一样。
如果是基本数据类型的话,我们取到的是值,不管这个变量怎么改变,原来的数据都不会发生变化。所以
有楼主出的结果。。
可是如果是用对象数组或者用集合的话。
for(Student stu : students){
stu.age=10;
}
根据我们知道的。此时stu,也是引用,指向的是students元素对应的堆中的地址。所以堆中的数据改变 了,数组中的指向堆中对象的数据肯定也发生了改变。
我作了两个demo,如下
public class RandomTest {
public static void main(String args)
{
//引用类型作元素
Student;
for(int i=0;i《students.length;i++){
students=new Student();
}
for(Student stu : students){
//这时stu引用的是对应的对象堆中的地址,所以操作这个对象的数据也发生了改变
stu.age=10;
}
for(Student stu : students){
System.out.println(stu.age);
}
//基本数据类型
int;
Random r=new Random();
for(int element :a)
{
//这是一个新的变量,来接收数组中的值,现在改变的是element的值。数组中原来的值没有发生改变
element=r.nextInt(40)+10;
}
Arrays.sort(a);
for(int element :a)
System.out.println(element);
}
}
class Student{
public int age;
}
总结一下。。
在java中。foreach中。元素取的是集合对应的元素的值。。并不是本身集合的元素
而通过for 取得是集合本身的元素。
所以如果是基本数据类型的话,不改变数组中的数据。
如果是引用数据类型的话,会改变数组中对象的数据。
这个和用基本数据类型当参数和引用数据类型当参数效果一样。
JAVA中如何随机生成确定范围中的随机数
public static void main(String args) { //打印 30到50之间的随机数
int min = 30;
int max = 50;
for(int i=0;i《10;i++){
System.out.println(new Random().nextInt(max-min)+min);
}
}

更多文章:
java初级编程经典题(一套JAVA的初级题目,跪求各位大虾帮帮忙)
2025年10月27日 05:45
一个完整的docker服务包括(Docker的主要作用是什么_docker属于什么)
2026年9月9日 08:45
python第三方库(怎么看安装了哪些第三方库在python)
2026年5月23日 18:30
python中row函数是什么意思(python中的row具体有什么用呢)
2025年8月25日 18:15
true和false的来源(false什么意思 解析false的含义和用法)
2026年2月15日 20:15
用Wps表格制作一张方便的报价单模板?怎么把一个EXCEL表格变成模板
2026年8月6日 14:00
analyze翻译(具备独立的思辨和分析能力的翻译是:什么意思)
2026年1月16日 10:15
intellijidea如何升级(intellij idea 怎么让class自动更新到war)
2026年3月23日 11:00
log4j2 xml配置(log4j2.xml怎么调用properties)
2025年6月7日 16:45
网页制作滚动字幕代码(写出制作滚动字幕的代码(包括方向、速度、行为、区域、区域背景等))
2025年6月23日 22:30
婚纱摄影网站图片(哪些地方适合拍婚纱照,这些外景都是很漂亮的)
2026年8月23日 06:45
c语言考试题及答案2018(2018年9月计算机二级C语言程序设计章节习题4)
2026年2月25日 15:15










