(Java)条件语句

(Java)条件语句,java,loops,while-loop,if-statement,Java,Loops,While Loop,If Statement,首先,对不起,代码有点乱。格式不太好。我的任务是随机生成一个由大小写字母组成的密码,长度由用户指定。到目前为止,我的代码尚未完成,但这是因为我遇到了一个问题 我的密码将显示小写和大写字母,但不够长 例如,如果某人想要一个长度为14的密码,我只会得到一个小于该长度的密码。它的长度永远不是它应该的长度 import java.util.Scanner; import java.util.Random; public class Password{ public static void ma

首先,对不起,代码有点乱。格式不太好。我的任务是随机生成一个由大小写字母组成的密码,长度由用户指定。到目前为止,我的代码尚未完成,但这是因为我遇到了一个问题

我的密码将显示小写和大写字母,但不够长

例如,如果某人想要一个长度为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);
    }
}
import java.util.Scanner;
导入java.util.Random;
公共类密码{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int passwordLength=0;
Random randNum=新的Random();
int randNumAscii=0;
字符串generatedPassword=“”;
系统输出打印(“密码长度(1-14):”;
passwordLength=in.nextInt();
对于(int count=0;count如果(randNumAscii>=65&&randNumAscii=97&&randNumAscii,这是因为您仅在所选范围内向生成的密码添加一个字符。如果一个字符在您所说的
randNumAscii>=65&&randNumAscii=97&&randNumAscii之外随机化,您的问题在于:

randNumAscii = randNum.nextInt(123);
if(randNumAscii >= 65 && randNumAscii <= 90 || randNumAscii >= 97 && randNumAscii <= 122)
    generatedPassword += (char)randNumAscii;
else
    randNumAscii = randNum.nextInt(123); 

由于这是一项任务,我将实现交给您。因为我不确定您的技能水平,您可能需要阅读。

一看,我不确定您的问题是什么。因此,当用户选择数字2,假设长度为14时,生成的密码应由大小写字母组成,长度为14个字符.我的问题是它最终少于14个字符。我甚至没有考虑减少计数变量。感谢你帮助我以一种全新的方式解决了我的问题。
randNumAscii = [random from 0 to 123]
while randNumAscii is not uppercase and not lowercase:
    randNumAscii = [random from 0 to 123]
append (char)randNumAscii to generatedPassword