- formatuj kod bo się źle czyta
- dlaczego tak uparłeś się na to żeby na wejściu był String a nie Integer?
- można jeden raz return
return "1".equals(liczbaBinary.substring(dl-idxWektoraBin,dl-idxWektoraBin+1));
- łapanie każdego wyjątku i zwracanie false? hmmm czyli tak jakby wszystko poszło zgodnie z planem żadnego logera, żadnego komunikatu błędu, ktoś zamiast liczby poda na wejściu "dupa" i dostanie że trzeci znak to 0?
ad 1. co to znaczy "formatuj" ? jak się formatuje ? przecież są spacje i tabulatory.
ad 2. bo tak jest w zadaniu, że na wejsciu string liczbowy :(
ad 4. bo nie wiem jak dodac komunikat o bledzie. Jak ktos poda "dupa" to ma zwrócić false, ale komunikat by sie przydal.
wersja 2.0:
class Main
{
//wywołanie funkcji
public static void main (String[] args){
System.out.println(getBinaryDigit("7",3));
}
//funkcja wyciągająca 3 cyfrę od prawej w wektorze binarnym z liczby podanej jako String
public static Boolean getBinaryDigit(String liczbaString, Integer idxWektoraBin){
Boolean wynik = false;
try{
Integer liczbaInteger = Integer.parseInt(liczbaString); //konwersja String -> Integer
String liczbaBinary = Integer.toString(liczbaInteger,2); //konwersja Integer -> Binary
Integer dl = liczbaBinary.length(); //d?ugo?? wektora binarnego
if (dl>=idxWektoraBin && liczbaInteger>=0){ //je?li d?ugo?? wektora binarnego >= idxWektoraBin
return (liczbaBinary.substring(dl-idxWektoraBin,dl-idxWektoraBin+1).equals("1"));
}
}
catch (Exception e) {}
return wynik;
}
}