Pomoc w rozwiazaniu zadania

Odpowiedz Nowy wątek
2017-02-01 09:39

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0

Witam, Jest ktoś w stanie mi pomoc w rozwiązaniu tego zadania? Wiem, że nie jest ono trudne ale jednak mam z nim problem ;/

  • Uzupełnij ciało poniżeszej metody tak aby zwracała true jeśli dostarczony argument zawiera znaki reprezentujące liczbe lub false w przeciwnym wypadku.

public boolean metoda(char[] slowo){
..
}
*

Pozostało 580 znaków

2017-02-01 09:46

Rejestracja: 5 lat temu

Ostatnio: 5 miesięcy temu

0

a z czym dokładnie masz problem?

Pozostało 580 znaków

2017-02-01 09:51

Rejestracja: 4 lata temu

Ostatnio: 8 miesięcy temu

1
 public boolean metoda(char[] slowo){
for(Character litera : slowo){
if(Character.isDigit(litera))
return true;
}
return false;
}

nie wiem czy sie skompliuje, ale cos w tym stylu
Edit:
Poprawiony warunek

edytowany 1x, ostatnio: toJaMichal, 2017-02-01 10:15

Pozostało 580 znaków

Smutny Karp
2017-02-01 10:05
Smutny Karp
1
toJaMichal napisał(a):
 public boolean metoda(char[] slowo){
for(Character litera : slowo){
if(Character.isDigit(litera))
return false;
}
return true;
}

nie wiem czy sie skompliuje, ale cos w tym stylu

No nie za "bałdzo" :) Pomijając szczegół, że warunek logiczny odwrócony, metoda zostanie wykonana tylko dla pierwszego znaku znajdującego się w slowo[0] reszty nawet nie będzie sprawdzać... co w momencie kiedy argument będzie wyglądał tak "1alicja"?

Pokaż pozostałe 3 komentarze
Tak czy siak - kod z posta którego komentujemy, zwróci true/false już po pierwszej literce, czyli źle :) - axelbest 2017-02-01 10:33
Przecież napisałem, że jest jeden błąd - odwrócony warunek logiczny. A wtedy reszta jest poprawna. - bogdans 2017-02-01 10:42
Fcuk.... nic nie myslę dziś. klamry mnie zmyliły... zwracam honor i nie odzywam się juz dziś :P Przywykłem za bardzo do faktu - że nawet w prostym if'ie daje klamerki. - axelbest 2017-02-01 10:42
cholera racja, też przegapiłem brak klamerki, przepraszam - Christosc 2017-02-01 11:11
No tak to jest jak jest brzydko sformatowany kod..... - axelbest 2017-02-01 14:08

Pozostało 580 znaków

2017-02-01 10:21

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0
Smutny Karp napisał(a):
toJaMichal napisał(a):
 public boolean metoda(char[] slowo){
for(Character litera : slowo){
if(Character.isDigit(litera))
return false;
}
return true;
}

nie wiem czy sie skompliuje, ale cos w tym stylu

No nie za "bałdzo" :) Pomijając szczegół, że warunek logiczny odwrócony, metoda zostanie wykonana tylko dla pierwszego znaku znajdującego się w slowo[0] reszty nawet nie będzie sprawdzać... co w momencie kiedy argument będzie wyglądał tak "1alicja"?

I właśnie w tym mam problem ze sprawdza mi tylko 1 element tablicy a musi porównywać tjb wszystkie aby zwrócić true. ;/

Pozostało 580 znaków

2017-02-01 10:21

Rejestracja: 8 lat temu

Ostatnio: 6 miesięcy temu

1
    public boolean metoda(char[] slowo) {
        boolean wynik = true;
        for (Character litera: slowo) {
            if (litera.isDigit(litera) || litera == ',' || litera == '.' ) {

            } else {
                wynik = false;
            }
        }
        if (wynik == false) return false;
        else return true;
    }

Na zdrowie :) przecinek i kropka żeby uwzględnić liczby zmiennoprzecinkowe :)
BTW jak tam sesja ?

Wybacz sam się połapałem, że zrobiłem buraka w drugą stronę, ale już poprawione.

