/**
10多年的钦北网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整钦北建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“钦北网站设计”,“钦北网站推广”以来,每个客户项目都认真落实执行。
1.对,没有跳出循环,循环次数应该为26次 0-25
2.另外你的代码对第一次做了判断,执行了第一次,接着继续执行后面的代码,这就导致第一次for循环的时候,list加入了2次
所以,你代码的for循环条件应该为 times25.也可以用if(times==0){}else{}
3.另外r.nextInt(26)+97 才为 a-z的字符
4.直接使用 ArrayListCharacter list; Character为char型对应的对象。
5.第一次不用单独判断,否则每次的循环的时候还得判断times==0,影响效率
6.26个字符,这个数量最好定义为一个常量 ,如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);//第一次不用单独判断,否则每次的循环的时候还得判断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+" ");
}
}
}
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.util.Random类的nextInt(int)方法来生成,如果要不重复,可把这些数放入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]+" ");
}
}