Metoda jako parametr metody :D

0

Chciałbym zrobić cos takiego:

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:

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

bądź tak:

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.

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?

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)

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.

1

chary to liczby. Taki kod:

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

Daje na wyjściu: 9506.

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