- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个程序可以接受用户输入并打印许多回文素数(每行 10 个并且应该均匀分布)。我直接打印值并且工作正常,但数字间距不均匀。所以我决定将它们存储到一个数组中,希望它们能均匀地打印出来。但是现在没有打印任何值。有人可以指出我在哪里犯了错误吗?以下是部分代码:
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Print how many values? ");
int input = scan.nextInt();
int[] palPrimes = new int[input];
int count = 1, val = 2;
while(count <= input)
{
if(isPrime(val) && isPalindrome(val))
{
palPrimes[count-1] = val;
}
val++;
}
for(int i = 0; i < palPrimes.length; i++)
{
if(i % 10 == 0)
System.out.println();
System.out.print(palPrimes[i] + " ");
}
}
最佳答案
添加 val
时需要增加 count
否则循环永远不会终止。
if (isPrime(val) && isPalindrome(val))
{
palPrimes[count - 1] = val;
}
val++;
应该是这样的
if (isPrime(val) && isPalindrome(val))
{
palPrimes[count - 1] = val;
count++;
}
val++;
最后,为了数字的均匀间距,我建议你使用 formatting .类似的东西,
for (int i = 0; i < palPrimes.length; i++) {
if (i % 10 == 0)
System.out.println();
System.out.printf("% 5d", palPrimes[i]);
}
或者,正如 @m3ssym4rv1n 的评论中指出的那样, 一两个标签
System.out.print(palPrimes[i] + "\t");
第一个选项(printf
)将右对齐;后者 (\t
) 左对齐。
关于java - 以均匀间距打印数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32622179/
我需要在半径R的圆内生成一个均匀随机点。 我意识到,通过在区间 [0 ... 2π) 中选择均匀随机的角度,并在区间 (0 ... R) 中选择均匀随机的半径,我最终会得到更多的点朝向中心,因为对于两
我想在一个正方形内生成 N 个点(均匀地)。我怎样才能做到这一点? 最佳答案 非常酷的问题,比我想象的要困难得多,但这就是想法。有关于 n 边形的论文,但我只会做正方形。因此,圆的均匀分布是一个常见问
考虑以下示例: import itertools import numpy as np a = np.arange(0,5) b = np.arange(0,3) c = np.arange(0,7)
SQL Server 将一组值分成 5 组,每组的 sum(count) 应该均匀分布。 表仅包含 2 列 rid 和 count。 create table t1(rid int, count in
我有以下简单的 HTML。 A B C 和 CSS: ul { width: 100%; display: flex; flex-direction:
我是一名优秀的程序员,十分优秀!