Java 范围为(a..Z,0..9)和标点符号的随机字符生成器
我需要创建一个随机字符生成器,返回单个字符。字符的范围应在字母表的字母、数字0到9以及一些字符(如.?/-)之间。任何例子都将不胜感激Java 范围为(a..Z,0..9)和标点符号的随机字符生成器,java,android,random,Java,Android,Random,我需要创建一个随机字符生成器,返回单个字符。字符的范围应在字母表的字母、数字0到9以及一些字符(如.?/-)之间。任何例子都将不胜感激 在[0,x]之间选择一个随机数,其中x是不同符号的数量。希望选择是一致的,并且不可预测:-) 现在选择代表x的符号 利润 我将开始阅读,然后是一些常见的。当然,希望您的语言已经有了一个合适的“随机”函数:-)使用一些简单的命令行(bash脚本): cat/dev/uradom:从内核获取一个随机的字符流 tr:只保留我们想要的字符 头:只取第一个n字符 xar
我将开始阅读,然后是一些常见的。当然,希望您的语言已经有了一个合适的“随机”函数:-)使用一些简单的命令行(bash脚本):
- cat/dev/uradom:从内核获取一个随机的字符流
- tr:只保留我们想要的字符
- 头:只取第一个
字符n
- xargs:仅用于添加
字符'\n'
- 创建一个带有所需字符的
字符串字母表
- 说
N=alphabet.length()
- 然后我们可以问一个问题
是字母表中的随机字符字母表。字符(x)
- 最简单的方法是执行以下操作:
final String alphabet = "0123456789ABCDE";
final int N = alphabet.length();
Random r = new Random();
for (int i = 0; i < 50; i++) {
System.out.print(alphabet.charAt(r.nextInt(N)));
}
final String alphabet=“0123456789ABCDE”;
final int N=字母表长度();
随机r=新随机();
对于(int i=0;i<50;i++){
系统输出打印(字母表字符(r.nextInt(N));
}
以下是安全、简单但稍微昂贵的会话标识符代码
import java.security.SecureRandom;
import java.math.BigInteger;
public final class SessionIdentifierGenerator
{
private SecureRandom random = new SecureRandom();
public String nextSessionId()
{
return new BigInteger(130, random).toString(32);
}
}
为什么要重新发明轮子?来自Apache Commons的RandomStringUtils具有一些函数,您可以指定从中生成字符的字符集。您可以将所需的内容添加到应用程序中: 请参见以下链接: 现在您可以在调用时一次生成一个角色
Random random = new Random();
int n = random.nextInt(69) + 32;
if (n > 96) {
n += 26;
}
char c = (char) n;
我想这取决于你想包含哪个标点符号,但这应该会生成一个随机字符,包括这个ASCII表上的所有标点符号。基本上,我已经从32-96或123-126生成了一个随机整数,然后我将其转换为一个字符,这就给出了该数字的ASCII等价物。另外,请确保
import java.util.Random
您应该首先创建一个字符串,其中包含您想要的所有字母/数字。然后,做一个随机的。例如,
Random rnd=new Random;
最后,从包含字母表的字符串中生成一个随机字符。
比如说,
import java.util.Random;
public class randomCharacter {
public static void main(String[] args) {
String alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?/.,";
Random rnd = new Random();
char char = alphabet.charAt(rnd.nextInt(alphabet.length()));
// do whatever you want with the character
}
}
请参阅。我就是从这里得到这些信息的。随机字符 包装公司
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
// write your code here
char hurufBesar =randomSeriesForThreeCharacter(65,90);
char angka = randomSeriesForThreeCharacter(48,57);
char simbol = randomSeriesForThreeCharacter(33,47);
char hurufKecil= randomSeriesForThreeCharacter(97,122);
char angkaLagi = randomSeriesForThreeCharacter(48,57);
System.out.println(hurufBesar+" "+angka+" "+simbol+" "+hurufKecil+" "+angkaLagi);
}
public static char randomSeriesForThreeCharacter(int min,int max) {
int randomNumber = ThreadLocalRandom.current().nextInt(min, max + 1);
char random_3_Char = (char) (randomNumber);
return random_3_Char;
}
}
首先,你认为你会使用什么语言?第二,请给出你的最佳猜测,说明你是如何做到这一点的。这不是“为我做作业”。在结束之前,给你的标签添加一种语言。用什么编程语言?谢谢你直截了当的回答。语言是Java。我正在使用Android SDK。我将生成数字,并获取每个字符的数字的ASCII值。我不需要做家庭作业。我67岁,编程时间可能比你长e一直活着。在你的问题中添加标签。+1用于使用合理的步骤->步骤->利润!!!面对此类问题时的方案。
import java.util.Random;
public class randomCharacter {
public static void main(String[] args) {
String alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?/.,";
Random rnd = new Random();
char char = alphabet.charAt(rnd.nextInt(alphabet.length()));
// do whatever you want with the character
}
}
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
// write your code here
char hurufBesar =randomSeriesForThreeCharacter(65,90);
char angka = randomSeriesForThreeCharacter(48,57);
char simbol = randomSeriesForThreeCharacter(33,47);
char hurufKecil= randomSeriesForThreeCharacter(97,122);
char angkaLagi = randomSeriesForThreeCharacter(48,57);
System.out.println(hurufBesar+" "+angka+" "+simbol+" "+hurufKecil+" "+angkaLagi);
}
public static char randomSeriesForThreeCharacter(int min,int max) {
int randomNumber = ThreadLocalRandom.current().nextInt(min, max + 1);
char random_3_Char = (char) (randomNumber);
return random_3_Char;
}
}