Изменить на:
public static boolean moreThanOnce(ArrayList<Integer> list , int number) {
int count = 0;
for (int i = 1; i < list.size(); i ++ ) {
if (list.get(i) == number) {
count ++;
if (count > 1) {
return true;
}
}
}
return false;
}
Это гарантирует, что оператор возврата (false) будет отправлен обратно, если либо нет повторяющегося числа, равного номеру, и если он также никогда не входит в цикл for , Он вернет истину, если поставленные вами условия будут выполнены.
Нет разницы, если оба операнда являются строками. Однако, если один операнд является строкой, а один - числом,
Оператор & всегда гарантирует, что оба операнда являются строками,
Оператор + может быть либо сложением, либо конкатенацией. & Является только конкатенацией. Если оба выражения являются строками, результаты будут одинаковыми.
Я использую & при работе со строками и + при работе с числами, так что мои намерения никогда не путаются. Если вы по ошибке используете +, а одно выражение является строкой, а одно - числом, вы рискуете получить нежелательные результаты.
В большинстве случаев нет никакой разницы. Тем не менее, лучшая практика:
«+» должен быть зарезервирован для целочисленных дополнений , потому что, если вы не используете Option Strict On , то вы, возможно, действительно перепутали ситуации например:
Input + 12
может дать вам 20
вместо 812
. Это может быть особенно плохо в приложении ASP.NET, где ввод поступает из POST / GET.
Проще говоря: Для объединения строк всегда используйте «&» вместо «+».
Очевидно, используйте StringBuilder , где это подходит:)
Если оба типа статически типизированы как System.String , разница между ними равна нулю код. Оба будут разрешены вплоть до члена String.Concat (это то, что +
делает для строк).
Однако, если объекты строго не типизированы в строку, позднее Visual Basic Обвязка вступит в действие и пойдет двумя совершенно разными путями. Версия +
попытается выполнить операцию add , которая буквально пытается добавить объекты. Это будет делать все попытки преобразовать оба значения в число, а затем добавить их.
Операторы и
попытаются объединить. Среда выполнения Visual Basic пройдет все виды преобразований, чтобы преобразовать оба значения в строки. Затем будет Строка.
Нет при объединении строк:
Dim string1 As String = "A" + "B"
Dim string2 As String = "A" & "B"
If string1.Equals(string2) And string2.Equals(string1) Then
Debugger.Break()
End If