JAVA如何将随机字符行转换为字符串?

JAVA如何将随机字符行转换为字符串?,java,Java,我是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

我是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)));
}}}
import java.util.Random;
公开课考试{
公共静态void main(字符串[]args){
最终字符串字母表=“abcdefghigklmnopqrstuvxyz”;
final int N=字母表长度();
随机r=新随机();
对于(int i=0;i<50;i++){
字符串s=字母表字符(r.nextInt(N));
//System.out.println(字母表字符(r.nextInt(N));
}}}
字符串s=”“;
对于(int i=0;i<50;i++){
s+=字母字符(r.nextInt(N));
}

最简单的方法是使用StringBuilder或StringBuffer(语法相同)

StringBuilder sb=新建StringBuilder();
对于(int i=0;i<50;i++){
sb.追加(字母表字符(r.nextInt(N));
}
字符串s=sb.toString();

将随机字符附加到充当文本缓冲区的
StringBuilder

StringBuilder sb = new StringBuilder();

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

System.out.println(sb);
StringBuilder sb=新建StringBuilder();
对于(int i=0;i<50;i++){
sb.追加(字母表字符(r.nextInt(N));
}
系统输出打印LN(sb);
使用StringBuilder

StringBuilder sb = new StringBuilder()
for (int i = 0; i < 50; i++) {
    sb.append(alphabet.charAt(r.nextInt(N)))
}
String s = sb.toString()
StringBuilder sb=新的StringBuilder()
对于(int i=0;i<50;i++){
某人附加(字母表字符(r.nextInt(N)))
}
字符串s=sb.toString()

最简单的方法是将带有加法运算符(“+”)的字符添加到字符串中。它的函数是重载的,所以应该可以工作

随着您对Java越来越熟悉,您应该开始使用StringBuilder或StringBuffer。

使用添加字符来构建字符串-

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();
    }
}
import java.util.Random;
公开课考试{
公共静态void main(字符串[]args){
最终字符串字母表=“abcdefghigklmnopqrstuvxyz”;
final int N=字母表长度();
随机r=新随机();
StringBuilder=新的StringBuilder();
//用50个字符组成字符串
对于(int i=0;i<50;i++){
builder.append(字母表.charAt(r.nextInt(N));
}
System.out.println(builder.toString();
}
}

编译已完成。未编译以下文件:发现1个错误:文件:C:\Users\Arnas\Desktop\Java\hack.Java[line:10]错误:需要不兼容的类型:Java.lang.String发现:Char第一条编程规则:读取错误消息。[Java]编程的第二条规则:读取[Java]文档中对String.charAt()有什么描述?它返回什么?在stackoverflow
charAt
方法中多次询问的问题返回一个
char
not
String
我猜您希望使用类似StringBuilder的东西,将其附加到for循环中。循环结束后,您可以在该生成器上调用toString,并生成字符串。您在做什么ng是创建一个新字符串,在循环中的每次运行中只包含一个字符。+1用于为StringBuilder使用StringBuilderUpNote谢谢。它起了作用,但我必须添加if语句,如果sb长度超过30,sb将被重置,然后我使用Mikkel Løkke方法。我还不熟悉StringBuilder。无论如何,谢谢。
StringBuilder sb = new StringBuilder()
for (int i = 0; i < 50; i++) {
    sb.append(alphabet.charAt(r.nextInt(N)))
}
String s = sb.toString()
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();
    }
}