java随机生成5个数,最小值求不出?

问题描述

java随机生成5个数,最小值求不出?

public class random1{
public static void main(String args[]){
int arr[]=new int[5];
int max=arr[0];
int min=arr[0];
for(int i=0;i<5;i++){
arr[i]=(int)(Math.random()*100);
System.out.println(arr[i]);
if(max<arr[i])
max=arr[i];
if(arr[i]<min)
min=arr[i];
}
System.out.println(max);
System.out.println(min);
}
}

解决方案

java里int数组在初始化时如果没有声明值,那么数组里的整数值默认为0。
所以你在最开始的时候给min=arr[0]赋值时。其实是给min赋值为0了。
你可以在for循环里面判断 i 是不是为0,如果是为0,则直接赋值给max和min,大于0才做判断。

解决方案二:

int min=arr[0];你在这里给min赋了初始值为0,arr[i]=(int)(Math.random()*100);而你这里的又生存的是整数,那么if(arr[i]<min)这里的判断条件就恒为false
你下面的min=arr[i]是永远都不会执行的,

解决方案三:

最小值当然是求不对的,因为你在定义了一个空的数组之后就马上采取了max和min的赋值操作,这是不合理的。
问题出在这两行:

 int max=arr[0];
int min=arr[0];

应改成:

int max = xx(A number very very small depending on your situation);
int min = xx(A number very very large depending on your situation);

解决方案四:

最大最小值赋值的时候,最好用已经定义的最大最小值。比如
max = Integer.MIN_VALUE;
min = Integer.MAX_VALUE;

时间: 2024-11-11 16:30:22

java随机生成5个数,最小值求不出?的相关文章

算法-java 随机生成 两个数 n1 n2

问题描述 java 随机生成 两个数 n1 n2 java 随机生成 两个数 n1 n2 要求: n1,n2 均要 小于 指定 数值 ,比如小于1000 n1 要能整除 n2 最好不用循环.... 大概一次要生成 1万条数据,越高效率越好, 越能装13越好 解决方案 public class Test { public static void main(String[] args) { Test test = new Test(); long start = System.currentTime

Java 随机生成验证码(支持大小写字母、数字、随机字体)的实例_java

代码如下所示: 复制代码 代码如下: package com.hoo.util;   import java.awt.Color;  import java.awt.Font;  import java.awt.Graphics;  import java.awt.image.BufferedImage;  import java.util.Random; import javax.imageio.ImageIO;  import javax.servlet.http.HttpServletRe

java随机生成字符串(字符随机生成类 生成随机字符组合)_java

复制代码 代码如下: package com.phyl.password; import java.util.ArrayList;import java.util.Arrays;import java.util.Random;/** * 字符随机生成类 * @author ASUS * */public class PassWord {  /**  * 密码类型枚举  * @author ASUS  */ public static enum TYPE {  /**   * 字符型   */  

java随机生成6位数字字符数组

 代码如下 复制代码 package com.system.oss.common.util; /**  * 动态生成随机字符数组  *   * @author 苏持恒  */ public class ShortMessageCodeUntil {     /**      * 随机生成4位数字字符数组      *       * @return rands      */     public static char[] generateCheckCode()     {         S

Java随机生成数字的方法

1.创建Random类型的对象: Random random = new Random(); Random random = new Random(10010010); 以上两种是创建Random对象的方式,第一种使用默认构造方法,和以下的代码作用完全等价: Random random = new Random(System. currentTimeMillis()); 相当与使用当前时间作为种子数字来进行创建. 第二种方式通过自己来指定种子数字来进行创建. 大家可以根据需要使用以上两种方式的任

java实现随机生成UUID_java

java实现随机生成UUID public class IDGenerator { private static long num=0; /** * 随机生成UUID * @return */ public static synchronized String getUUID(){ UUID uuid=UUID.randomUUID(); String str = uuid.toString(); String uuidStr=str.replace("-", ""

string-随机生成字符串的方法 求解释

问题描述 随机生成字符串的方法 求解释 //产生长度为length的随机字符串 char* genRandomString(int length) { int flag i; char* string; srand((unsigned) time(NULL )); if ((string = (char*) myMalloc(length)) == NULL ) { myLog(""Malloc failed!flag:14 ""); return NULL ; }

Android随机生成验证码_Android

Android随机生成验证码,Android利用随机数绘制不规则的验证码,加强用户登录或者注册的安全性. 具体思路如下: 在一块固定宽高的画布上,画上固定个数的随机数字和字母,再画上固定条数的干扰线 随机数和干扰线的颜色随机生成,随机数的样式随机生成. 界面效果如下: 1.生成随机数代码,Code.java: public class Code { //随机数数组 private static final char[] CHARS = { '2', '3', '4', '5', '6', '7'

Java随机密码生成并和邮箱、手机号匹配_java

废话不多说了,直接给大家贴java代码了,代码有所注释,写的不好,还请各位大家多多关照. 代码如下所示: package com.alibaba.uyuni.common.util; import java.util.Random; public class GeneratePassword { /** * 生成随机密码 * @param pwd_len * 生成的密码的总长度 * @return 密码的字符串 */ public static String genRandomNum(int p