新聞中心
java 隨機輸出26個不重復字母 失敗
/**
10多年的欽北網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整欽北建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“欽北網(wǎng)站設計”,“欽北網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1.對,沒有跳出循環(huán),循環(huán)次數(shù)應該為26次 0-25
2.另外你的代碼對第一次做了判斷,執(zhí)行了第一次,接著繼續(xù)執(zhí)行后面的代碼,這就導致第一次for循環(huán)的時候,list加入了2次
所以,你代碼的for循環(huán)條件應該為 times25.也可以用if(times==0){}else{}
3.另外r.nextInt(26)+97 才為 a-z的字符
4.直接使用 ArrayListCharacter list; Character為char型對應的對象。
5.第一次不用單獨判斷,否則每次的循環(huán)的時候還得判斷times==0,影響效率
6.26個字符,這個數(shù)量最好定義為一個常量 ,如public static int charCount=26;
**/
//下面的代碼是我修改后的。
import java.util.ArrayList;
import java.util.Random;
public class Test {
public static void main(String[] args) {
Random r = new Random();
char zi;
ArrayListCharacter list =new ArrayListCharacter();//直接定義為Character對象
for(int times=0,count=1;times26;times++){
while(true){
zi=(char)(r.nextInt(26)+97);//第一次不用單獨判斷,否則每次的循環(huán)的時候還得判斷times==0,影響效率
System.out.println("count:"+(count++)+"--"+zi);
if(!list.contains(zi)){
list.add(zi);
break;
}
}
}
System.out.println("list size:"+list.size());
for(char c:list){
System.out.print(c+" ");
}
}
}
java類中定義一個方法,可以隨機生成1-10之間3個不重復數(shù)字,求代碼
public?class?My?{
public?static?void?main(String[]?args)?{
makeCount();
}
public?static?void?makeCount()?{
Random?random?=?new?Random();
int?i?=?random.nextInt(10);
int?j?=?random.nextInt(10);
int?k?=?random.nextInt(10);
while?(i?==?j)?{
j?=?random.nextInt(10);
}
while?(k?==?j?||?k?==?i)?{
k?=?random.nextInt(10);
}
System.out.println(i?+?","?+?j?+?","?+?k);
}
}
java 編程隨機生成20個80以內(nèi)的數(shù),不允許有重復的數(shù)據(jù),存放到數(shù)組中,最后輸出 代碼
生成隨機數(shù)可以java.util.Random類的nextInt(int)方法來生成,如果要不重復,可把這些數(shù)放入Set集合中,會自動去重。下面是代碼:
import java.util.*;
public class Test
{
public static void main(String[] args)
{
SetInteger set=new HashSetInteger();
Random r=new Random();
do
{
int i=r.nextInt(80);
set.add(i);
}while(set.size()20);
Integer[] arr=new Integer[20];
set.toArray(arr);
for(int a=0;aarr.length;a++)
System.out.print(arr[a]+" ");
}
}
網(wǎng)頁名稱:java不重復名代碼 java產(chǎn)生不重復隨機數(shù)的代碼
網(wǎng)頁地址:http://fisionsoft.com.cn/article/dohgece.html