Przejdź do głównej zawartości

Posty

String-2 > repeatFront

Given a string and an int n, return a string made of the first n characters of the string, followed by the first n-1 characters of the string, and so on. You may assume that n is between 0 and the length of the string, inclusive (i.e. n >= 0 and n <= str.length()). repeatFront("Chocolate", 4) → "ChocChoChC" repeatFront("Chocolate", 3) → "ChoChC" repeatFront("Ice Cream", 2) → "IcI" Definiujemy zmienna newStr , loop reverse schodzimy od n do 0 i kazdy substring dodajemy do nwoego newStr public String repeatFront ( String str , int n ) { String newStr = "" ; for ( int i = n ; i >= 0 ; i --){ newStr += str . substring ( 0 , i ); } return newStr ; }

String-2 > mixString

Given two strings, a and b, create a bigger string made of the first char of a, the first char of b, the second char of a, the second char of b, and so on. Any leftover chars go at the end of the result. mixString("abc", "xyz") → "axbycz" mixString("Hi", "There") → "HTihere" mixString("xxxx", "There") → "xTxhxexre" Mix String: dwa stringi o roznej dlugosci Musimy przejsc loopem przez oba i zlozyc nowy string . aby miec pewnosc ze iterujemy po wszystkich char w stringu wybieramy dluzszy. Konieczne zadeklarowanie zmiennej String str ktora bedzie przechowywala kolejne char public String mixString ( String a , String b ){ String str = "" ; int len = 0 ; if ( a . length () >= b . length ()) { len = a . length (); } else len = b . length (); for ( int i = 0 ; i < len ; i ++) { if ( i...

String-2 > xyBalance

We'll say that a String is xy-balanced if for all the 'x' chars in the string, there exists a 'y' char somewhere later in the string. So "xxy" is balanced, but "xyx" is not. One 'y' can balance multiple 'x's. Return true if the given string is xy-balanced. xyBalance("aaxbby") → true xyBalance("aaxbb") → false xyBalance("yaaxbb") → false Szukam char i rownego x, nastepnie musimy spwardzic czy po tym x jest y tj generujemy string i drugi warunek ten substring zaczyna sie od i w ktorym zostal odnotowany x i jedzie do konca szukajac y - jesli true to oba true jesli false wtedy false public boolean xyBalance ( String str ) { for ( int i = 0 ; i < str . length (); i ++){ if ( str . charAt ( i )== 'x' ){ if ( str . substring ( i + 1 , str . length ()). contains ( "y" )&& str . charAt ( str . length ()- 1 )!= 'x' ){ ...

String-2 > xyzThere - java

Return true if the given string contains an appearance of "xyz" where the xyz is not directly preceeded by a period (.). So "xxyz" counts but "x.xyz" does not.  xyzThere("abcxyz") → true xyzThere("abc.xyz") → false xyzThere("xyz.abc") → true Definiujemy loop ktory sprawdza za kazdym podejsciem czy kolejne indexy i,i+1 oraz i+2 i zdefiniowane dla nich char.  Nalezy tu pamietac ze jesli sprawdamy po indeksach np i+2 to tzreba zostawic "miejsce" na koncu aby nie bylo outOfBoudnExeption tj przekroczenia rlugosci stringa. Jezeli pierwszy warunek jest spelniony tj mamy na kolejnych indexach interesujace nas char-y sprawdzamy czy na poprzedzajacych nasza trojkę indexach pojawia sie "." zaczynamy od indexu 0 - tzreba to uwzglednić w warunku tj albo index 0 == 0 lub i-1 == 0 public boolean xyzThere ( String str ) { int len = str . length () - 2 ; for ( int i = 0 ; i < len ; i...

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if
Given a string, return a string where for every char in the original, there are two chars.  doubleChar("The") → "TThhee" doubleChar("AAbb") → "AAAAbbbb" doubleChar("Hi-There") → "HHii--TThheerree" Solution: easy public String doubleChar ( String str ) { String str1 = "" ; for ( int i = 0 ; i < str . length (); i ++) { str1 = str1 + str . charAt ( i ) + str . charAt ( i ); } return str1 ; } more complicated solution with Character.toString() - https://www.javatpoint.com/java-char-to-string for ( int i = 0 ; i < str . length (); i ++){ String strChar = Character . toString ( str . charAt ( i ))+ Character . toString ( str . charAt ( i )); System . out . print ( strChar ); }
Your cell phone rings. Return true if you should answer it. Normally you answer, except in the morning you only answer if it is your mom calling. In all cases, if you are asleep, you do not answer. answerCell(false, false, false) → true answerCell(false, false, true) → false answerCell(true, false, false) → false public boolean answerCell ( boolean isMorning , boolean isMom , boolean isAsleep ) { if ( isMom && ! isAsleep ){ return true ; } if ( isMorning && ! isMom ){ return false ; } if ( isAsleep ){ return false ; } return true ; }