Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich studiere Wirtschaftsingenieur und muß mich derzeit durch Java quälen. Ich komme in einem Punkt meiner Programmierung nicht weiter und hoffe auf eure Hilfe:
Klausuraufgabe:
Stellen sie sich vor, sie benötigen für eine betriebswirtschaftliche Rechnung eine Tabelle mit 3 Spalten und 10 Zeilen mit Einträgen aus dem Bereich der ganzen Zahlen. Addieren sie diese Spalten und stellen das Ergebnis dar.
Für Experten sicherlich kein Problem, aber für mich ein ganz großes:
Hier mal mein Code-Versuch:
Code:
public class Schleifentest {
public static void main(String[] args) {
int erg1 = 0;
int erg2 = 0;
int [i][j]Rechnung = new int [6][2];
Rechnung [0][0]= 5;
Rechnung [1][0]= 5;
Rechnung [2][0]= 5;
Rechnung [3][0]= 5;
Rechnung [4][0]= 4;
Rechnung [5][0]= 4;
Rechnung [0][1]= 3;
Rechnung [1][1]= 3;
Rechnung [2][1]= 3;
Rechnung [3][1]= 3;
Rechnung [4][1]= 3;
Rechnung [5][1]= 5;
for (int i=1; i< Rechnung.length; i++){
erg1 += i+i;
//System.out.println(erg1);
}
for (int j=1; j< Rechnung.length; j++){
erg2+= j+j;
//System.out.println(erg2);
}
int sum = erg1 + erg2;
System.out.println("Ergebnis Spalte 1: " + erg1);
System.out.println("Ergebnis Spalte 2: " + erg2);
System.out.println("Summe aller Einträge: " +sum);
}}
Leider bekomme ich immer das selbe Ergebnis, egal welches Arrayfeld ich ändere. Gibt es eine Funktion, die die Addition mehrdimensionaler Arrays beschreibt, bzw. wie kann ich das ganze realisieren ohne die oben angegebenen Werte in den Feldern ?
Versuch mal in deinen Schleifen auch auf etwas in dem Array zuzugreifen...
Schau dir mal ganz genau an, was du da addierst...
Falls du mit Arrays an sich noch Probleme hast, kannste dich auch mal hier durchhangeln: Galileo
PS: wenn das mit dem Zugriff aufs Array klappt, würd ich mir an deiner Stelle noch deine Schleifen anschaun, und das, was die machen, mal auf Papier nachspielen... ich glaub da hackts wo...(verschachteln... :roll: )
Wenn ich jetzt versuchen würde, so zu tun, als wäre ich kein Fachidiot...:
Code:
int array[] = ... irgendein array ...
int summe = 0;
for (int i=0; i<array.length; i++)
{
// Innerhalb der Schleife nimmt "i" nacheinander die Werte 0,1,2,3... an
// Damit beschreibt "i" nur den Index - also die STELLE, an der man auf
// den array zugreifen kann. Wenn man den INHALT des Arrays an dieser
// Stelle haben will, braucht man nicht "i", sondern "array[i]"
summe += array[i];
}
hab Dir mal ein kleines Beispiel geschrieben das Dein array ausgibt.
Die Reihenfolge ist etwas anders (kannst Du aber einfach in den
Schleifenkörpern ändern) die Werte sind analog zu Deinen.
Du brauchst nur noch eine Methode schreiben die dir Spalten addiert.
Code:
private void addRows(int[][] array) {
...
}
und in der main Methode aufrufen
Code:
operator.addRows(Rechnung);
Code:
public class ArrayOperator {
/** konstructor */
public ArrayOperator(){
}
/** ausgabe */
private void show(int[][] arr) {
for (int i=0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.println("at[" + i + "][" + j + "] := " + arr[i][j]);
}
}
}
public static void main(String[] args) {
ArrayOperator operator = new ArrayOperator();
// gegeben
int[][]Rechnung = new int [6][2];
Rechnung [0][0]= 5;
Rechnung [0][1]= 3;
Rechnung [1][0]= 5;
Rechnung [1][1]= 3;
Rechnung [2][0]= 5;
Rechnung [2][1]= 3;
Rechnung [3][0]= 5;
Rechnung [3][1]= 3;
Rechnung [4][0]= 4;
Rechnung [4][1]= 3;
Rechnung [5][0]= 4;
Rechnung [5][1]= 5;
operator.show(Rechnung);
}
}