ArrayIndexOutOfBoundsException ? Matrizenrechnung.

Status
Nicht offen für weitere Antworten.

The_Reaper

Mitglied
Hallo.

Ich hab mich mal hingesetzt und ein Programm versucht zu schreiben, welches mir eine Addition, Subtraktion bzw. Multiplikation von 2 Matrizen durchführt...

Leider tritt dabei folgender Fehler auf: ArrayIndexOutOfBoundsException: 1

Hier mein Quelltext:



Code:
/*
 * Matrizen_Zusatz.java
 * Dominik Remy
 * Matrizenmultiplikation...usw...
 * Created on 15. November 2006, 14:13
 */

import javax.swing.*;

public class Matrizen_Zusatz {
   
    private static int[][] matrix_1; //1. Matrix
    private static int[][] matrix_2; //2. Matrix
    private static int[][] ergebnis; //Ergebnis nach Multiplikation
    private static boolean gleichheit; //Variable um zu prüfen: Spalten1 = Zeilen2 ?
    private static int rechenoperation; // Welche Rechenop ?
    
    //Main Methode, zuerst werden 2 Matrizen eingelesen und dann verglichen,
    //ist gleichheit = true dann gebe Matrizen aus, sonst erzeuge neue Matrix
    //solange bis gleichheit = true...
    public static void main(String[] args) {
        rechenop();
        einlesen1();
        einlesen2();
        pruefen();
        do{
            if (gleichheit == true){
                ausgeben1();
                ausgeben2();
                switch (rechenoperation){
                    case 1: addieren();
                    case 2: subtrahieren();
                    case 3: multiplizieren();
                    default: System.out.println("Eingabe-Fehler !!!");
                       
                }
                ausgeben3();
            }
            else{
                einlesen2();
                pruefen();
            }
        }while (gleichheit != true);
    }
    
    public static int rechenop(){
        System.out.println("Zahl 1 = Addition");
        System.out.println("Zahl 2 = Subtraktion");
        System.out.println("Zahl 3 = Multiplikation");
        
        String eingl;
        eingl = JOptionPane.showInputDialog("Geben sie bitte ein welche " +
                "Rechenoperation sie durchführen wollen !");
        
        rechenoperation = Integer.parseInt(eingl);
        return rechenoperation;
    }
    
    //Berechnet matrix_1 mal matrix_2 und gibt ergebnis zurück 
    public static int[][] multiplizieren(){
        for (int i = 0; i <= matrix_1.length; i++){
            for (int j = 0; j <= matrix_2[0].length; j++){
                ergebnis[i][j] = 0;
                for ( int k = 0; k<=matrix_1.length; k++){
                    ergebnis[i][j] = matrix_1[i][k] * matrix_2[k][j];
                }
            }
        }
        return ergebnis;
    }
    
    //Addition von den 2 Matrizen
    public static int[][] addieren(){
        for (int i = 0; i <= matrix_1.length; i++){
            for (int j = 0; j <= matrix_2[0].length; j++){
                ergebnis[i][j] = matrix_1[i][j] + matrix_2[i][j];
            }
        }
        return ergebnis;
    }
    
    //Subtraktion von den 2 Matrizen
    public static int[][] subtrahieren(){
        for (int i = 0; i <= matrix_1.length; i++){
            for (int j = 0; j <= matrix_2[0].length; j++){
                ergebnis[i][j] = matrix_1[i][j] - matrix_2[i][j];
            }
        }
        return ergebnis;
    }
    
    //Prüft ob Spalten von Matrix1 = Zeilen von Matrix2 ?
    public static boolean pruefen(){
        gleichheit = true;
        if (matrix_1.length != matrix_2[0].length){
            gleichheit = false;
        }
        else{}
        return gleichheit;
    }  
        
    //Erstellt die 1. Matrix
    public static int[][] erstellen1(int n){
        matrix_1 = new int [n][n];
        return matrix_1;
    }
    
    //Erstellt die 2. Matrix
    public static int[][] erstellen2(int n){
        matrix_2 = new int [n][n];
        return matrix_2;
    }
    
    //Erstellt Ergebnis-matrix von Dimension n
    public static int[][] erstellen3(int n){
        ergebnis = new int [n][n];
        return ergebnis;
    }
    
    //Liest die 1. Matrix ein und gibt Matrix zurück
    public static int[][] einlesen1(){            
        
        String eingl;
        eingl = JOptionPane.showInputDialog("Geben sie die " +
                "Dimension der 1. nxn-Matrix an ");
        int n;
        n = Integer.parseInt(eingl);
        erstellen1(n);
        for (int i = 0; i<n; i++){
            for (int j = 0; j<n; j++){
                eingl = JOptionPane.showInputDialog("Geben sie das " + i + j +
                        "-te Element an ! ");
                int k = Integer.parseInt(eingl);
                matrix_1[i][j]= k;                
            }
        }
        return matrix_1;
    }
    
