Funkcja random

Odpowiedz Nowy wątek
2013-05-31 16:12
0

Witam wszystkich , jestem początkujący i mam problem z losowaniem . A mianowicie mam tablicę pięcioelementową i chciałbym zrobić przycisk który będzie przestawiał te elementy w tej tablicy (czyli jezeli tab[0]=1 , tab[1]=2 , ...,tab[5]=4 to po wcisnieciu żeby było np: tab[0]=4 , tab[1]=1 , ...,tab[5]=2 )

 
public class NewApplet extends Applet {
 
  int a=1,b=2,c=3,d=4,e=5;
int tabInt[]=new int[5];
Button b1;
  @Override
    public void init() {
 
      b1=new Button("losowanie");
b1.setBounds(100,100,40,20);
add(b1);
 
tabInt[0]=a;
tabInt[1]=b;
tabInt[2]=c;
tabInt[3]=d;
tabInt[4]=e;
    }
 
}

czylidokładnie chce aby moje a,b,c,d,e przestawiały się po naciśnięciu klawisza no i nie wiem dokładnie jak te losowanie przypisać do klawisza. bardzo prosze o pomoc

Pozostało 580 znaków

2013-05-31 16:23
0

Wiem że składnia jest taka ale nie mam pojęcia jak to zaimplementować żeby program działał

Random losowanie;
losowanie = new Random();

Pozostało 580 znaków

2013-05-31 16:31
0

A gdybyś miał wykonać taką operacje na kartce to jak byś to zrobił?

Pozostało 580 znaków

2013-05-31 16:41
0

no nie wiem , chodzi o to rzeby po przycisku przestawić liczby w tablcy

Pozostało 580 znaków

2013-05-31 16:52
0

to nie wiem , pomożesz ?

edytowany 1x, ostatnio: mohamed, 2013-05-31 16:52

Pozostało 580 znaków

2013-05-31 16:54
0

Wyobraź sobie że masz przed sobą 5 kubeczków, w każdym kolorową piłeczkę i kostkę 5-ścienną. W jaki sposób dokonałbyś przeniesienia piłeczek pomiędzy kubeczkami korzystając z takiego zestawu?
Bo twoim problemem nie jest brak umiejętności programowania, tylko brak umiejętności myślenia...

Pozostało 580 znaków

2013-05-31 17:04
0

Ja specjalistom nie jestem, ale może coś takiego do wymieszania. Metoda shuffle z klasy Collections:

Przykład:

import java.util.Arrays;
import java.util.Collections;
 
public class Glowna {
 
    public static void main(String[] args) {
        Integer[] tab = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        for(int i = 0; i < 10; i++) {
            System.out.print(tab[i] + " ");
        }
        Collections.shuffle(Arrays.asList(tab));
        System.out.println();
        for(int i = 0; i < 10; i++) {
            System.out.print(tab[i] + " ");
        }
    }
 
}
 

Przed wykonaniem mamy:

1 2 3 4 5 6 7 8 9 10

Po wykonaniu

Collections.shuffle(Arrays.asList(tab)); 

mamy np:

4 2 3 1 6 10 7 5 9 8

edytowany 1x, ostatnio: olek1, 2013-05-31 17:05

Pozostało 580 znaków

2013-05-31 17:04
0

no nie wiem :) wyją bym z jednego kubeczka piłkę i włożył do tego którego by mi pokazała kostka po rzucie a piłeczkę z wylosowanego kubeczka wsadziłbym do tamtego z którego wyjąłem tą pierwszą

No i tak też zrób. Obiekt Random() ma odpowiednią metodę która sprawia ze działa jak taka kostka... - Shalom 2013-05-31 17:22

Pozostało 580 znaków

2013-05-31 17:23
0

Dziękuję olek1 ale czy mozesz mi pomóc jak to podpiąć pod buttona żeby zmieniało klawisze po wciśnięciu przycisku ?

Pozostało 580 znaków

2013-05-31 17:26
0

no tak Shalom tylko że mam problem z kodem

Ano masz, bo nawet nie spróbowałeś go napisać... - Shalom 2013-05-31 17:29

Pozostało 580 znaków

2013-05-31 17:31
0

No nie wiem. Musisz dodać jakiegoś mouseListenera np. który po wciśnięciu przycisku wykona operację.

        b1.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseDown(MouseEvent e) {
                Collections.shuffle(Arrays.asList(tabInt));
            }
        }); 
edytowany 4x, ostatnio: olek1, 2013-05-31 17:32
ot: ten topic jest jak dobra ksiazka: kilku bohaterow, nagle zwroty akcji, watek glowny, watki poboczne i tragiczne dazenie glownego bohatera do zaznania pelni szczescia ;) - n0name_l 2013-05-31 17:36

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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