1.JOptionPane.showInputDialog("请输入你想设定的密码长度:")弹窗显示,类似于控制台输入框,只不过这是弹窗输入。
2.JOptionPane.showMessageDialog(null,pwd);弹窗显示,第一个参数为父类窗口,我们只有这一个窗口,我们写null,第二个参数为显示的信息内容我们以变量的形式传递。
设计思路:规定一个字符串作为密码难度,将这个字符串分割为单个字符并赋给字符串数组,然后通过随机类去除随机字符给事先声明的一个空字符串,然后成功拿到随机密码。
/*
* Copyright (c) 2020, 2023, All rights reserved.
*
*/
package cn;
import javax.swing.*;
import java.util.Random;
import java.util.Scanner;
/**
* <p>Project: JavaStudy - Work5</p>
* <p>Powered by scl On 2023-07-13 20:23:14</p>
* <p>描述:<p>
*
* @author scl [1846080280@qq.com]
* @version 1.0
* @since 17
*/
public class Work5 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Integer ss= Integer.parseInt(JOptionPane.showInputDialog("请输入你想设定的密码长度:"));
Integer dd= Integer.parseInt(JOptionPane.showInputDialog("请选择密码难度1.初级,2.中级,3.高级,其余默认6位数字:"));
String pwd = pwd(ss,dd);
JOptionPane.showMessageDialog(null,pwd);
}
//编写密码
public static String pwd(int len, int type) {
String password = "";
Random random = new Random();
switch (type) {
case 1:
String[] str = "abcdefghijklmnopqrstuvwxyz".split("");
for (int i = 0; i < len; i++) {
password += str[random.nextInt(str.length)];
}
break;
case 2:
String[] str1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
for (int i = 0; i < len; i++) {
password += str1[random.nextInt(str1.length)];
}
break;
case 3:
String[] str2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()".split("");
for (int i = 0; i < len; i++) {
password += str2[random.nextInt(str2.length)];
}
break;
default:
String[] str3 = "123456789".split("");
for (int i = 0; i < 6; i++) {
password += str3[random.nextInt(str3.length)];
}
}
return password;
}
}
运行结果: