如何删除最后一位数字后的逗号?
How to remove comma after last digit?
我正在尝试编写一个程序,列出最多但不包括用户确定的数字的素数。
我想用逗号分隔质数,但我似乎无法去掉最后一个质数后的逗号。
假设用户选择数字 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);
简答:
不要添加不需要的逗号。
一些细节:
添加逗号时反转。
做这样的事情:
for (blah)
{
if (primenumbers.length() > 0)
{
primenumbers += ",";
}
... blah for next prime number.
primenumbers += nextPrimeNumber;
}
不要让逗号跟在最后一个数字后面,而应该把它放在最后一个数字之前(字符串总是可以初始化为第一个没有逗号的质数)。
或者,您可以检查字符串是否为空。如果不只是使用 primeNumbers = primeNumbers.substring(0, primeNumbers.length() - 1)
删除最后一个字符
重写
primeNumbers = primeNumbers + i + ",";
通过以下方式
if(!primeNumbers.isEmpty()) {primeNumbers+=".";}
primeNumbers = primeNumbers + i;
一个简单的方法是从 primeNumbers 字符串中删除最后一个字符。
primeNumbers.slice(0,primeNumbers.length-1);
在打印数字之前添加这部分。
if (primeNumbers.lastIndexOf(",") > 0) {
primeNumbers = primeNumbers.substring(0, primeNumbers.length() - 1);
}
或者打印时只使用 Array List 使用 join 和需要的分隔符
我正在尝试编写一个程序,列出最多但不包括用户确定的数字的素数。
我想用逗号分隔质数,但我似乎无法去掉最后一个质数后的逗号。
假设用户选择数字 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);
简答: 不要添加不需要的逗号。
一些细节: 添加逗号时反转。
做这样的事情:
for (blah)
{
if (primenumbers.length() > 0)
{
primenumbers += ",";
}
... blah for next prime number.
primenumbers += nextPrimeNumber;
}
不要让逗号跟在最后一个数字后面,而应该把它放在最后一个数字之前(字符串总是可以初始化为第一个没有逗号的质数)。
或者,您可以检查字符串是否为空。如果不只是使用 primeNumbers = primeNumbers.substring(0, primeNumbers.length() - 1)
重写
primeNumbers = primeNumbers + i + ",";
通过以下方式
if(!primeNumbers.isEmpty()) {primeNumbers+=".";}
primeNumbers = primeNumbers + i;
一个简单的方法是从 primeNumbers 字符串中删除最后一个字符。
primeNumbers.slice(0,primeNumbers.length-1);
在打印数字之前添加这部分。
if (primeNumbers.lastIndexOf(",") > 0) {
primeNumbers = primeNumbers.substring(0, primeNumbers.length() - 1);
}
或者打印时只使用 Array List 使用 join 和需要的分隔符