Anonymní profil Petr – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Petr – Programujte.comAnonymní profil Petr – Programujte.com

 

Příspěvky odeslané z IP adresy 78.128.148.–

Petr
Java › nevypsání matice
1. 4. 2015   #200938

#5 Petr
myslim Netbeans ide? 8.0.2 .... jo tohle mi chodi vpohode ikdyz vykricniky tam mam stale

Petr
Java › nevypsání matice
1. 4. 2015   #200935

#3 Petr
Paráda tohle už funguje. Sice ty vykřičníky stále mám ale aspoň, že se to vypíše :) v čem sem ale dělal chybu? protože když aplikuju tohle:   for (int j = 0; j < maticeA[i].length; j++) {
                System.out.format("%d",maticeA[i][j]);
            }

do to toho svého zadání tak mi to stejně nevypíše

Petr
Java › nevypsání matice
1. 4. 2015   #200931

#1 Petr
přesněji ty vykřičníky svítí u každého cyklu for

Petr
Java › nevypsání matice
1. 4. 2015   #200930

Zdravím zkoušel jsem si dělat matice:

public class DvourozmernePole {

    public static void main(String[] args) {
        int[][] maticeA = new int[5][4];
        //genereuj prvky matice z intervalu <-20; 20>
        for (int i = 0; i < maticeA.length; i++) {
            for (int j = 0; j < maticeA.length; j++) {
                maticeA[i][j] = -20 + (int) (41 + Math.random());
            }
        }

        //vypise zformatovane prvky matice
        System.out.println("Matice A:");
        for (int i = 0; i < maticeA.length; i++) {
            for (int j = 0; j < maticeA.length; j++) {
                System.out.format("%6d" + maticeA[i][j]);
            }
            System.out.println("");
        }
        //vypise prvky na hlavni diagonale

        int pocetPrvkuHLDiagonaly = Math.min(maticeA.length, maticeA[0].length);

        System.out.println("Prvky hlavni diagonaly:");
        for (int i = 0; i < pocetPrvkuHLDiagonaly; i++) {
            System.out.print(maticeA[i][i] + ". ");
        }
        System.out.println("");

        //zjisti od uzivatele dva indexy pro radky, ktere zameni
        // radky za sloupce
        Scanner vstup = new Scanner(System.in);
        System.out.println("Zadejte index radku k vymene: ");
        int index1 = vstup.nextInt();
        System.out.println("Zadejte index druheho radku k vymene: ");
        int index2 = vstup.nextInt();

        for (int i = 0; i < maticeA.length; i++) {
            for (int j = 0; j < maticeA.length; j++) {
                int[] pom = maticeA[index1];
                maticeA[index1] = maticeA[index2];
                maticeA[index2] = pom;

            }

        }

    }

}

Problém je, že když to chci spustit nahlásí mi to chybu a u některých řádku mi svítí žárovka s vykřičníkem(use enhanced for loop to iterate over the array):

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
    at izapr_cv04.DvourozmernePole.main(DvourozmernePole.java:12)
Java Result: 1

poradíte mi v čem dělám chybu?

Děkuji

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý