Tablica dwuwymiarowa

0

Mam za zadanie utworzyć tablice 7x7, ktorej elementy bedą loswane z przedzialu (-7, 11). Mam wyświetlić te wszystkie elementy wierszami oraz zapisac wylosowane liczby do pliku tekstowego.

public static void main(String[] args) {
       
    
    int[][]t= new int [7][7];
    int a, b;
    
    try {
        a = Integer.parseInt(args[0]);
        b = Integer.parseInt(args[1]);
        
        for (int i=0; i<7; i++){
            t[i][i]=(int)(a + (b - a + 1)*Math.random());
            System.out.println("t[" + i + "][" + i +"]=" + t[i][i]); }
     
         FileWriter wy = new FileWriter(np+".txt");
         for (int i = 0; i <7; i++) {
            wy.write(t[i][i]+" "); }
        wy.close();

     } catch (NumberFormatException e) {
            System.out.println(" Niepoprawny format liczby");
     } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("Przekroczony zakres indeksu tablicy");
     } catch (IOException e) {
            System.out.println("Błąd wejścia/wyjścia");
    
    
    } }

I własnie pojawia mi sie "Przekroczony zakres indeksu tablicy"

Gdzie jest błąd? D:

0

Zgaduję, że błąd jest tutaj:

        a = Integer.parseInt(args[0]);
        b = Integer.parseInt(args[1]);

Prawdopodobnie nie przekazujesz tych dwóch argumentów z poziomu linii komend.
Cała reszta - pomijając formatowanie - wydaje się być ok.
Poza tym wypełniana jest jedynie przekątna tablicy, a nie cała.

0

To nie błąd ale niedopatrzenie
Masz coś takiego:

a = Integer.parseInt(args[0]);
b = Integer.parseInt(args[1]);

To musisz podać argsy a ty nie podajesz więc masz wyjście poza tablice bo nie ma ani args[0] ani tym bardziej args[1].

A spóźniłem się 2 min.

0

Wstawilam agrumenty (w Properties / Run / Arguments - jesli o to chodzi)

0

Poza brakiem argumentów program jest błędny, wypełnia i wypisuje tylko przekatną tablicy.

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