㈠ java怎么每隔一秒钟输出一个随机数(1-10之间)
可以用 java.util.Timer(计时器) 以及 java.util.TimerTask(计时任务) 来实现,具体代码如下:
importjava.io.IOException;
importjava.util.Random;
importjava.util.Timer;
importjava.util.TimerTask;
publicclassMain{
publicstaticvoidmain(String[]args)throwsIOException,InterruptedException{
//创建一个计时器
Timertimer=newTimer();
//开启一个计时调度,延迟0毫秒(也就是立即开始执行),调度评率:1秒
timer.schele(newTimerTask(){
@Override
publicvoidrun(){
//生成随机数逻辑
Randomr=newRandom();
intnum=r.nextInt(10)+1;
System.out.println("随机数为:"+num);
}
},0L,1000L);
//timer.cancel();//关闭计时器
}
}
㈡ java如何产生1-10随机数
java代码方法一如下:
int random=(int)(Math.random()*10+1)
java代码方法二如下:
package bdqn_Empy;
import java.util.Random;
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}
}
可以先通过 random方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。
然后再利用nt方法进行转换它会去掉小数掉后面的数字即只获取整数部分,不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的 grandom方法按照如下的格式进行变型:(int( Math. Random0*10)即可。
其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。至需要将这个10换成n即可,如改为( int(Math. Random0n)。此时应用程序就会产生一个大于等于0小与n之间的随机数。
如将n设置为5,那么其就会产生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。
㈢ 在java中随机生成10个整数,用户求输入一个数,判断是否存在于这10个整数中
由于你没有指定这10个整数的生成范围,所以我这里假定是0~99之间的整数,这样用户输入时有10%的几率命中。
整体代码为:
public class Main {
public static void main(String[] args) {
//声明长度为10的随机数数组
int[] randoms = new int[10];
Random random = new Random();
for (int i = 0; i < 10; i++) {
//获取0~99之间的一个随机整数,可通过调整nextInt的参数来修改随机数范围
int num = random.nextInt(100);
//如果新生成的数字已经存在于随机数数组中,则重新生成
if (checkDistinct(randoms, num)) {
i--;
continue;
}
randoms[i] = num;
}
//增序排序,好看
Arrays.sort(randoms);
System.out.println("请输入一个整数:");
Scanner scanner = new Scanner(System.in);
//严谨一点这里其实可以对输入的in进行校验,检验其是不是整数,校验方法很多搜一下就有我这就不校验了
int in = scanner.nextInt();
System.out.println("生成的随机数数组为:");
System.out.println(Arrays.toString(randoms));
if (checkDistinct(randoms, in)) {
System.out.println("输入的数字[" + in + "]在其中");
} else {
System.out.println("输入的数字[" + in + "]不在其中");
}
}
//检查新生成的数字是否存在于随机数数组中,若存在,返回true
private static boolean checkDistinct(int[] randoms, int num) {
for (int i = 0; i < randoms.length; i++) {
if (randoms[i] == num) {
return true;
}
}
return false;
}
}