Java初学者-返回数组不';不显示整个数组,但仅显示最后一个数组 导入java.util.array; 公共班机{ 静态int numDie=2; 静态内部侧=6; 静态字符串显示=”; 静态字符串a; 静态字符串[]元; 公共静态字符串[]spitDie(int x,字符串s){ 如果(x==1){ 对于(int i=1;i
这是骰子组合生成器代码Java初学者-返回数组不';不显示整个数组,但仅显示最后一个数组 导入java.util.array; 公共班机{ 静态int numDie=2; 静态内部侧=6; 静态字符串显示=”; 静态字符串a; 静态字符串[]元; 公共静态字符串[]spitDie(int x,字符串s){ 如果(x==1){ 对于(int i=1;i,java,arrays,return-value,Java,Arrays,Return Value,这是骰子组合生成器代码 System.out中的代码返回所有ArrayList。 [1,1][1,2][1,3]…[6,3][6,4][6,5][6,6] 但是,, 最后三个代码只返回[6,6],6,6。它是数组的最后一个值 我在哪里犯了错误 我想把返回值放在变量中,这样我就可以用它来输入额外的代码。 谢谢 主方法中倒数第二个System.out.println语句的输出为 [6,6] 这不是数组的最后一个值。这就是整个阵列。整个数组answer正好由两个值组成:6和另一个6 我只能猜测你为什
System.out
中的代码返回所有ArrayList
。
[1,1][1,2][1,3]…[6,3][6,4][6,5][6,6]
但是,,
最后三个代码只返回[6,6],6,6。它是数组的最后一个值
我在哪里犯了错误
我想把返回值放在变量中,这样我就可以用它来输入额外的代码。
谢谢 主方法中倒数第二个
System.out.println
语句的输出为
[6,6]
这不是数组的最后一个值。这就是整个阵列。整个数组answer
正好由两个值组成:6和另一个6
我只能猜测你为什么会有不同的想法,但也许这会对你有所帮助:
是类成员。每个赋值都会覆盖它的值ari
- 请注意,在Java中,与php等脚本语言不同,
没有附加ari=
,而是将
赋值给ari
import java.util.Arrays;
public class Main {
static int numDie = 2;
static int sides = 6;
static String display = "";
static String a;
static String[] ary;
public static String[] spitDie(int x, String s) {
if (x == 1) {
for (int i = 1; i < sides + 1; i++) {
a = s + String.valueOf(i);
ary = a.split("");
System.out.println(Arrays.toString(ary));
}
} else {
for (int i = 1; i < sides + 1; i++) {
spitDie(x - 1, s + String.valueOf(i));
}
System.out.println();
}
return ary;
}
public static void main(String[] args) {
String[] answer = spitDie(numDie, display);
System.out.println(Arrays.asList(answer));
System.out.println(answer[0]);
}
}