【发布时间】:2012-10-14 00:14:53
【问题描述】:
首先,抱歉代码有点乱。它的格式不太好。我的任务是随机生成一个由大小写字母组成的密码,长度由用户指定。到目前为止,我的代码还没有完成,但那是因为我遇到了问题。
我的密码会显示大小写字母,但不够长。
例如,如果某人想要一个长度为 14 的密码,我只会得到一个小于该长度的密码。它永远不是它应该的长度。
import java.util.Scanner;
import java.util.Random;
public class Password{
public static void main(String [] args){
Scanner in = new Scanner(System.in);
int passwordLength = 0;
Random randNum = new Random();
int randNumAscii = 0;
String generatedPassword = "";
System.out.print("Password Length (1-14): ");
passwordLength = in.nextInt();
for(int count = 0; count < passwordLength; count++){
randNumAscii = randNum.nextInt(123);
if(randNumAscii >= 65 && randNumAscii <= 90 || randNumAscii >= 97 && randNumAscii <= 122)
generatedPassword += (char)randNumAscii;
else
randNumAscii = randNum.nextInt(123);
}
System.out.println(generatedPassword);
}
}
【问题讨论】:
-
乍一看,我不确定你的问题是什么。
-
所以当用户选择数字 2 并假设长度为 14 时,生成的密码应该由大小写字母组成,长度为 14 个字符。我的问题是它最终少于 14 个字符。
标签: java loops while-loop if-statement