    //Liest die 2. Matrix ein und gibt Matrix zurück
    public static int[][] einlesen2(){            
        
        String eingl;
        eingl = JOptionPane.showInputDialog("Geben sie die " +
                "Dimension der 2. nxn-Matrix an ");
        int n;
        n = Integer.parseInt(eingl);
        erstellen2(n);
        erstellen3(n);
        for (int i = 0; i<n; i++){
            for (int j = 0; j<n; j++){
                eingl = JOptionPane.showInputDialog("Geben sie das " + i + j +
                        "-te Element an ! ");
                int k = Integer.parseInt(eingl);
                matrix_2[i][j]= k;                
            }
        }
        return matrix_2;    
    }
    
    //Gibt die 1. Matrix aus
    public static void ausgeben1(){
        for (int i = 0; i < matrix_1.length; i++) {
            for (int j = 0; j < matrix_1[0].length; j++){
                System.out.print(matrix_1[i][j] + " ");
		System.out.println();
            } 
        }    
    }
    
    //Gibt die 2. Matrix aus
    public static void ausgeben2(){
        System.out.println("*");
        for (int i = 0; i < matrix_2.length; i++) {
            for (int j = 0; j < matrix_2[0].length; j++)
                System.out.print(matrix_2[i][j] + " ");
		System.out.println();
        }        
    }
    
    //Gibt die Ergebnismatrix aus
    public static void ausgeben3(){
        System.out.println("=");
        for (int i = 0; i < ergebnis.length; i++) {
            for (int j = 0; j < ergebnis[0].length; j++){
                System.out.print(ergebnis[i][j] + " ");
                System.out.println();
            } 
        }    
    }
    
    
}

Der Fehler tritt in Zeile: 65, 76 und 86 auf.

Ich bin noch blutiger Anfänger also bitte nicht schlagen :oops:

Gruß
Dominik
 
S

SlaterB

Gast
ein Array der Länge 3 hat die Indexe
0, 1 und 2,

eine typische Schleife lautet also
for (int i = 0; i < matrix_1.length; i++){
du benutzt aber
for (int i = 0; i <= matrix_1.length; i++){

das muss an vielen Stellen in deinem Programm geändert werden
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
Kumora ArrayIndexOutOfBoundsException bei einem Sortierverfahren Java Basics - Anfänger-Themen 2
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
B ArrayIndexOutOfBoundsException, ich finde den Fehler nicht? Java Basics - Anfänger-Themen 10
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
F ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
C Erste Schritte ArrayIndexOutOfBoundsException beim Speichern im Array Java Basics - Anfänger-Themen 2
Hanschyo ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
M ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
R Compiler-Fehler ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 7
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
L ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 10
J Zwei Arrays zippen wirft eine ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 11
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
V ArrayIndexOutofBoundsException:0 Java Basics - Anfänger-Themen 0
R ArrayIndexOutofBoundsException: 10 Java Basics - Anfänger-Themen 5
P ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
T ArrayIndexOutOfBoundsException -> Fehler in for-Schleife? Java Basics - Anfänger-Themen 6
S ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
T ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S noch ein ArrayIndexOutOfBoundsException Fehler Java Basics - Anfänger-Themen 2
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
O ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
J "ArrayIndexOutOfBoundsException", finde den Fehler schlicht nicht Java Basics - Anfänger-Themen 6
A ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 20
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
C ArrayIndexOutOfBoundsException bei meinem ersten objektiorientierten Programm Java Basics - Anfänger-Themen 4
A parseDouble - ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
S ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
A ArrayIndexOutOfBoundsException - woher kommt er?! Java Basics - Anfänger-Themen 4
J AWT-EventQueue: ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
S ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 6
S ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
K ArrayIndexOutOfBoundsException: 0 Java Basics - Anfänger-Themen 4
Luk10 ArrayIndexOutOfBoundsException .... Java Basics - Anfänger-Themen 2
X Probleme mit ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 7
B Fehlermeldung: "ArrayIndexOutOfBoundsException"??? Java Basics - Anfänger-Themen 3
H java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 Java Basics - Anfänger-Themen 5
N ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 7
U ArrayIndexOutOfBoundsException - dringend Hilfe gesucht Java Basics - Anfänger-Themen 8
S java.lang.ArrayIndexOutOfBoundsException: 5 nur wieso? Java Basics - Anfänger-Themen 2
B ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
T ArrayIndexOutOfBoundsException finde den Auslöser nicht Java Basics - Anfänger-Themen 5
G ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 11
V java.lang.ArrayIndexOutOfBoundsException: Java Basics - Anfänger-Themen 3
E 2 Prob.:"ArrayIndexOutOfBoundsException" & do- Java Basics - Anfänger-Themen 2
Z Warum habe ich eine ArrayIndexOutOfBoundsException? Java Basics - Anfänger-Themen 2
N ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
S ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
N ArrayIndexOutOfBoundsException...... Java Basics - Anfänger-Themen 8
P Matrizenrechnung Problem mit Ausgabe Java Basics - Anfänger-Themen 8
M Matrizenrechnung Java Basics - Anfänger-Themen 6
P Matrizenrechnung Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben