Защо връща "False" ?!
Според вас, защо връша "лъжа" при положение, че се вижда, че двата елемента са идентични?
Според вас, защо връша "лъжа" при положение, че се вижда, че двата елемента са идентични?
.equals
Опита с .Equals. Ако така не става виж, да не би да имаш символи на кирилица в думите. Примерно на едното място 'е' да ти е на латиница, а на другото на кирилица.
Надявам се, да съм ти помогнал!
Да, помогна. Мерси! :)
+1
Здравей,
Едно от първите неща които се учат за Java е, че за сравняване на Стрингове се използва Equals. Сравняването на низове с оператора == в Java е груба грешка, защото този оператор сравнява адресите на низовете, не техните стойности! За сравняване на низове използвай методите equals() / equalsIgnorecase() и compareTo() / compareToIgnoreCase() и проверявай за изрично за null, защото извикването на equals() върху null стойност предизвиква NullPointerException.
Ахам...
Тази част ми е обягнала, значи. Да с ".equals" проработи и довърших задачката..
Благодаря! :)) +1
За да не правя нова тема за един елементарен въпрос от един ред ще го задам тук в тази.
System.out.printf("%10s|", Integer.toBinaryString(a).replace(' ', '0'));
Този ред код е част от задачката за форматиране на числа от домашното. Питам се само, защо не работи .replace метода?
При въвеждане на а = 2, принтира "10" и 8 празни места...
Пробвай така:
String binary = String.format("%10s",Integer.toBinaryString(firstNumber)).replace(' ', '0');
System.out.println(binary);
String binA = Integer.toString(a,2);
System.out.printf("|%-10X|%010d|%10.2f|%-10.3f|",
a, Integer.parseInt(binA), b, c);
аз го направих така - първо прехвърлих десетичното число в стринг (да го изпише като binary) след това когато пробвах да изпиша нули пред стринга с "%10s", binA и при мен изписваше само 10 празни места, да добавя нули отпред не стана и затова се разрових. Накрая отрких, че 0-ли пред стринг не можеш да добавиш, затова стринга binA го парс-вам отново към целочислено число ( ако в твоя случай а = 2 , стринга е станал 10). С "%010d" си изписваш числото (10) и добавяш отпред нули докато запълниш зададената ширина от 10 символа.
Малко объркано обясних май но - с 2 думи: след като го направиш на стринг го парсни отново към int и ползвай плейсхолдъра за целочислени числа - с него можеш пред числото да си добавяш нули.
Благодарско, сега го изкара.
Явно трябва, да се форматира отделно в стринг и после да се принтира, a не да се форматира директно в sout-a...
Ясно, мерси! :))
+1
П.п - Евела, на хейтъра, който ми е дал -1 за това, че не съм разбрал нещо и съм пуснал тема за да го науча... :)
Жив и здрав! :*
Мерси, стана! :)
+1