我正在編寫一個程序,列出素數達到,但不包括由用戶確定的數字。如何在最後一位數字後刪除逗號?
我希望素數由逗號分隔,但我似乎無法在最終素數後消除逗號。
假定用戶挑選號碼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