在JAVA中 怎样获得一个随机数及字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA中 怎样获得一个随机数及字符?相关的知识,希望对你有一定的参考价值。

import java.util.Random;

public class Stat
public static void main(String[] args)
// Math.random() 获取0~1之间的double类型数值
int num = (int)(Math.random()*100); // 获取0~100之间的整数
System.out.println(num);
System.out.println(getRandomString(12));


// 获取随机字符串
public static String getRandomString(int length) // length 字符串长度
StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
StringBuffer sb = new StringBuffer();
Random r = new Random();
int range = buffer.length();
for (int i = 0; i < length; i ++)
sb.append(buffer.charAt(r.nextInt(range)));

return sb.toString();

参考资料:http://blog.csdn.net/xzknet/article/details/1930777

参考技术A 1、使用j2se原生的Random类。
2、使用apache-lang包中的Radom或RandomStringUtils工具类。
参考技术B 你去看类Random

java怎样获得当前时间的前几天

1.java中关于获取时间的所有方式如下,  

      Date dNow = new Date();   //当前时间
  Date dBefore = new Date();
  Calendar calendar = Calendar.getInstance(); //得到日历
  calendar.setTime(dNow);//把当前时间赋给日历
  calendar.add(Calendar.DAY_OF_MONTH, -1);  //设置为前一天
  dBefore = calendar.getTime();   //得到前一天的时间
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");//设置时间格式
  String defaultStartDate = sdf.format(dBefore);    //格式化前一天
  String defaultEndDate = sdf.format(dNow); //格式化当前时间
  System.out.println("前一天的时间是:" + defaultStartDate);
  System.out.println("生成的时间是:" + defaultEndDate);
2.如上方式能得到当前时间的前一天时间,同理,可以得到前一天的前一天,那么,前几天的时间都可以这样获得,如果觉得方案还是不可行,可以使用第三方的日历组件来获得更加准确的全年三百六十五天的时间  

另有:
  Calendar 与 Date 的转换:
  Calendar calendar = Calendar.getInstance();
  // 从一个 Calendar 对象中获取 Date 对象
  Date date = calendar.getTime();
  // 将 Date 对象反应到一个 Calendar 对象中,
  // 先获得一个实例,然后设置 Date 对象
  calendar.setTime(date);
  月份的起始值为0而不是1,所以要设置八月时,我们用7而不是8.
  calendar.set(Calendar.MONTH, 7);
  计算2000-01-01是星期几
  calendar.get(calendar.DAY_OF_WEEK )
3.实例代码测试如下

 Java代码
  import Java.util.*;
  public class ShowDate 
  public static void main(String[] args) 
  Calendar calendar = new GregorianCalendar();
  Date trialTime = new Date();
  calendar.setTime(trialTime);
  // print out a bunch of interesting things
  System.out.println("ERA: " + calendar.get(Calendar.ERA));
  System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
  System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
  System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
  System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
  System.out.println("DATE: " + calendar.get(Calendar.DATE));
  System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
  System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
  System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
  System.out.println("DAY_OF_WEEK_IN_MONTH: " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
  System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
  System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
  System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
  System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
  System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
  System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
  System.out.println("ZONE_OFFSET: " + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
  System.out.println("DST_OFFSET: " + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
  System.out.println("Current Time, with hour reset to 3");
  calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
  calendar.set(Calendar.HOUR, 3);
  System.out.println("ERA: " + calendar.get(Calendar.ERA));
  System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
  System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
  System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
  System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
  System.out.println("DATE: " + calendar.get(Calendar.DATE));
  System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
  System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
  System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
  System.out.println("DAY_OF_WEEK_IN_MONTH: " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));

参考技术A import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class $ 
    public static void main(String[] args) 

        Format f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Calendar c = Calendar.getInstance();
        System.out.println("当前时间:" + f.format(c.getTime()));

        // 前一天
        c = test(c, -1);
        System.out.println("  前一天:" + f.format(c.getTime()));

        // 后两天
        test(c, 2);
        System.out.println("  后两天:" + f.format(c.getTime()));
    

    private static Calendar test(Calendar c, int day) 
        c.add(Calendar.DATE, day);
        return c;
    

参考技术B Calendar类的add方法,第二个引数用负数就行,。本回答被提问者采纳 参考技术C Date d = new Date();
d是当前时间

以上是关于在JAVA中 怎样获得一个随机数及字符?的主要内容,如果未能解决你的问题,请参考以下文章

在JAVA里怎么获得9~11位的随机数

JAVA怎样随机生成10W个数字, 要求: 10W个数字总等于50W而且每个数字最小1最大100, 求代码及思路

Java中怎样产生随机数和随机字母

Java算法获得一个随机字符串

java中怎样在一个集合中随机取一个数?

python怎样生成正太分布的随机数