[英]How can I print out n numbers that satisfy the condition
我编写了一个代码,它将返回 1 或 4 作为 output,这里是
public static int findSum(int k) {
int sum = 0;
boolean foundNonZero = false;
for (; k != 0; k /= 10) {
if (foundNonZero) {
sum += (k % 10)*(k % 10);
} else {
foundNonZero = k % 10 != 0;
}
}
return sum;
}
现在,我正在尝试编写一个 function public static long[] firstK(int k)
,它将返回从 0 开始的k
个数字,满足findsum
= 1 的条件。
尽管阅读了 Java 语法和信息,但我仍在努力理解如何去做。 到目前为止,这是我的代码:
public static long[] firstK(int k) {
while (int x = 0;) {
if (findSum(x) = 1;)
System.out.println(x);
}
我知道 int(k) 没有用于此,但我不知道如何实现它。 任何帮助将不胜感激:)
也许是这样的:
public static List<Integer> firstK(int k) {
List<Integer> result = new ArrayList<>();
for (int x = 0 ; result.size() < k ; x++)
if (findSum(x) == 1)
result.add(k);
return result;
}
如果你真的想要一个数组而不是一个列表,我仍然会使用一个列表来计算结果。 然后,我将从该列表中创建一个数组并将其作为函数的结果返回,以使 function 返回一个int[]
或long[]
。 我不明白你为什么要返回long[]
或List<Long>
而不是int[]
或List<Integer>
,我怀疑所涉及的代码是否有机会迭代超过最大 integer 值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.