2013-08-22 121 views
0

我是新來的java。我大約在3天前開始了。我想製作一行隨機字符並將它們放入一個字符串中。謝謝。Java。如何將隨機的字符行轉換爲字符串?

import java.util.Random; 
     public class test{ 
     public static void main (String[]args){ 

final String alphabet = "abcdefghigklmnopqrstuvwxyz"; 
final int N = alphabet.length(); 
Random r = new Random(); 

for (int i = 0; i < 50; i++) { 
    String s = alphabet.charAt(r.nextInt(N)); 
    // System.out.println(alphabet.charAt(r.nextInt(N))); 
}}} 
+0

編制完成。以下文件未被編譯: 1錯誤發現: 文件:C:\ Users \ Arnas \ Desktop \ Java \ hack.java [line:10] 錯誤:不兼容類型 必需:java.lang.String found: char – Aras

+3

編程的第一條規則:讀取錯誤消息。 [Java]編程的第二條規則:閱讀[Java] doc。文檔說什麼關於String.charAt()?它返回什麼? –

+1

在stackoverflow多次提問的問題http://stackoverflow.com/questions/41107/how-to-generate-a-random-alpha-numeric-string – AurA

回答

7

最簡單的方法是使用一個StringBuilder或StringBuffer的(語法是相同的)。

StringBuilder sb = new StringBuilder(); 
for (int i = 0; i < 50; i++) { 
    sb.append(alphabet.charAt(r.nextInt(N))); 
} 
String s = sb.toString(); 
+0

+1使用StringBuilder – DarthVader

+0

+1爲此答案 –

+0

upvote for StringBuilder –

1
String s = ""; 
for (int i = 0; i < 50; i++) { 
    s += alphabet.charAt(r.nextInt(N)); 
} 
1

將您的隨機字符追加到作爲文本緩衝區的StringBuilder

StringBuilder sb = new StringBuilder(); 

for (int i = 0; i < 50; i++) { 
    sb.append(alphabet.charAt(r.nextInt(N))); 
} 

System.out.println(sb); 
1

使用StringBuilder

StringBuilder sb = new StringBuilder() 
for (int i = 0; i < 50; i++) { 
    sb.append(alphabet.charAt(r.nextInt(N))) 
} 
String s = sb.toString() 
1

最簡單的方法是隻用加法操作符(「+」)的字符串添加字符。它的功能超載,所以應該工作。

隨着您對Java更加熟悉,您應該開始使用StringBuilder或StringBuffer。

1

使用StringBuilder添加字符來構建一個字符串 -

import java.util.Random; 

public class test{ 

    public static void main (String[]args){ 
     final String alphabet = "abcdefghigklmnopqrstuvwxyz"; 
     final int N = alphabet.length(); 
     Random r = new Random(); 
     StringBuilder builder = new StringBuilder(); 

     // make strings with 50 characters 
     for (int i = 0; i < 50; i++) { 
      builder.append(alphabet.charAt(r.nextInt(N))); 
     } 

     System.out.println(builder.toString(); 
    } 
} 
相關問題