2013-08-22 94 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(); 
    } 
} 
相关问题