Назначение добавления должно появляться после каждых трех цифр, смотрящих справа налево. Поэтому число 1000000 должно составлять 1 000 000 и т.д.Метод добавления запятых в цифровую строку в Java
У меня относительно хорошая идея, как решить эту проблему, но я понятия не имею, почему я не получаю выход. Возможно, я ошибаюсь, о чем я не знаю или что-то в этом роде.
Я думаю, что я понимаю концепцию того, что строки неизменяемы, поэтому их нельзя изменить на месте, и когда вы хотите что-то изменить в строку для создания нового строкового объекта. Но я не понимаю, как это возможно, то:
`result = ch + result;`
и этот
result = "," + result;
Что я получаю здесь не так?
import acm.program.*;
import acm.util.*;
public class AddCommasToNumericString extends ConsoleProgram{
public void run(){
while(true){
String digits = readLine("Enter a numeric string: ");
if (digits.length() == 0) break;
println(addCommasToNumericString(digits));
}
}
public String addCommasToNumericString(String digits){
String result = "";
int counter = 0;
for (int i = digits.length()-1; i <= 0 ; i--){
char ch = digits.charAt(i);
result = ch + result;
counter++;
if (counter % 3 == 0){
result = "," + result;
}
}
return result;
}
}
'NumberFormat.getNumberInstance (Locale.US) .format (цифры)' выполнит задание. – bhantol
@bhantol Да, конечно, но я подозреваю, что его назначение - это сделать это вручную, чтобы узнать, как работать со строками. –
Yup thats почему я спросил так, что я не надену это легкое решение. – bhantol