android随机生成字符串,Android随机字符串生成器
10 个答案:
答案 0 :(得分:49)
问题是你只处理了一个字符而不是使用循环。
你可以创建一个字符数组,其中包含你希望允许在随机字符串中的所有字符,然后在循环中从数组中取一个随机位置并添加附加到stringBuilder。最后,将stringBuilder转换为字符串。
编辑:
这是我建议的简单算法:
private static final String ALLOWED_CHARACTERS ="0123456789qwertyuiopasdfghjklzxcvbnm";
private static String getRandomString(final int sizeOfRandomString)
{
final Random random=new Random();
final StringBuilder sb=new StringBuilder(sizeOfRandomString);
for(int i=0;i
sb.append(ALLOWED_CHARACTERS.charAt(random.nextInt(ALLOWED_CHARACTERS.length())));
return sb.toString();
}
和Kotlin:
companion object {
private val ALLOWED_CHARACTERS = "0123456789qwertyuiopasdfghjklzxcvbnm"
}
private fun getRandomString(sizeOfRandomString: Int): String {
val random = Random()
val sb = StringBuilder(sizeOfRandomString)
for (i in 0 until sizeOfRandomString)
sb.append(ALLOWED_CHARACTERS[random.nextInt(ALLOWED_CHARACTERS.length)])
return sb.toString()
}
答案 1 :(得分:47)
您的代码存在一些问题。
您无法从int转换为字符串。将它转换为char。但是这只会给你一个字符,所以你可以为字符串的长度生成一个随机数。然后运行for循环以生成随机字符。您也可以定义一个StringBuilder并添加字符,然后使用toString()方法获取随机字符串
示例:
public static String random() {
Random generator = new Random();
StringBuilder randomStringBuilder = new StringBuilder();
int randomLength = generator.nextInt(MAX_LENGTH);
char tempChar;
for (int i = 0; i < randomLength; i++){
tempChar = (char) (generator.nextInt(96) + 32);
randomStringBuilder.append(tempChar);
}
return randomStringBuilder.toString();
}
此外,您应该使用random.compareTo()而不是==
答案 2 :(得分:36)
您需要导入UUID。
这是代码
import java.util.UUID;
id = UUID.randomUUID().toString();
答案 3 :(得分:9)
这就是我如何生成具有所需字符和所需长度的随机字符串
char[] chars1 = "ABCDEF012GHIJKL345MNOPQR678STUVWXYZ9".toCharArray();
StringBuilder sb1 = new StringBuilder();
Random random1 = new Random();
for (int i = 0; i < 6; i++)
{
char c1 = chars1[random1.nextInt(chars1.length)];
sb1.append(c1);
}
String random_string = sb1.toString();
答案 4 :(得分:1)
你可以简单地使用以下方法生成5个字符的随机字符串,它将返回随机字符串的arrayList
public ArrayList generateRandomString() {
ArrayList list = new ArrayList<>();
Random rnd = new Random();
String str = "";
String randomLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String randomLetterSmall = "abcdefghijklmnopqrstuvwxyz";
for (int n = 0; n < 50; n++) {
str = String.valueOf(randomLetters.charAt(rnd.nextInt(randomLetters.length())));
str += String.valueOf(randomLetterSmall.charAt(rnd.nextInt(randomLetters.length())));
str += String.valueOf(randomLetterSmall.charAt(rnd.nextInt(randomLetters.length())));
str += String.valueOf(randomLetterSmall.charAt(rnd.nextInt(randomLetters.length())));
str += String.valueOf(randomLetterSmall.charAt(rnd.nextInt(randomLetters.length())));
//Copy above line to increase character of the String
list.add(str);
}
Collections.sort(list);
return list;
}
答案 5 :(得分:0)
final String[] Textlist = { "Text1", "Text2", "Text3"};
TextView yourTextView = (TextView)findViewById(R.id.yourTextView);
Random random = new Random();
String randomText = TextList[random.nextInt(TextList.length)];
yourTextView.setText(randomText);
答案 6 :(得分:0)
此功能在kotlin中运行->
import threading
import time
import random
class Consumer:
def __init__(self):
self.data = []
def print(self):
while True:
print(self.data)
time.sleep(1)
class Producer:
def __init__(self, data):
self.data = data
def update(self):
while True:
self.data.append(random.random())
time.sleep(1)
consumer = Consumer()
producer = Producer(consumer.data)
threading.Thread(target=consumer.print).start()
threading.Thread(target=producer.update).start()
答案 7 :(得分:0)
使用org.apache.commons.lang3.RandomStringUtils包快速衬纸。
String randonString = RandomStringUtils.randomAlphanumeric(16);
需要在gradle构建文件中使用库依赖项:
implementation 'org.apache.commons:commons-text:1.6'
答案 8 :(得分:0)
您不能将int转换为String。尝试:
Random generator = new Random();
String x = String.valueOf (generator.nextInt(96) + 32);
答案 9 :(得分:0)
您可以简单地将当前时间(以毫秒为单位)转换为字符串,例如
import java.util.Calendar;
String newRandomId = String.valueOf(Calendar.getInstance().getTimeInMillis());
Or
String newRandomId = Calendar.getInstance().getTimeInMillis() + "";
//Eg: output: "1602791949543"
android随机生成字符串,Android随机字符串生成器相关推荐
- java - 随机生成人名/指定位数字符串/手机号 --工具方法
我是一个B话不多的人 1.随机生成人名/指定位数字符串 package ls.example.test.util;import java.io.*; import java.util.Random; ...
- 【PostgreSQL】GIN索引安装与使用 - 全模糊匹配/数组匹配,PG批量插入上万随机生成数据,随机生成字符串/数组
目录 环境 拓展库安装 生成随机假数据 查询使用GIN索引 GIN索引使用条件 参考 环境 PostgreSQL DBeaver 拓展库安装 打开SQL编辑器: 输入命令运行即可: CREATE EX ...
- c语言随机产生大写字母,随机生成指定长度字符字符串(C语言实现)
相关函数 srand(), rand() 头文件 #include 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MAX 间.在调用此函数产生随机 ...
- 风尚云网前端-js随机生成自定义位随机字符
风尚云网前端-js随机生成自定义位随机字符 废话不多说: 上代码 // 随机生成随机数randomPassword(size) {var seed = new Array("A" ...
- 随机生成10位数的字符串ID
简述 项目中,有种业务需要当前表中存个另外一个表中的主键ID字段,如果用数据库自增的话,容易出现重复 比如A表主键ID自增1.2.3.....,B表主键ID自增1.2.3.....,A表中有个字段是B ...
- 随机验证码如何在html里设置颜色,js随机生成验证码以及随机颜色
Javascript通过Math.random()随机生成验证码. 代码如下: 随机验证码 .p1{ width:100px; height:30px; border:1px solid black; ...
- python彩票生成_python3学习--随机生成密码、随机生成彩票号
################随机生成密码##################### 1.写一个函数:函数的功能是生成一批密码,存到文件里面 def gen_password(num): #num ...
- JS随机生成ID 以及随机生成坐标
随着时间来生成不同ID // 随机生成 ID const idStr = Date.now().toString(36) this.itemObj.id = idStrconsole.log(this ...
- mysql 随机生成中文名,MySQL随机生成电话号码,邮箱和中文姓名sql
原本系统中数据量有限,还有很多是英文的,老板演示的时候觉得不专业,需要随机生成一些内容,记录一下sql以便重复利用. 1. 随机座机号码 select concat(rpad(CEIL(RAND()* ...
- python随机生成正态分布_随机生成正态分布数据
http://www.petroleumcloud.cn/pages/620.html 正态分布,又名高斯分布,是一个非常重要的概率分布.在数学.物理及工程等领域以及统计学的许多方面有着重大的影响力. ...
最新文章
- python日期时间
- Linux下root密码忘记的解决办法
- 并发编程之Java内存模型
- ios 上传图片失败 小程序_iOS上传图片,就是有这种不一样的操作!
- Javascript 中 JSON 与对象 的相互转换
- 历史上的昨天和今天(zz)
- 万丰科技机器人排名_万丰科技拟“借壳”长春经开
- 领英:经济图谱在中国,为人才就业勾画新版图
- GraphQL从入门到实战
- gps 数据解析-NMEA 0183协议
- 计算机主板电源管理线路图,笔记本电源维修方法详解【图文教程】
- mysql数据库自动停止_解决mysql数据库自动停止方法
- excel表格公式无效、不生效的解决方案及常见问题、常用函数
- tensorflow的安装和求解泊松方程
- JAVA 面向对象和集合知识点总结
- 公积金能付首付吗?你在公积金贷款买房前这些知道吗?
- java接口支持ajax,【JavaWeb】jQuery对Ajax的支持
- 学习c语言的方法类比,类比法在C语言程序设计教学中运用.doc
- 图形学基础 (二)关于旋转
- 《数字恐龙》为了一次配种,他们努力了半年