在这个程序中,它会询问一个数字,然后显示该数字的10倍,然后对它们求和,但它必须是这样的:
数字= 6;
06,12,18,24,30,36,42,48,54,60
60,54,48,42,36,30,24,18,12,20
总和= 324
显示数字的部分没有问题,问题是当我必须总结它们时。我尝试使用列表来保存每行的数字,然后使用第一行/列表并对其求和,但我无法使其工作。
ArrayList<Integer> i1 = new ArrayList();
ArrayList<Integer> i2 = new ArrayList();
System.out.println("Introduce un número:\n"); // Asks you a number
int n1=scan.nextInt();
int add_i = 0;
int rest_i = n1 * 11;
i1.add(add_i);
i2.add(rest_i);
while (add_i <= n1 * 9) // while add_i is less or equal to n1 * 9
{
add_i += n1; // suma n1 a i
System.out.print(i1 + " "); // Prints the result
}
System.out.println(" ");
while (rest_i >= 10) // while rest_i is greater or equal than 10
{
rest_i -= n1; // Resta n1 a i
System.out.print(i2 + " "); // Prints result
}
同样在我的节目中,暗示不会出现。
答案 0 :(得分:1)
不确定你想要采用什么逻辑,但它似乎比
困难得多 Scanner scan = new Scanner(System.in);
System.out.println("Enter number : ");
int input = scan.nextInt ();
int sum = 0;
for (int loop = 1; loop <= 10; loop++) {
int out = loop * input;
sum += out;
System.out.println(out);
}
// and down
for (int loop = 10; loop >= 1; loop--) {
int out = loop * input;
System.out.println(out);
}
System.out.println("sum is "+ sum);
答案 1 :(得分:0)
试试这个:
int sum = IntStream.iterate(startNumber, n -> n+startNumber)
.limit(10)
.peek(System.out::println)
.sum();
免责声明因为downvotes。这是一种替代解决方案。当你完全理解循环时我可以看一下它。