課程
/后端開發(fā)
/Java
/Java入門第三季
eclipse有現(xiàn)成的隨機(jī)生成限定長(zhǎng)度的字符串的方法嗎?如果有,方法名是什么,在哪里調(diào)用,有知道的朋友麻煩告訴下,不勝感激
2015-12-11
源自:Java入門第三季 6-5
正在回答
沒有現(xiàn)成的方法,你必須要自己寫個(gè),給個(gè)例子
import?java.util.Random;?? ?? public?class?Demo?{?? ????public?static?void?main(String?args[]){?? ????????Demo?demo?=?new?Demo();?? ????????System.out.println(demo.getRandomString(20));?? ????}?? ?????? ????public?static?String?getRandomString(int?length)?{??? ????????StringBuffer?buffer?=?new?StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");??? ????????StringBuffer?sb?=?new?StringBuffer();??? ????????Random?random?=?new?Random();??? ????????int?range?=?buffer.length();??? ????????for?(int?i?=?0;?i?<?length;?i?++)?{??? ????????????sb.append(buffer.charAt(random.nextInt(range)));??? ????????}??? ????????return?sb.toString();??? ????}?? }
buffer里你可以添加別的字串
慕村8785123 提問者
package april_5;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Collections;
public class StringSortTest {
public void getRandomString() { ?
List<String>stringList=new ArrayList<String>();//建立新的string泛型List對(duì)象
//設(shè)置隨機(jī)字符串的來源范圍僅 ?數(shù)字 和 大小寫字母
? ? ? ? StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); ??
? ? ? ? StringBuffer sb = new StringBuffer(); //建立stringbuffer對(duì)象,用來保存隨機(jī)stringbuffer類的串
? ? ? ? String sb1;//建立string類對(duì)象,用于保存stringBuffer.toString后的字符串
? ? ? ? Random random = new Random(); //Random類對(duì)象 random
? ? ? ? for(int j=0;j<10;j++){//外層循環(huán),控制產(chǎn)生的字符串的個(gè)數(shù),10個(gè)字符串
? ? ? ? ? ? for (int i=0; i<random.nextInt(10)+1;i ++) { ? //內(nèi)層循環(huán),定義隨機(jī)字符串長(zhǎng)度,[1,10]
? ? ? ? ? ? //根據(jù)隨機(jī)的length,從源中通過charAt方法隨機(jī)取得耽擱字符組成的字符串,通過append方法,以字符串疊加的形式組成一個(gè)隨機(jī)字符和隨機(jī)長(zhǎng)度的字符串
? ? ? ? ? ? ? ? sb.append(buffer.charAt(random.nextInt(buffer.length())));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? sb1=sb.toString();//將stringbuffer 轉(zhuǎn)換成string類型
? ? ? ? ? ? if(!stringList.contains(sb1)){//用contains方法判斷字符串是否重復(fù)
? ? ? ? ? ? stringList.add(sb1);//不重復(fù),添加到stringList中
? ? ? ? ? ? }else
? ? ? ? ? ? continue;//重復(fù),不添加,重新隨機(jī)生成
? ? ? ? ? ? sb=new StringBuffer();//清空sb方便保存下一個(gè)字符串
? ? ? ? ? ? } ?
? ? ? ? System.out.println("***************排序前**************");
for (String string : stringList){ //foreach打印
System.out.println(string); ?
}System.out.println("***************排序后**************");
? ?Collections.sort(stringList);//排序
for (String string1 : stringList) {//foreach打印
System.out.println(string1);
}
? ? } ?
public static void main(String[] args) {
//、、Random r=new Random();
StringSortTest ss1=new StringSortTest();
ss1.getRandomString();
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧
1 回答生成隨機(jī)字符串
2 回答關(guān)于隨機(jī)字符串的生成
1 回答生成隨機(jī)字符串,歡迎指教
3 回答隨機(jī)生成不重復(fù)的字符串
4 回答常規(guī)思路生成隨機(jī)的字符串
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-12-11
沒有現(xiàn)成的方法,你必須要自己寫個(gè),給個(gè)例子
buffer里你可以添加別的字串
2016-04-06
package april_5;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Collections;
public class StringSortTest {
public void getRandomString() { ?
List<String>stringList=new ArrayList<String>();//建立新的string泛型List對(duì)象
//設(shè)置隨機(jī)字符串的來源范圍僅 ?數(shù)字 和 大小寫字母
? ? ? ? StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); ??
? ? ? ? StringBuffer sb = new StringBuffer(); //建立stringbuffer對(duì)象,用來保存隨機(jī)stringbuffer類的串
? ? ? ? String sb1;//建立string類對(duì)象,用于保存stringBuffer.toString后的字符串
? ? ? ? Random random = new Random(); //Random類對(duì)象 random
? ? ? ? for(int j=0;j<10;j++){//外層循環(huán),控制產(chǎn)生的字符串的個(gè)數(shù),10個(gè)字符串
? ? ? ? ? ? for (int i=0; i<random.nextInt(10)+1;i ++) { ? //內(nèi)層循環(huán),定義隨機(jī)字符串長(zhǎng)度,[1,10]
? ? ? ? ? ? //根據(jù)隨機(jī)的length,從源中通過charAt方法隨機(jī)取得耽擱字符組成的字符串,通過append方法,以字符串疊加的形式組成一個(gè)隨機(jī)字符和隨機(jī)長(zhǎng)度的字符串
? ? ? ? ? ? ? ? sb.append(buffer.charAt(random.nextInt(buffer.length())));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? sb1=sb.toString();//將stringbuffer 轉(zhuǎn)換成string類型
? ? ? ? ? ? if(!stringList.contains(sb1)){//用contains方法判斷字符串是否重復(fù)
? ? ? ? ? ? stringList.add(sb1);//不重復(fù),添加到stringList中
? ? ? ? ? ? }else
? ? ? ? ? ? continue;//重復(fù),不添加,重新隨機(jī)生成
? ? ? ? ? ? sb=new StringBuffer();//清空sb方便保存下一個(gè)字符串
? ? ? ? ? ? } ?
? ? ? ? System.out.println("***************排序前**************");
for (String string : stringList){ //foreach打印
System.out.println(string); ?
}System.out.println("***************排序后**************");
? ?Collections.sort(stringList);//排序
for (String string1 : stringList) {//foreach打印
System.out.println(string1);
}
? ? } ?
public static void main(String[] args) {
//、、Random r=new Random();
StringSortTest ss1=new StringSortTest();
ss1.getRandomString();
}
}