Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: dvourozměrné pole

Java Java dvourozměrné pole

Aktivity (1)
Avatar

Neregistrovaný
Avatar
:1.3.2014 11:53

Ahoj, mohl by mi někdo poradit jak do dvourozměrného pole např [2][5] uložím do každého prvku tohoto pole vrchol jako instaci nějaké třídy dejme tomu třeba Bod?

 
Odpovědět 1.3.2014 11:53
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na
Zdeněk Pavlátka:1.3.2014 11:56
int width = 2, height = 5;
Bod[][] pole = new Bod[width][height];
for(int i = 0; i < width; i++)
    for(int j = 0; j < height; j++)
        pole[i][j] = new Bod();

Třeba takhle?

Nahoru Odpovědět 1.3.2014 11:56
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar

Neregistrovaný
Avatar
:1.3.2014 12:46

A prosim tě jak z toho dvourozměrného pole vypíšu ty hodnoty?tady se asi nepoužívá foreach

 
Nahoru Odpovědět 1.3.2014 12:46
Avatar
tomisoka
Redaktor
Avatar
Odpovídá na
tomisoka:1.3.2014 19:59

Jednoduse takto:

int width = 2, height = 5;
 int[][] pole = new int[width][height];
 for(int i = 0; i < width; i++){
      for(int j = 0; j < height; j++){
System.out.println(pole[i][j]);
}
}

nebo pokud pocitas s tim ze pole budes vytvaret takto :

int[][] pole = new int[][]{new int[4], new int[5]};
/*vytvoris pole "pole" obsahujici pole o velikosti 4 a 5*/

tak pouzijes toto:

for(int i = 0; i < pole.length; i++){
      for(int j = 0; j < pole[j].length; j++){
System.out.println(pole[i][j]);
}
}
Editováno 1.3.2014 20:02
 
Nahoru Odpovědět 1.3.2014 19:59
Avatar
Silvinios
Redaktor
Avatar
Odpovídá na
Silvinios:2.3.2014 12:28

For-each použít lze. Jenom je třeba si uvědomit, že dvourozměrné pole je pole, jehož prvky jsou pole:

for (Bod[] p : pole) {
  for (Bod bod : p) {
    System.out.println(bod);
  }
}
Editováno 2.3.2014 12:30
 
Nahoru Odpovědět 2.3.2014 12:28
Avatar

Neregistrovaný
Avatar
:2.3.2014 17:01

A když ta instance třídy bod má dva parametry Bod(a,b),jak to pak vypíšu aby se vypsali oba parametry?

 
Nahoru Odpovědět 2.3.2014 17:01
Avatar
tomisoka
Redaktor
Avatar
Odpovídá na
tomisoka:2.3.2014 17:35

udelas v Bodu nejakou metodu ktera to bude vracet ve Stringu.
Napr.:

public String toString(){
return a + " " + b;
}
 
Nahoru Odpovědět 2.3.2014 17:35
Avatar

Neregistrovaný
Avatar
:2.3.2014 17:58
Bod[][]pole=new Bod[2][5];
                for(int i =0;i<2;i++){
                        for (int j=0;j<5;j++){
                                pole[i][j]=new Bod(new Random().nextInt(3),new Random().nextInt(3));


                }
                }

Myslel jsem to vypsání tý instance, která je teď uložená v tom dvourozmšrném poli

 
Nahoru Odpovědět 2.3.2014 17:58
Avatar
tomisoka
Redaktor
Avatar
Odpovídá na
tomisoka:2.3.2014 18:40

Tak pokud jsem pochopil spravne tak chces vypsat napriklad jakou hodnotu maji promene "a" a "b" v Bodu.
Coz udelas tim ze pouzijes tu metodu co vraci String, napr.:

System.out.println(bod[0][0].toString());

Jinak nevim co by mohlo znamenat vypsani instance

 
Nahoru Odpovědět 2.3.2014 18:40
Avatar

Neregistrovaný
Avatar
:4.3.2014 8:18
Bod[][] pole = new Bod[2][5];

        for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 5; j++) {
                        pole[i][j] = new Bod(new Random().nextInt(100),
                                        new Random().nextInt(100));
                        System.out.println("Hodnota parametru x je " + pole[i][j].a);
                        System.out.println("Hodnota parametru y je " + pole[i][j].b);

                }
        }

Mohl by mě ještě někdo poradit jak z tohoto kódu vypíšu nejnižší hodnotu b, kterou potřebuju uložit do proměnmé min typu Bod

 
Nahoru Odpovědět 4.3.2014 8:18
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na
Zdeněk Pavlátka:4.3.2014 8:19

Definuj "nejnižší hodnotu".

Nahoru Odpovědět 4.3.2014 8:19
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar

Neregistrovaný
Avatar
:4.3.2014 14:47

Ono by to spíš mělo být tak, že budu porovnávat hodnotu s tou proměnnou min a pokud se najde hodnota co je menší než min tak proměnná min bude nabývat právě tuto hodnotu. Jde o že u dvourozměrného pole nevím jak se s tím pracuje

 
Nahoru Odpovědět 4.3.2014 14:47
Avatar
tomisoka
Redaktor
Avatar
Odpovídá na
tomisoka:4.3.2014 19:39

Prakticky uplne stejne jako s normalnim polem

Jenom je třeba si uvědomit, že dvourozměrné pole je pole, jehož prvky jsou pole

Pokud ti to dela problem tak jedine co muzu poradit je : testuj, testuj a testuj

 
Nahoru Odpovědět 4.3.2014 19:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.