[英]Print random characters from string
從學業上來說,尋求家庭作業問題的解決方案有點不誠實。 如果您自己進行一些思考,問題就會少一些。
正如@Zar在上面的評論中提到的那樣,詢問諸如“如何在Java中獲得隨機字符”之類的內容會更簡單,並且可以為您提供所需的答案,而無需其他人將其交給您。
在這種情況下,這取決於“隨機”的含義。
如果應該選擇重復的字符,則只需將名字,中間名和姓氏連接成一個字符串即可:
String s = first + middle + last;
然后生成一個介於0和字符串長度之間的隨機數:
Random r = new Random();
int R = r.nextInt(s.length());
使用此隨機數來索引特定字符:
output_character = s.charAt(R);
根據需要重復多次。
如果每個字符都具有與其他字符相同的概率,則需要將唯一字符放入列表中,並重復上述相同的過程。
import java.util.Random;
public class RandomAddingTest {
public static void main(String[] args){
System.out.println(returnNewPass("abcabc"));
//display something like:[abcabcwMS][abcabcCln][abcabc?p=]...so on
}
public static String returnNewPass(String oldPass){
StringBuilder sb = new StringBuilder(oldPass);
Random ran = new Random();
char c ;
for (int i = 0; i<3; i++){
c = (char)(ran.nextInt(93)+33);//ran will generate A~Z,a~z,0~9,@#$%^&*...so on
sb.append(c);
}
return sb.toString();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.