| Methode mit 4 Eigenschaften < Sonstiges < Hochschule < Informatik < Vorhilfe 
 
 
  |  |  
  | 
    
     |  | Status: | (Frage) reagiert/warte auf Reaktion   |   | Datum: | 11:59 Di 19.08.2008 |   | Autor: | lisa11 | 
 
 | Aufgabe |  | eines vorweg ich habe hier leider keinen Compiler zur Hand und kann Syntaxfehler nicht im Moment überprüfen bitte um Entschuldigung!
 
 Geben Sie eine Java - Methode an, die folgende Eigenschaften genügt:
 
 die Methode ist eine Klassenmethode
 
 - der Typ des Rückgabewertes ist long
 
 - die Methode hat 1 Parameter vom Typ [] [] []
 
 -der zurückgegebende Wert ist die Summe aller Werte des übergebenen 3 dimensionalen  Arrays
 
 | 
 Mein Ansatz
 
 class sum 1 {
 
 int [] [] [];
 sum1 (int [] [] []);
 int  n = In.readnt();
 long sum = 0;
 for (int i = 0; i < a.length; i++);
 sum = sum + a[i][i][i];
 out.println(sum = " +sum");
 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |  |  |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 15:24 Di 19.08.2008 |   | Autor: | lisa11 | 
 ich habe glaube ich einen fehler gemacht wie ich sehe muss das 3 dimensionale Array 3 mal abgearbeitet werden also ist mein Vorschlag
 
 class sum 1 {
 int [][][];
 sum1 (int [][][]);
 int n = In.read();
 int j = In.read();
 int k = In.read();
 
 long sum = 0;
 for (i = 0; i< n; i++);
 for(j =0; j< m; j++);
 for(k = 0; k<o; k++);
 sum = sum + a[i][j][k];
 out.println(sum = "+sum");
 }
 
 
 
 
 
 
 
 
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 11:06 Mi 20.08.2008 |   | Autor: | lisa11 | 
 
 | Aufgabe |  | Aufgabe: Methode mit 4 Eigenschaften wie erwähnt | 
 es wäre so schön wenn jemand zeit hätte dies programm anzusehen
 bin mitten in den Prüfungen die Zeit rennt
 
 ich danke all jenen die sich bemühen
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     | Hallo Elisabeth,
 
 ich vermute, dass Du bisher keine Antwort bekommen hast, weil die Aufgabenstellung ziemlich einfach ist, Deine Ansätze aber (leider!) momentan nicht den Eindruck vermitteln, dass Du dich damit gut genug auskennst, um die Aufgabe schaffen zu können. Der von Dir gepostete Ansatz scheint mir ein zielloses Zusammenwürfeln von Codeschnipseln zu sein.
 
 Aber lass uns das mal durchgehen, vielleicht schaffen wir es ja:
 
 > eines vorweg ich habe hier leider keinen Compiler zur Hand
 
 Das ist beim Programmieren meistens schlecht :(
 Einen Java-Compiler gibt es z.B. (kostenlos) bei http://java.sun.com/
 
 > - die Methode ist eine Klassenmethode
 
 Dies wird Java durch ein bestimmtes Stichwort mitgeteilt. Klassenmethoden nennt man auch "statische Methoden".
 
 > - der Typ des Rückgabewertes ist long
 
 Das sollte ja nicht allzu schwer sein :)
 
 > - die Methode hat 1 Parameter vom Typ [] [] []
 
 [][][] gibt nur an, dass es sich um ein 3-dimensionales Array handelt, da fehlt also noch die Angabe des Typs. Vermutlich wird dies int oder long sein.
 
 > -der zurückgegebende Wert ist die Summe aller Werte des
 > übergebenen 3 dimensionalen  Arrays
 
 Das ist nun der Knackpunkt. In deinem Ansatz verwendest Du nur eine einfache Schleife. Da das Array 3-dimensional ist, musst du auch über jede Dimension iterieren, d.h. jede Dimension durchgehen (mit 3 Schleifen). Wenn das Array a heißt, würde das im Ansatz etwa so aussehen:
 
 for(int i = 0; i < a.length; i++) {
 for(int j = 0; j < a[i].length; j++) {
 // hier vervollständigen!
 }
 }
 
 Versuche mal, dieses Codestück zu vervollständigen und eine passende Signatur für die Methode zu finden (also so etwas wie "public int tueEtwas(int wert)"). Danach sehen wir weiter :)
 
 Viel Erfolg dabei!
 Gruß,
 Michael
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Frage) beantwortet   |   | Datum: | 17:29 Mi 20.08.2008 |   | Autor: | lisa11 | 
 
 | Aufgabe |  | Aufgabenstellung wie bisher mit neuen Ansatz | 
 public float summe (float [][][] a){
 int i, j, k;
 int sum = 0;
 for (int i = 0; i<a.length; i++);
 for(int j = 0; j <a[i].length; j++);
 for(int k = 0; k<a[j].length; k++);
 sum := sum + a[i][j][k];
 return sum;
 }
 
 
 
 
 
 
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 17:31 Mi 20.08.2008 |   | Autor: | lisa11 | 
 es sollte long heissen anstelle von float
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 18:03 Mi 20.08.2008 |   | Autor: | lisa11 | 
 public int sum(int [] [] [] a){
 long summe = 0;
 for (int i = 0; i < a.length; i++){
 for (int j = 0; j <a.[i].length; j++){
 for (int k = 0; k<a.[i][j].length; k++){
 summe = summe + a[i][j][k];
 }
 }
 }
 return summe;
 }
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 18:37 Mi 20.08.2008 |   | Autor: | lisa11 | 
 bitte schaue die letzte Version an ich bin halt etwas voreilig tut mir leid
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 18:40 Mi 20.08.2008 |   | Autor: | sirprize | 
 Ich war schon dabei :)
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     | Hallo Elisabeth,
 
 dein letzter Beitrag sieht schon ganz gut aus, ich habe es mal eingerückt und etwas farbig markiert:
 
 > public int sum(int[][][] a){
 >   long summe = 0;
 >   for (int i = 0; i < a.length; i++){
 >     for (int j = 0; j <a.[i].length; j++){
 >       for (int k = 0; k<a.[i][j].length; k++){
 >         summe = summe + a[i][j][k];
 >       }
 >     }
 >   }
 >   return summe;
 > }
 
 Jetzt prüfe mal bitte, welche der 4 Punkte erledigt sind und welche nicht. Als Tipp: Rot ist falsch, und es fehlt etwas zwischen blau und rot. Damit solltest Du die ganz korrekte Lösung finden können!
 
 Gruss,
 Michael
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Frage) beantwortet   |   | Datum: | 18:59 Mi 20.08.2008 |   | Autor: | lisa11 | 
 Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
 
 
 | Aufgabe |  | aufgabe wie bisher | 
 ich bin mir nicht sicher ich denke es sollte long heissen
 in diesem Fall
 
 public long sum (int [][][]a){
 ......
 
 gruss
 e.w.
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     | Hallo,
 
 damit wäre ein Punkt erledigt. Jetzt bitte noch prüfen, ob deine Lösung (mit dieser Korrektur) alle 4 Aufgabenteile erledigt.
 
 Gruss,
 Michael
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 19:11 Mi 20.08.2008 |   | Autor: | lisa11 | 
 Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
 Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
 Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
 
 ich denke es fehlt die Klassenmethode
 
 public class sum1{
 
 public  long sum(int[][][]a){
 ......
 
 
 /*Klassenmethode*/
 
 static int getsum (){
 return summe;
 
 
 
 
 
 
 
 |  |  | 
 |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 19:29 Mi 20.08.2008 |   | Autor: | sirprize | 
 Richtig erkannt, es geht darum, dass es sich um eine Klassenmethode handeln muss. Dies erreichst Du aber nicht so wie angegeben. Informationen zu Klassenmethoden findest Du z.B. unter
 
 http://www.teialehrbuch.de/Kostenlose-Kurse/JAVA/6604-Klassenvariablen-und-Klassenmethoden.html
 oder in Kurzform hier:
 http://www.informatik.uni-bonn.de/III/lehre/vorlesungen/Informationssysteme/WS98/weitere_Themen/OO/FolienAlsHTML/sld013.htm
 
 Beides habe ich durch eine kurze Google-Suche nach "Klassenmethoden" gefunden. Lies dir das einfach mal durch, dann kommst bestimmt drauf.
 
 
 |  |  | 
 
 
 |