#java
#java
Вопрос:
В PHP вы можете объединять строки с помощью .=, чтобы строка росла вместе с тем, что вы к ней добавляете. Интересно, можно ли это сделать на Java? Я провел некоторый тест в этом коде, чтобы добавить все числа в одну длинную строку, но не работает! Можно ли это сделать каким-то другим способом?
int number = 100;
for (int x = number; x <= 2; x--) {
resultat = resultat Integer.toString(x);
}
Комментарии:
1. Какой результат вы получаете?
2. Разве этот код никогда не будет выполняться? Условие равно x <= 2, а значение x равно 100. Или я что-то упускаю?
3. Да, вы правы! теперь это работает лучше!
Ответ №1:
Да, =
в Java есть .=
в PHP:
result = Integer.toString(x)
. Вам просто нужно определить String resultat = ""
выше цикла. (И, как отмечали другие, исправьте условие вашего цикла, оно всегда равно false)
Однако в циклах вам лучше использовать a StringBuilder
. Строка неизменяема, поэтому каждый раз, когда вы используете
, создается новая строка (что может быть неэффективно при больших циклах). Вместо:
StringBuilder builder = new StringBuilder();
for (...) {
builder.append(x);
}
String result = builder.toString();
Ответ №2:
x <= 2
никогда не бывает истинным для x = 100
…
Вы должны изменить условие на x >= 2
Но вы можете использовать =
Ответ №3:
Ваш цикл for просто нуждается в небольшой работе. В настоящее время у вас x <= 2
есть, когда это должно быть x >= 2
, иначе цикл никогда не будет выполняться, поскольку 100 никогда не меньше 2!
Ответ №4:
В вашем примере это не работает, потому что вы неправильно определили условие завершения for
цикла. Вы должны написать это так:
String resultat = "";
int number = 100;
for (int x = number; x >= 2; x--) {
resultat = resultat Integer.toString(x);
}
for
Цикл — это примерно while
цикл с некоторыми небольшими дополнениями. Вот почему вы должны написать условие следующим образом.
Ответ №5:
Попробуйте использовать StringBuilder.append
так
int number = 100;
StringBuilder builder = new StringBuilder();
for (int x = number; x <= 2; x--) {
builder.append(x);
}
String result = builder.toString();
Комментарии:
1. Спасибо! Stringbuilder был интересным и новостным для меня.