Java类什么都不做
我想在控制台上打印一个二维双数组Java类什么都不做,java,arrays,eclipse,system.out,Java,Arrays,Eclipse,System.out,我想在控制台上打印一个二维双数组 public class arrayprinter { public static void main(String[] args) { double[][] multi = new double[][]{ { 10, 20, 30, 40, 50}, { 1.1, 2.2, 3.3, 4.4}, { 1.2, 3.2}, {
public class arrayprinter {
public static void main(String[] args) {
double[][] multi = new double[][]{
{ 10, 20, 30, 40, 50},
{ 1.1, 2.2, 3.3, 4.4},
{ 1.2, 3.2},
{ 1, 2, 3, 4, 5, 6, 7, 8, 9}
};
print(multi);
}
private static void print(double[][] e){
for(int i=0; i>e.length;i++) {
print(e[i]);
}
}
public static void print(double[] e) {
for(int i=0; i>e.length;i++) {
System.out.print(e[i]); }
}
}
当我在eclipse中单击play按钮时,控制台中只有:…并且没有打印的数组。有人能告诉我我做错了什么吗?你想做什么
i < e.length
不是i>e.length。您的程序永远无法到达打印行。你从i=0开始,当它大于e.length时递增,但它永远不会,因为循环存在于第一次运行i=0,0不大于e.length,所以它存在循环 使用这些:
private static void print(double[][] e) {
for (int i = 0; i < e.length; i++) {
print(e[i]);
}
}
public static void print(double[] e) {
for (int i = 0; i < e.length; i++) {
System.out.print(e[i]);
}
}
我将>替换为您的比较I>e.length是错误的,应该是I
private static void print(double[][] e){
for(int i=0; i<e.length;i++) {
print(e[i]);
}
}
public static void print(double[] e) {
for(int i=0; i<e.length;i++) {
System.out.print(e[i]); }
}
除了编写两种方法之外,还可以使用类似
public static void main(String[] args) {
double[][] multi = new double[][]{
{ 10, 20, 30, 40, 50},
{ 1.1, 2.2, 3.3, 4.4},
{ 1.2, 3.2},
{ 1, 2, 3, 4, 5, 6, 7, 8, 9}
};
System.out.println(Arrays.deepToString(multi));
}
哦,我现在很尴尬。你是对的,解决了我的问题。谢谢。是的,你说得对。非常感谢。too@Colin如果您接受答案,请在答案分数下将其标记为已接受v符号。我必须等待8分钟,然后我可以accept@Colin哦好吧,我想你可以投有用的答案。我缺少1个代表点。下次,试着调试一下。到处打印消息或使用调试器。你会发现循环是错误的。litlle bug图标没有发现这个。也许我得看看调试器手册。是的,你应该读一下。调试器不是自动的,这是一个运行时,您可以在其中添加一些断点。当程序读取特定行时,这些将停止程序,使您有机会检查变量/instance.Bug图标的值?你太依赖IDE了。从IDE的角度来看,这段代码中没有bug:它是有效的Java,它会尽职尽责地编译和执行它。错误在于你想要写的东西和你实际写的东西之间的差异,IDE不可能知道。好的,我会记住这一点。