我正在尝试为Minecraft创建一个3个字母的名称生成器,并且我正计划与不存在的朋友共享这个名称。
package bored;
import java.util.Random;
public class Yay {
public static void main(String[] args) {
String[] arr={"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_"};
int i;
int f;
for (f=0; f<10; f++) {
for (i=0; i<3; i++) {
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
System.out.print(arr[randomNumber]);
System.out.println("");
}
}
}
}
它应该打印类似“ 3ab”,“ 9dl”的内容 但是它会打印
3
a
b
9
d
l
答案 0 :(得分:2)
您当前正在内部for循环中调用换行打印语句。您可以从这里更改代码
for (f=0; f<10; f++) {
for (i=0; i<3; i++) {
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
System.out.print(arr[randomNumber]);
System.out.println("");
}
}
对此
for (f=0; f<10; f++) {
for (i=0; i<3; i++) {
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
System.out.print(arr[randomNumber]);
}
System.out.println();
}
答案 1 :(得分:2)
您需要将System.out.println("");
移到内部for-loop
之外。
我也不会在for循环之外初始化f
和i
变量,因为您只需要在它们内部:
public static void main(String[] args) {
String[] arr={"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_"};
for (int f=0; f<10; f++) {
for (int i=0; i<3; i++) {
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
System.out.print(arr[randomNumber]);
}
System.out.println("");
}
}
答案 2 :(得分:0)
问题是您正在最里面的for循环内调用System.out.println("")
。根据您的预期输出和缩进,我怀疑您打算写:
import java.util.Random;
public class Yay {
public static void main(String[] args) {
String[] arr={"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_"};
for (int f=0; f<10; f++) {
for (int i=0; i<3; i++) {
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
System.out.print(arr[randomNumber]);
}
System.out.println(); // Outside of the for loop
}
}
}
答案 3 :(得分:0)
您必须移动`System.out.println(“”);在内部for循环之外。
import java.util.Random;
public class Main {
public static void main(String[] args) {
String[] arr={"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_"};
int i;
int f;
for (f=0; f<10; f++) {
for (i=0; i<3; i++) {
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
System.out.print(arr[randomNumber]);
}
System.out.println("");
}
}
}