Metoda jako parametr metody :D

Metoda jako parametr metody :D
Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 231
0

Chciałbym zrobić cos takiego:

Kopiuj
static char lszn(int a){
      if(a==1){
       return ((char)(r.nextInt(24)+65));
      }
      if(a==0){
        return ((char)(r.nextInt(24)+97));
      }
}

A potem użyć tej motody w ten sposób:

Kopiuj
on.setimie(lszn(1)+lszn(0)+lszn(0));

bądź tak:

Kopiuj
tx=lszn(1)+lszn(0)+lszn(0);
on.setimie(tx);

Ale mi tą metodę uznaje jako zmienne liczbowe ;/.

Co muszę zrobić aby to hulało.

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

Ale mi tą metodę uznaje jako zmienne liczbowe ;/.

Nie rozumiem tego stwierdzenia. W ogóle nie rozumiem tego problemu. Czy to tak jak jest nie hula?

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

Z Javadoca do Stringa mamy:

String str = "abc";

is equivalent to:

 char data[] = {'a', 'b', 'c'};
 String str = new String(data);

Stąd, aby zrobić Stringa z charów w twoim przypadku można zrobić np tak:
new String(new char[]{lszn(0), lszn(1)});

Ewentualnie możesz sklejać je w taki sposób:
"" + 'a' + 'b'
A twoim przypadku byłoby to:
"" + lszn(0) + lszn(1)

Kandif
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 231
0

Pomyśl, metoda lszn zwraca char lecz gdy ją używam jako parametr w setimie("tutaj") to zwraca błąd że żądało String a nie int....
No właśnie czyli metodę lszn() uznaje jako zmienną typu int... Dlaczego? O to jest pytanie.

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
1

chary to liczby. Taki kod:

Kopiuj
        char a = 'a';
        char b = 'b';
        int m = a * b;
        System.out.println(m);

Daje na wyjściu: 9506.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.