android随机生成字符串,Android随机字符串生成器

android随机生成字符串,Android随机字符串生成器10 个答案 答案 0 得分 49 问题是你只处理了一个字符而不是使用循环 你可以创建一个字符数组 其中包含你希望允许在随机字符串中的所有字符 然后在循环中从数组中取一个随机位置并添加附加到 stringBuilde 最后 将 stringBuilde 转换为字符串 编辑 这是我建议的简单算法 privatestati CHARACTERS 01

10 个答案:

答案 0 :(得分:49)

问题是你只处理了一个字符而不是使用循环。

你可以创建一个字符数组,其中包含你希望允许在随机字符串中的所有字符,然后在循环中从数组中取一个随机位置并添加附加到stringBuilder。最后,将stringBuilder转换为字符串。

编辑:

这是我建议的简单算法:

private static final String ALLOWED_CHARACTERS =”0qwertyuiopasdfghjklzxcvbnm”;

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 = “0qwertyuiopasdfghjklzxcvbnm”

}

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: “43”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226403.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:59
下一篇 2026年3月16日 下午10:59


相关推荐

  • web开发excel文件上传及解析(下)

    web开发excel文件上传及解析(下)

    2021年8月2日
    56
  • 嵌入式学习路线「建议收藏」

    嵌入式学习路线「建议收藏」嵌入式学习路线1.前言2.嵌入式硬件方向3.嵌入式软件方向4.嵌入式软件学习路线4.1.打好软件基础4.2.学习ARM体系结构编程4.3.嵌入式系统的构建4.4.嵌入式驱动程序的开发4.5.嵌入式应用程序的开发4.6.综合项目5.总结1.前言嵌入式技术是各种电子产品的核心技术,也是工业4.0、远程医疗、3D打印等新兴产业的核心技术,具有广阔的发展前景。很多计算机、电子信息类专业的学生都想把嵌入式开发作为自己的职业目标,但是因为嵌入式涉及的知识太多,太杂,太广,很多嵌入式初学者陷入嵌入式知识的海洋中,东学

    2022年6月11日
    32
  • SpringBoot引入jieba分词

    SpringBoot引入jieba分词1 添加 maven 依赖 https mvnrepositor com artifact com huaban jieba analysis dependency groupId com huaban groupId artifactId jieba analysis artifactId dependency

    2026年3月26日
    2
  • phpstrom 2021.5 激活码[在线序列号][通俗易懂]

    phpstrom 2021.5 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    46
  • DDoS攻击模拟与Metasploitable渗透

    DDoS攻击模拟与Metasploitable渗透DDoS攻击模拟与Metasploitable渗透Part.1DDoS介绍和发展史1.DDoS:DistributedDenialofService,分布式拒绝服务攻击。2.带宽消耗型攻击,所谓带宽消耗型攻击就是攻击者将提供网络服务的正常的带宽消耗殆尽,带宽消耗殆尽后就会造成网络堵塞,从而当正常的用户与服务器进行通信时无法提供正常服务。举vps的例子,vps服务器一般都有固定的带宽,…

    2022年10月21日
    15
  • php递归函数详解_用php递归函数实现阶乘计算

    php递归函数详解_用php递归函数实现阶乘计算本节内容:PHP递归算法。PHP递归算法代码:复制代码代码示例://定义PI一分的角度的值define(“PII”,M_PI/180);//新建图像资源,并定义其背景为白色,前景色为黑色$im=imagecreate(670,500);$white=imagecolorallocate($im,0xFF,0xFF,0xFF);$g=imagecolorallocate($im,0x00,0x0…

    2022年8月11日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号