我是初学者,我正在尝试制作一些东西,如果arg [0]为0,则打印附加参数的数量,如果arg [0]为1,则累加额外的总数参数。例如
java Summo 0 3 5 6
2
和
java Summo 1 2 3
5.0
我似乎有点工作,它可以得到答案,但出于某些原因,当我做0情况时,它打印答案,然后是0.0的新行。
public class Summo
{
public static void main(String[] args)
{
int K = Integer.parseInt(args [0]);
float [] a = new float [args.length-1];
for (int i = 1; i < args.length; i++)
a[i-1] = Float.parseFloat(args [i]);
float sum = 0.0f;
if (K == 0)
System.out.println (a.length);
if (K == 1)
for (float i: a)
sum += i;
System.out.println(sum);
}
}
答案 0 :(得分:2)
你有阻止问题。
if (K == 1)
for (float i: a)
sum += i;
System.out.println(sum);
应该是
if (K == 1)
{
for (float i: a)
sum += i;
System.out.println(sum);
}
如果省略大括号{}
,则只在if
块内执行第一条指令,即for
循环仅在k == 1
时执行,但{{1总是执行方法。
答案 1 :(得分:0)
您需要更改以下代码
这
if (K == 1)
for (float i: a)
sum += i;
System.out.println(sum);
注意:在你的代码'System.out.println(sum);'中将永远执行。如果K = 0,则sum为0.0f。这就是在控制台中打印额外0.0的原因。
到
if (K == 1) {
for (float i : a)
sum += i;
System.out.println(sum);
}