Pomoc w rozwiazaniu zadania

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){
..
}
*

0

a z czym dokładnie masz problem?

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

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"?

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. ;/

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.

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!! :)

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 ;)

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

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

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 :)

0
Christosc napisał(a):

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

Dokladnie Twój działa dobrze :D Thx mordo !! :D

0

@maclaw01: bzdury opowiadasz. Nie trzeba sprawdzać wszystkiego by wiedzieć,że jest źle. Wystarczy znaleźć jeden niewłaściwy znak.

1

Jeśli przy pierwszym błędzie to może być tak:

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

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