㈠ 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;
}
}