当我执行这段代码时,输出是“140”,也就是“28*5”,但它应该是“150”,也就是“28+31+30+31+30”,它应该计算两个月“2月”和“7月”之间的天数...所以这意味着for循环不能正常工作还是怎么的?为什么会这样!你能帮我一下吗??PS:我试图将循环中的j++更改为j+1,但Android Studio说“这不是一个声明”
int[] pair = {1,3,5,7,8,10,12};
int[] impair = {4,6,9,11};
int x=0;
int j;
int year=2015;
int mm=2;
int month=7;
String msg="";
if (month>mm) {
for (j = mm; j<month; j++){
if (Arrays.asList(impair).contains(j)){
x = 31 + x;
}else if(Arrays.asList(pair).contains(j)){
x = 30 + x;
}else{
if (year%4==0) {
x= 29 + x;
}else{
x= 28 + x;
}
}
}
System.output.println(x);
}
您正试图通过调用arrays.aslist
将int[]
转换为列表
。但这会导致单个元素的列表
(int[]
)(原始的int[]
),其中不包含J
的任何值。原因在arrays.aslist()中给出?--它是泛型方法,类型参数必须是引用类型。int[]
是引用类型(和所有数组一样),但int
不是。
这就是为什么测试都失败了,并且28
被反复选择添加。
将pair
和impair
的声明类型从int[]
更改为integer[]
,以便arrays.aslist
将该类型正确地推断为integer
(引用类型)。然后包含
方法将按预期工作。通过这个更改,我得到150
。
我有一个python for循环,它执行一个bash脚本,如下所示(我将其简化为只包含需要显示的内容),我需要它在for循环中同时运行所有这些bash脚本,但要等到它们全部完成后才能继续串联。bash脚本是我唯一希望并行运行的部分。它是在同一for循环的下游做一些需要串联完成的事情。这可能吗? 以下是系列作品。没有脚本的并行执行,因为。如果我删除. etc(),它几乎立即出错,下游的任何东西都不再
这是我的for循环。。。jGRASP说在我的for循环中出现了一个问题,我看不出这个问题,希望能得到一些帮助来修复我的代码。。。 公共类DirectoryLookup{public static void main(String[]args)引发IOException{
问题内容: 只是一个实验程序。但是第二个for循环似乎没有运行。如果我切换for循环的位置;同样,第二个位置的循环不会运行。为什么会这样呢? 问题答案: 文件不是列表。您不能在不倒退文件对象的情况下循环播放它们,因为完成阅读后文件位置不会重置为开始。 您可以在循环之间添加: 但你会 多 由不循环两次更好。您已经在第一个循环中获得了信息。只需循环 一次 : 您的代码仅对列表进行排序;该列表将不符合要
我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:
for循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。 语法 (Syntax) Perl编程语言中for循环的语法是 - for ( init; condition; increment ) { statement(s); } 这是for循环中的控制流 - init步骤首先执行,只执行一次。 此步骤允许您声明和初始化任何循环控制变量。 只要出现分号,就不需要在此处输入声明。
' for '循环是最紧凑的循环形式。 它包括以下三个重要部分 - loop initialization ,我们将计数器初始化为起始值。 初始化语句在循环开始之前执行。 test statement将测试给定条件是否为真。 如果条件为真,则执行循环内给出的代码,否则控件将退出循环。 iteration statement ,您可以在其中增加或减少计数器。 您可以将所有三个部分放在一行中以分号分隔