`

Random()随机数+随机切换图片

阅读更多

一、Random()随机数      转自:http://blog.chinaunix.net/space.php?uid=12926986&do=blog&id=111719

 

import java.util.Random;
/**
* Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。
* 它可以产生int、long、float、double以及Goussian等类型的随机数。
* java.lang.Math中的方法random()只产生double型的随机数。
*/
public class RandomNumber{

public static void main(String[] args) {

// 使用java.lang.Math的random方法生成随机数
System.out.println("Math.random(): " + Math.random());

// 使用不带参数的构造方法构造java.util.Random对象
System.out.println("使用不带参数的构造方法构造的Random对象:");
Random rd1 = new Random();
// 产生各种类型的随机数
// 按均匀分布产生整数
System.out.println("int: " + rd1.nextInt());
// 按均匀分布产生长整数
System.out.println("long: " + rd1.nextLong());
// 按均匀分布产生大于等于0,小于1的float数[0, 1)
System.out.println("float: " + rd1.nextFloat());
// 按均匀分布产生[0, 1)范围的double数
System.out.println("double: " + rd1.nextDouble());
// 按正态分布产生随机数
System.out.println("Gaussian: " + rd1.nextGaussian());

// 生成一系列随机数
System.out.print("随机整数序列:");
for (int i = 0; i < 5; i++) {
System.out.print(rd1.nextInt() + " ");
}
System.out.println();

// 指定随机数产生的范围
System.out.print("[0,10)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// Random的nextInt(int n)方法返回一个[0, n)范围内的随机数
System.out.print(rd1.nextInt(10) + " ");
}
System.out.println();
System.out.print("[5,23)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// 因为nextInt(int n)方法的范围是从0开始的,
// 所以需要把区间[5,28)转换成5 + [0, 23)。
System.out.print(5 + rd1.nextInt(23) + " ");
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范围内的随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print((int) (rd1.nextFloat() * 100) + " ");
}
System.out.println();
System.out.println();

// 使用带参数的构造方法构造Random对象
// 构造函数的参数是long类型,是生成随机数的种子。
System.out.println("使用带参数的构造方法构造的Random对象:");
Random ran2 = new Random(10);
// 对于种子相同的Random对象,生成的随机数序列是一样的。
System.out.println("使用种子为10的Random对象生成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran2.nextInt(10) + " ");
}
System.out.println();
Random ran3 = new Random(10);
System.out.println("使用另一个种子为10的Random对象生成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran3.nextInt(10) + " ");
}
System.out.println();
// ran2和ran3生成的随机数序列是一样的,如果使用两个没带参数构造函数生成的Random对象,
// 则不会出现这种情况,这是因为在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。

// 另外,直接使用Random无法避免生成重复的数字,如果需要生成不重复的随机数序列,需要借助数组和集合类
//本书第4章将给出解决方法。
}
}
 

运行结果:
C:\>java RandomNumber
Math.random(): 0.525171492959965
使用不带参数的构造方法构造的Random对象:
int: 636539740
long: -752663949229005813
float: 0.87349784
double: 0.4065973309853902
Gaussian: 0.4505871918488808
随机整数序列:1936784917 1339857386 -1185229615 1883411721 1409219372
[0,10)范围内随机整数序列: 1 1 5 5 9 0 1 0 2 4
[5,23)范围内随机整数序列: 9 13 26 18 11 27 26 12 21 8
利用nextFloat()生成[0,99)范围内的随机整数序列: 1 47 72 59 49 86 80 88 55 82

使用带参数的构造方法构造的Random对象:
使用种子为10的Random对象生成[0,10)内随机整数序列:
3 0 3 0 6 6 7 8 1 4
使用另一个种子为10的Random对象生成[0,10)内随机整数序列:
3 0 3 0 6 6 7 8 1 4

 

===================================================================================================

 

二、随机切换图片功能

1.SwitchImgPath

/**
 *传入指定路径,返回指定路径下的随机文件名 
 * @author mxj
 */
public class SwitchImgPath {

	public static String getImgPath(String path){
		String filePath = path.replace("\\", "/");
		List<String> myList = new ArrayList<String>();
		
		File file = new File(filePath);
		
		File[] myFiles = file.listFiles();
		for(File f :myFiles){
			myList.add(f.getName());
		}
		
		Random rd1 = new Random();
		int num = rd1.nextInt(5);
		
		return myList.get(num);
	}
}

 2.HpSwitchImgPath.tag

<%-- 随机切换login.jsp页面的图片路径
	向images/loginSwitch下放入5张图片(图片名任意),即可实现图片自动切换,
	要求:图片数量必须为5张,图片可任意取名,图片大小为393*300,
	图片放置路径必须为 images\loginSwitch。
--%>
<%@ tag pageEncoding="UTF-8" import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@tag import="com.hanpeng.b2c.phone.login.action.SwitchImgPath"%>
<%@ attribute required="false" rtexprvalue="true" type="java.lang.Boolean" name="required" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<%
	String filePath = SwitchImgPath.getImgPath(request.getRealPath("/images/loginSwitch"));
%>
<img src="<%=path%>/images/loginSwitch/<%=filePath%>" alt=""/>

  3.login.jsp (加入<hp:HpSwitchImgPath/>标签即可实现随机的切换登录页的图片)

<%@ taglib prefix="hp"	tagdir="/WEB-INF/tags" %>

<div class="n_conimg">
	<hp:HpSwitchImgPath/>
</div>
 

 

分享到:
评论

相关推荐

    day48-Random Image Feed(随机图片显示)

    在本项目"day48-Random Image Feed(随机图片显示)"中,我们将探讨如何使用HTML、CSS和JavaScript技术来创建一个动态展示随机图片的功能。这个功能常见于网站的背景或者轮播图组件中,可以增加用户体验的趣味性和...

    js+css 滤镜 切换图片

    该案例的核心在于通过JavaScript函数实现图片的切换以及随机应用CSS滤镜效果。具体来说,主要包括以下几个部分: 1. **HTML结构定义**:页面包含一个`&lt;img&gt;`标签用于显示图片,以及一组链接用于触发图片的切换。 2...

    随机显示图片脚本

    在JavaScript编程领域,随机显示图片脚本是一种常见的需求,它被广泛应用于网页设计,比如轮播图、背景图片切换等场景。这篇脚本的核心在于如何利用JavaScript的随机数生成功能来实现图片的动态选择和展示。现在,...

    RandomNumber.zip

    在实际应用中,图片切换铺砌效果可能涉及到将多张图片拼接成一个背景,每张图片的位置通过随机数确定,创造出随机但又协调的视觉效果。而图片切换随机线效果可能是指图片在切换时沿着随机轨迹移动,增加视觉吸引力。...

    JS 随机图片效果

    2. **生成随机索引**:然后,利用JavaScript的Math对象提供的random()方法生成一个0到数组长度减一之间的随机数。这将作为随机选取图片的索引。例如: ```javascript var randomIndex = Math.floor(Math.random() ...

    js+css3鼠标滑过图片随机切换展示效果.zip

    在本项目中,“js+css3鼠标滑过图片随机切换展示效果.zip”是一个结合JavaScript(js)和CSS3技术实现的交互式网页元素。当用户将鼠标悬停在图片上时,图片会随机切换展示其他图片,从而为网站增添动态视觉效果。...

    随机图片效果.rar

    综上所述,创建一个具有随机图片显示功能的JS特效并不复杂,主要涉及到JavaScript数组操作、随机数生成以及DOM操作。通过灵活的设计,我们可以实现一个可扩展且用户体验良好的图片相册系统。在实际应用中,可能还...

    js仿AOL随机更换网页背景图片特效,可定义图片数量

    要实现随机更换图片,JavaScript的`Math.random()`函数是关键。它会返回一个介于0(包含)到1(不包含)之间的随机浮点数。通过将这个随机数与图片总数相乘并向下取整,我们可以得到一个随机的图片索引。 3. **...

    asp.net随机显示图片源码

    3. **随机数生成**:在.NET Framework中,`System.Random`类可以用来生成随机数。我们可以用它来选择一个随机的图片索引或者ID。 4. **文件系统访问**:如果图片存储在服务器的文件系统中,我们需要使用`System.IO`...

    随机显示图片

    5. 动态更新:为了实现图片的随机切换,可以设置定时器,每隔一段时间就执行一次上述代码,这样就能达到随机显示图片的效果: ```javascript setInterval(() =&gt; { let randomIndex = Math.floor(Math.random() * ...

    js随机显示图片脚本.rar

    随机显示图片的核心在于两个主要概念:数组和Math.random()函数。数组是存储一系列数据的集合,可以用来保存图片的URL;Math.random()则能生成0到1之间的随机数,用于决定显示哪个图片。 1. 创建图片数组: 首先,...

    JS+JQ随机抽奖代码

    在JavaScript中,可以使用Math.random()函数来生成0到1之间的随机浮点数,通过适当取整和映射,可以将这个随机数转化为抽奖池中的一个特定索引。例如,如果抽奖池有10个奖项,可以先生成0到9的随机数,然后选取对应...

    Flash随机背景特效.rar

    《Flash随机背景特效——探索Flash中的随机数应用与图片切换技术》 在数字媒体和网页设计领域,Flash因其丰富的交互性和动态效果而被广泛应用。本篇文章将深入探讨一个具体的实例——"Flash随机背景特效",这是一项...

    js实现网页随机切换背景图片的方法

    本文将介绍如何使用JavaScript技术实现网页背景图片的随机切换。这一功能可以让网页更加生动有趣,增强用户的视觉体验。实施该功能需要理解以下核心知识点: 1. HTML与CSS基础:了解HTML和CSS的基本结构,掌握如何...

    仿AOL随机更换网页背景图片特效

    生成随机数函数(Math.random())用于在数组中选取一个随机索引,从而选择一张随机图片。 4. **CSS**:为了实现背景图片的效果,我们需要在CSS中定义相应的样式。例如,可以使用`background-image`属性来设置背景...

    jQuery随机切换图片的小例子

    ### jQuery随机切换图片知识点解析 #### 一、概述 在前端开发中,通过JavaScript或其库(如jQuery)实现动态效果是一种常见的需求。本例展示了如何利用jQuery来实现一个简单的功能——点击按钮后随机切换图片。 #...

    点击按钮随机显示一张图片.rar

    9. **用户交互反馈**:为了让用户知道点击已生效,可以添加简单的动画效果,如淡入淡出,或者使用Transition组件来切换图片时平滑过渡。 通过这个案例,初学者可以学习到Unity UI的基本操作,以及如何将C#脚本与UI...

    PHP实例开发源码—PHP+MYSQL实现Ajax图片随机载入及提示特效.zip

    我们可以通过SQL语句`SELECT * FROM images ORDER BY RAND() LIMIT 1`来随机选取一条记录,`RAND()`函数用于生成随机数,`ORDER BY`根据这个随机数排序,`LIMIT 1`则限制只取一条记录。 Ajax(异步JavaScript和XML...

    随机更换背景(每次运行结果背景不一样.

    2. **随机数生成**:利用C++标准库中的`&lt;cstdlib&gt;`或`&lt;random&gt;`库来生成随机数。你可以定义一个范围,代表所有可用背景图片的索引,然后用随机数生成器在该范围内选择一个值。 3. **设置对话框背景**:在对话框初始...

Global site tag (gtag.js) - Google Analytics