为了账号安全,请及时绑定邮箱和手机立即绑定

练习代码显示乱码问题,用随机数取ASII码对应的数字不可行么?

我使用了两次随机数,一次获取字符串的长度,一次用来取ASII码对应的数字,再通过转换成char,用String类的拼贴来拼出单个字符串。

问题1:运行结果有好多乱码,需要修改默认格式么?

问题2:代码中  zfc+=p;这条是否符合语法?已知没办法char转换成String;(自检时把char转为了String)

public class CollectionsTest {

Random random=new Random();

Integer k;

String zfc=new String();

/**

* 课堂作业:利用Collections.sort()方法对泛型为String的List进行排序

* 要求:1.创建完List<String>之后,往其中添加十条随机字符串

* 2.每条字符串的长度是10以内的随机整数

* 3.每条字符串的每个字符都是随机生成的字符,字符可以重复

* 4.每条字符串不可重复

* @param args

*/

public void Exercise(){

List<String> stringList=new ArrayList<String>();

for(int i=0;i<10;i++){

do{k=random.nextInt(10);//使用random生成单个字符串的长度

//foreach循环生成k个字符,并组成字符串

for (int j=0;j<k;j++) {


char p=(char)random.nextInt(127);//根据7位ASII码生成随机的字符

String tool=String.valueOf(p);

zfc+=tool;//字符串的拼贴

}

}while(stringList.contains(zfc));

stringList.add(zfc);

System.out.println("成功添加字符串:"+zfc);

}

System.out.println("------------排序前------------");

for (String string : stringList) {

System.out.println("字符串:"+string);

}

System.out.println("------------排序后------------");

for (String string : stringList) {

System.out.println("字符串:"+string);

}

}

public static void main(String[] args) {

CollectionsTest ct=new CollectionsTest();


ct.Exercise();

}


}



正在回答

2 回答

String p=""+(char)random.nextInt(127);//根据7位ASII码生成随机的字符

zfc+=p;//字符串的拼贴

这样也可以的


0 回复 有任何疑惑可以回复我~

自检1;

在有语法问题的地方(字符串拼贴出)加上

String tool=String.valueOf(p);

然后zfc+=p;修改成zfc+=tool;

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

练习代码显示乱码问题,用随机数取ASII码对应的数字不可行么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信