Tablica dwuwymiarowa

MO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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.

Kopiuj
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:

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

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

Kopiuj
        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.

AA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

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

Kopiuj
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.

MO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

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

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.