Java 如何打印数组元素索引位置
比如说,我有一个31元素的数组,每个元素包含一天的费用;假设我在某些日子里没有任何开支。 如何打印元素以及该元素的索引或下标 例如,第25天有100美元Java 如何打印数组元素索引位置,java,Java,比如说,我有一个31元素的数组,每个元素包含一天的费用;假设我在某些日子里没有任何开支。 如何打印元素以及该元素的索引或下标 例如,第25天有100美元 第31天有200美元 但是它是这样打印的 第一天100美元 第二天200美元 for(daysCounter=0;daysCounter=0){ System.out.println(“日费用”+(DaysCenter+1)+“为$”+一月费用[DaysCenter]); monthTotal=monthTotal+一月费用[日中心]; }否则
第31天有200美元
但是它是这样打印的
第一天100美元
第二天200美元
for(daysCounter=0;daysCounter=0){
System.out.println(“日费用”+(DaysCenter+1)+“为$”+一月费用[DaysCenter]);
monthTotal=monthTotal+一月费用[日中心];
}否则{
系统输出打印(“”);
}
}
System.out.println(“您一月份的费用为:$”+每月总额);
问题是您在0
索引中插入数组$100
,不在24
索引中,并在1
索引中插入$200
,不在30
索引中,因为您有:
day 1 $100
day 2 $200
您需要在范围
0-23
索引中插入值0
的数据,并在24
索引中插入值插入值100
,以此类推,值200
似乎您只是在为包含费用i的那一天添加值。e
int[]januaryExpenses={100200}代码>
而不是数组januaryExpenses
必须包含31个元素。我e
int[]januaryExpenses={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0100,0,0,0,0,0200}代码>
那么你的代码就可以工作了
int[] januaryExpenses = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,200};
for(int daysCounter=0; daysCounter<31; daysCounter++) {
if(januaryExpenses[daysCounter]>0) {
System.out.println(" expense for day " + (daysCounter +1) + " is $" + januaryExpenses[daysCounter]);
monthTotal=monthTotal+januaryExpenses[daysCounter];
} else {
System.out.print("");
}
}
System.out.println("Your January expenses are: $" +monthTotal);
int[]januaryExpenses={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0100,0,0,0,0,0200};
对于(int dayscenter=0;dayscenter=0){
System.out.println(“日费用”+(DaysCenter+1)+“为$”+一月费用[DaysCenter]);
monthTotal=monthTotal+一月费用[日中心];
}否则{
系统输出打印(“”);
}
}
System.out.println(“您一月份的费用为:$”+每月总额);
上面的代码看起来不错。我想问题一定在于如何设置数组。谢谢,它会打印整个三十个元素,甚至是没有值的元素。你说的“没有值”是什么意思?它必须打印一些数字,对吗?而且它看起来根本不会打印$0
。一月费用的类型是什么?你如何初始化数组?@RadadSmo,你的数组必须有31个元素,那么只有上面的代码才能工作,假设你一天的开销是0,那么在数组中提到0。我感谢你写的每封信,但请注意,在我到达第31天之前,系统会提示我输入我想要输入其费用的日期,并且我可能会在同一天多次输入费用。从逻辑上讲,我可能有一天什么也没花。因此,我想打印第1-31天的数字及其费用。在此表格中,如果有费用,请打印这些数字以及这些费用是在哪一天花费的。而且数组也不像{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24}那样是常数。数组只声明int[]JanuaryExpenses=new int[31]没有常量或初始化values@RadadSmo,不要使用数组。使用ArrayList
或使用hashmap
可以更新特定键的值
int[] januaryExpenses = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,200};
for(int daysCounter=0; daysCounter<31; daysCounter++) {
if(januaryExpenses[daysCounter]>0) {
System.out.println(" expense for day " + (daysCounter +1) + " is $" + januaryExpenses[daysCounter]);
monthTotal=monthTotal+januaryExpenses[daysCounter];
} else {
System.out.print("");
}
}
System.out.println("Your January expenses are: $" +monthTotal);