如何用JAVA编写个8位密码生成器(只能是大小写字母和数字)

2020-10-03 科技 90阅读
1.先回答你第一个问题:ch!=null这句语句肯定是错误的,因为ch表示的是一个字符,null表示的是空对象,所以如果写ch!=null,编译的时候肯定是要报错的,你必须写成ch!=' ',前面的为英文引号,引号中间有一个空格。
2.回答你第2个问题,就是怎么使str!=null,你可以在for语句中加一个判断,假如ch== ' ',则这次循环不算,则结果中肯定不会出现null的,见下面的代码。
int j=0,n=0,i=0;
Srting str="";
char ch;
for(j=0;j<=7;j++){
n=Math.random()*122;
i=(int)n;
if((i>=48 && i<=57)||(i>=65 && i<=90) || (i>=97 && i<=122)){
ch=(char)i;
}
//判断来了
else {
j=j-1; //即是这次循环不算,则不可能出现null了

}
}
3.回答你第三个问题:如何输出这24个数呢?见下代码
for (int i = 1; i < 5; i++) {
for (int j = 1; j < 5; j++) {
if (i!=j) {
for (int j2 = 1; j2 < 5; j2++) {
if (j2!=j&&j2!=i) {
System.out.println(""+i+j+j2); //这句话把数字转换为字符串,
//便于输出

}
}
}
}
}

4. 我对你的意思理解为:用一个字符替换指定位的字符,如果是这样的话,replace不能够做到。
replace的方法原型为:
String replace(char oldChar, char newChar) ;
意思为:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
如果要完成楼主的要求,请看以下代码,我写了一个替换函数:
String tihuan(String string,int index,char ch){
//index表示你要替换的字符位置,第一位为1
char[] chs=string.toCharArray();
chs[index-1]=ch;
String string1=new String(chs);
return string1;

}
//多多指教啊
//希望对你有帮助啊
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com