Java 如何创建生成随机特殊字符的方法

Java 如何创建生成随机特殊字符的方法,java,selenium,random,automation,Java,Selenium,Random,Automation,在我的自动化中,我有一个输入,如果我输入spl字符,它将给出一个错误,现在我想将spl字符作为element.sendkeys()随机传递,以验证它是否给出了错误。 有人能帮我创建随机方法吗?你可以用所需的字符填充数组列表,然后通过随机生成的位置检索它们(例如,使用数学类)。如果我理解你试图做的事情,然后创建并调用随机字符()应该从数组spl[]中为您提供一个随机特殊字符。如果愿意,可以向数组中添加mpre字符 public static char randomChar(){ char

在我的自动化中,我有一个输入,如果我输入spl字符,它将给出一个错误,现在我想将spl字符作为element.sendkeys()随机传递,以验证它是否给出了错误。
有人能帮我创建随机方法吗?

你可以用所需的字符填充
数组列表
,然后通过随机生成的位置检索它们(例如,使用
数学
类)。

如果我理解你试图做的事情,然后创建并调用
随机字符()
应该从数组
spl[]
中为您提供一个随机特殊字符。如果愿意,可以向数组中添加mpre字符

public static char randomChar(){
    char spl[] = "!@#$%^&*()".toCharArray(); 
    // Or char spl[] = {'!', '@', '#', '$', '%', '^', '&', '*'. '(', ')'};



    Random r = new Random();
    int Low = 0;
    int High = spl.length + 1;
    int Result = r.nextInt(High-Low) + Low;

    return spl[Result];

}
用法示例:

char c = randomChar();
System.out.println("By calling randomChar(), we got the character '" + c + "'");
也可以在不为变量赋值的情况下使用它:

System.out.println(randomChar());
请尝试以下操作:

String allLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890";
String randomString;

    do{

        randomString=null;

        Random randomGenerator = new Random();
        char c = (char) (randomGenerator.nextInt(0xB4 - 21 + 1) + 21);

        randomString= "" + c;


    }while(allLetters.contains(randomString));


    System.out.println("Generated random special charactor" + randomString);

试试Apache RandomStringutils:@user6939没问题!Anytime=)(别忘了投我一票;)