Java 如果数组为空,则打印空消息
假设我想以相反的顺序打印数组。但是,如果数组为空,则应打印“数组为空” 为什么此代码不起作用: 我们可以假设如果数组是空的Java 如果数组为空,则打印空消息,java,arrays,for-loop,Java,Arrays,For Loop,假设我想以相反的顺序打印数组。但是,如果数组为空,则应打印“数组为空” 为什么此代码不起作用: 我们可以假设如果数组是空的a.length是0还是null? if()语句中的a.length应该是多少。for循环中不允许其工作的if语句有什么问题?或者它从未进入for循环 public class Test2 { public static void main(String[] args) { int[] a = {}; for (int i = a.
a.length
是0还是null?
if()语句中的a.length应该是多少。for循环中不允许其工作的if语句有什么问题?或者它从未进入for循环
public class Test2 {
public static void main(String[] args) {
int[] a = {};
for (int i = a.length - 1; i >= 0; i--) {
System.out.print(a[i] + " ");
if (a.length == 0)
System.out.print("The array is empty");
}
}
}
此代码适用于:
if (a.length == 0)
System.out.print("The array is empty");
else
{
for(int i = a.length - 1 ; i >= 0 ; i--)
{
System.out.print (a[i] + " ");
}
}
这也行得通:
for(int i = a.length - 1 ; i >= 0 ; i--)
{
System.out.print (a[i] + " ");
}
if (a.length == 0)
System.out.print("The array is empty");
参见
int[]a={}代码>创建大小为0的数组。因此,在第一种情况下甚至不执行for循环。让我们看看第二个案例
在这里,if条件if(a.length==0)
被执行,而else部分不执行
让我们看看第三种情况。同样,for循环不执行。下一段代码移到if语句,该语句位于for循环之外。它被执行
我希望您理解为什么for循环不能执行。请参见a.length=0
。因此,i=-1
但我们为循环提供的条件是i>=0
如果您使用java,请将其添加到标记中。请在代码的第一部分中指定一种语言,如果(a.length==0)
行在for
循环中(与其他两部分不同)。数组长度在循环中永远不会为零,因此您无法获得所搜索的输出。dave您说过数组长度在循环中永远不会为零。如果数组开始时为空。。。或者,这是否意味着永远不能生成一个没有元素的数组。因此,数组的长度必须为1或更长?谢谢!你帮我发现为什么它永远不会起作用。我的理解是:i=a.length-1,对于空数组,i为0,它将永远不会进入for循环b/c,i为-1。即使我们把它改为:for(inti=a.length;i>=a.length;i--),当它减的时候,它就失去了绑定。伟大的