edytowany 2x, ostatnio: Christosc, 2017-02-01 10:28
WTF?, w tym kodzie o wyniku decyduje ostatni znak. - bogdans 2017-02-01 10:29
W tym poprawionym już nie :) wszystko z powodu rozpędu :) - Christosc 2017-02-01 10:33
Do poprawności jeszcze daleko, ciąg 34-87,98.06 reprezentuje liczbę? Ostatnie dwa wiersze można zapisać krócej return wynik; - bogdans 2017-02-01 10:39

Pozostało 580 znaków

2017-02-01 10:27

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0
Christosc napisał(a):
     public boolean metoda(char[] slowo) {
        boolean wynik = false;
        for (Character litera: slowo) {
            if (litera.isDigit(litera) || litera == ',' || litera == '.' ) {
                wynik = true;
            } else {
                wynik = false;
            }
        }
        return wynik;
    }

Na zdrowie :) przecinek i kropka żeby uwzględnić liczby zmiennoprzecinkowe :)
BTW jak tam sesja ?

Dzieki wielkie :) Zaraz sprawdze czy jest ok :) Powiem szczerze ze za tydzien sesja a wydaje mi sie ze obleje ;/ Ale dzieki wielkie za pomoc!! :)

Buraka zrobiłem sprawdź tą poprawioną wersję. - Christosc 2017-02-01 10:29

Pozostało 580 znaków

2017-02-01 10:32

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0
Christosc napisał(a):
    public boolean metoda(char[] slowo) {
        boolean wynik = true;
        for (Character litera: slowo) {
            if (litera.isDigit(litera) || litera == ',' || litera == '.' ) {

            } else {
                wynik = false;
            }
        }
        if (wynik == false) return false;
        else return true;
    }

Na zdrowie :) przecinek i kropka żeby uwzględnić liczby zmiennoprzecinkowe :)
BTW jak tam sesja ?

Wybacz sam się połapałem, że zrobiłem buraka w drugą stronę, ale już poprawione.

Niestety tym razem zostaje ostni el tablicy do sprawdzenia czy jest liczba czy nie ;/ ale i tak bardzo dziekuje za szybka pomoc ;)

Pozostało 580 znaków

2017-02-01 10:35
Moderator

Rejestracja: 12 lat temu

Ostatnio: 3 miesiące temu

1

@maclaw01: dostałeś kod (błędny) i wskazanie błędu. Nie potrafisz poprawić?

public boolean metoda(char[] slowo){
for(Character litera : slowo){
if(!Character.isDigit(litera))
return false;
}
return true;
}

Jeśli dopuszczalne są liczby ujemne i zmiennoprzecinkowe, to funkcja się mocno skomplikuje. Musisz dopuścić - na pierwszym miejscu, oraz jedną kropkę lub przecinek


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2017-02-01 10:38

Rejestracja: 8 lat temu

Ostatnio: 6 miesięcy temu

1

Nie wiem jak u ciebie, u mnie dla:

        char[] slowo  = new char[] {'1', '2', '3', '4', '3', '5', '6'};
        System.out.println(l.metoda(slowo)); 

wynikiem jest true
a dla:

        char[] slowo  = new char[] {'1', '2', '3', '4', '3', 'a', '6'};
        System.out.println(l.metoda(slowo)); 

jest false

Pozostało 580 znaków

2017-02-01 10:41

Rejestracja: 3 lata temu

Ostatnio: 2 lata temu

0
bogdans napisał(a):

@maclaw01: dostałeś kod (błędny) i wskazanie błędu. Nie potrafisz poprawić?

public boolean metoda(char[] slowo){
for(Character litera : slowo){
if(!Character.isDigit(litera))
return false;
}
return true;
}

Jeśli dopuszczalne są liczby ujemne i zmiennoprzecinkowe, to funkcja się mocno skomplikuje. Musisz dopuścić - na pierwszym miejscu, oraz jedną kropkę lub przecinek

Nie rozumiem po co ! <-- zaprzeczać? Wtedy będzie odwrotnie całkowicie ;) Jednak każdy z tych kodów sprawdza tylko 1 element tablicy. Jednak w tym zadaniu trzeba tjb jesli est tablcachar [] xxx = new char[2];
xxx[0] = 'a';
xxx[1] ='4';

Sprawdzić wszystko i dopiero czy false czy true ;)

Ale i tak bardzo Dziekuje wam za częściowe rozwiązanie właściwie tyle mi już wystarczy :)

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0