我正在编写一个程序,列出素数达到,但不包括由用户确定的数字。如何在最后一位数字后删除逗号?
我希望素数由逗号分隔,但我似乎无法在最终素数后消除逗号。
假定用户挑选号码10
名单应该是: 2,3,5,7
我得到的是: 2,3,5,7,
我知道这可能会被问到很多,但我找不到任何有用的东西,或者我知道如何应用于我的问题。
难道有人指着我正确的方向吗?
谢谢。
Scanner scanner = new Scanner(System.in);
int i = 0;
int num = 0;
String primeNumbers = "";
System.out.println("Pick a number, any number: ");
int n = scanner.nextInt();
for (i = 1; i < n; i++) {
int counter = 0;
for (num = i; num >= 1; num--) {
if (i % num == 0) {
counter = counter + 1;
}
}
if (counter == 2) {
primeNumbers = primeNumbers + i + ",";
}
}
System.out.println("\nThe prime numbers up to " + n + " are: ");
System.out.println(primeNumbers);
这并不是Concat的使用+运算符串个好主意加盟。这是一个性能瓶颈。使用'StringBuilder.append()'并在for循环之外使用'StringBuilder.delete()'来删除最后一个字符(逗号) – rafid059
你可以将数字存储在int列表中吗?然后你可以使用'System.out.println(list.stream()。map(String :: valueOf).collect(Collectors.joining(“,”)));' – dty
感谢@ Rafiduzmann Sonnet的帮助,我会在船上接受你的建议! – Keeron