Tipps zum Code

Digital DEC

Mitglied
Hallo Zusammen .
Wieder mal ein Grünschnabel der sich zu Wort meldet und Hilfe gebrauchen kann.
Ja auch ich habe mich dazu entschlossen das Programmieren zu erlernen.
Ich weis ich werde mit meiner frage auch wieder einige nerven .Es tuuuut mir Leid wirklich !!!
Aber auch ich sitze schon seit nunmehr fast zwei wochen an dieser aufgabe und weis auch nicht mehr weiter.

bitte ein Paar tips bitte bitte bitte:
Was ist zu Verbessern an diesem Code?



import java.util.Arrays;
import javax.swing.*;
/**Diese Klasse enthält Methoden zur Verwaltung von Kisten
* Die Kisten werden in einem 2D-Array gespeichert, wobei jede
* Kiste durch ihre Nummer, Breite, Länge,Höhe representiert wird
*/

public class Java04d_einsend_01 {


//Eingabe einer gültigen Kistennummer
static int eingabeKistennummer() {
int nummer;
do {

nummer =
Integer.parseInt(JOptionPane.showInputDialog("Geben Sie bitte eine Kistennummer ein von (1-75)"));
if (nummer <= 0 || nummer >75) {
System.out.println("Die Kistennummer ist üngültig");
}
}while (nummer <= 0 || nummer > 75);
return nummer;
}

/* Fügt eine neue Kiste dem
* 2D-Array hinzu.
* @parameter argEingabe Das
* 2D-Array,in dem die kisten gespeichert werden.
*/

//Eingabe einer neuen Kiste
static void eingabe(int[][] argEingabe) {
int nummer = eingabeKistennummer();
int breite, länge, höhe;


//Wenn Kistennummer gültig und noch nicht vergeben
if (argEingabe[nummer-1][0] == 0) {

//Nummer der Kiste zuweisen
argEingabe[nummer-1][0] = nummer;





//Werte Einlesen
breite=
Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
argEingabe[nummer-1][1]=breite;
länge=
Integer.parseInt(JOptionPane.showInputDialog("Kistenlänge"));
argEingabe[nummer-1][2]=länge;
höhe=
Integer.parseInt(JOptionPane.showInputDialog("Kistenhöhe"));
argEingabe[nummer-1][3]=höhe;


{
System.out.println("Die Kistennummer ist schon vergeben");
}
}
}
/*Löscht eine vorhandene Kiste
* aus dem 2d-Array,und Überprüft ob die zu löschende Kiste vorhanden ist.
*/

//Das Löschen einer Kiste
static void löschen(int[][] argLöschen) {
int nummer = eingabeKistennummer();


//Kontrolle ob die Kistennummer mit einer bereits gespeicherten
//Kiste übereinstimmt
if (argLöschen[nummer-1][0]!=0)
//Setzt die Kisten nummer auf 0 zum Löschen der Kiste
{argLöschen[nummer-1][0] = 0;


}else {
System.out.println("Die Kistennummer " +nummer +" ist nicht bekannt");
}
}

/*Ändert die Daten von einer Kiste
* die im 2D-Array vorhanden ist.
*/

//Das Ändern von Daten einer Kiste
static void ändern(int[][] argÄndern) {
int nummer = eingabeKistennummer();
int breite = 0 , länge, höhe;

//KIstennummer eingeben
do {
nummer= eingabeKistennummer();


//Kontrolle ob die Kistennummer mit einer bereits gespeicherten
//Kiste übereinstimmt
if (nummer>0 && nummer<=argÄndern.length)
if (argÄndern[nummer-1][0] !=0)

//Werte Einlesen

breite=
Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
argÄndern[nummer-1][1]=breite;

länge=Integer.parseInt(JOptionPane.showInputDialog("Kistenlänge"));
argÄndern[nummer-1][2] = länge;

höhe=Integer.parseInt(JOptionPane.showInputDialog("Kistenhöhe"));
argÄndern[nummer-1][3] = höhe;


{
{
System.out.println("Die Kistennummer ist ungültig oder schon vergeben");
}
}
} while (nummer<=0 || nummer>=argÄndern.length);
}

//Anzeigen der Daten einer Kiste

static void anzeigen(int[][]argAnzeigen) {
int nummer;
nummer=Integer.parseInt(JOptionPane.showInputDialog("Geben Sie eine vorhandene Kistennummer ein"));
for(int i=0; i<argAnzeigen.length; i++) {
if(nummer>0 && nummer<=argAnzeigen.length && argAnzeigen[0] == nummer) {
System.out.println("Die Daten der Kiste sind "+Arrays.toString(argAnzeigen));
return;
}
}
System.out.println("Die Kistennummer " +nummer + " ist nicht bekannt.");
}

//Anzeigen der Daten aller Kisten

static void gesamtListe (int[][]gesamtListe) {
for (int kistenIndex =0;kistenIndex < gesamtListe.length; kistenIndex++) {
if(gesamtListe[kistenIndex][0] == 0) {
continue;
}
for (int detailsIndex=0; detailsIndex<gesamtListe[kistenIndex].length; detailsIndex++) {
System.out.println(gesamtListe[kistenIndex][detailsIndex]);
}
}
}

public static void main(String[] args) {

//Vereinbarung des Arrays
//Ein 2D-Array das 75 Kisten beinhaltet und 4reihen aufweist.
int[][] kistenArray = new int[75][4];

//Auswahl der Funktionen
//Hier kann der Benutzer zwischen mehreren funktionen wählen.
String funktionEinlesen;

char funktion;

System.out.println("Sie haben Folgende Funktionen zur Auswahl:");
System.out.println("A Eingabe einer neuen Kiste.");
System.out.println("B Löschen der Daten einer Kiste.");
System.out.println("C Ändern der Daten einer Kiste.");
System.out.println("D Daten einer Kiste anzeigen.");
System.out.println("E Daten aller Kisten anzeigen.");


funktionEinlesen=JOptionPane.showInputDialog("Bitte wählen sie eine Funktion.");
funktion = funktionEinlesen.charAt(0);

//Auswahl auswerten

switch(funktion) {

case 'a':
case 'A':
System.out.println("Sie haben eine neue Kiste eingegeben.");
eingabe(kistenArray);
break;
case 'b':
case 'B':
System.out.println("Sie haben löschen einer Kiste gewählt.");
löschen(kistenArray);
break;
case 'c':
case 'C':
System.out.println("Sie haben ändern einer Kiste gewählt.");
ändern(kistenArray);
break;
case 'd':
case 'D':
System.out.println("Sie haben Datenanzeigen einer Kiste gewählt.");
anzeigen(kistenArray);
break;
case 'e':
case 'E':
System.out.println("Sie haben Datenanzeigen aller Kisten gewählt.");
gesamtListe(kistenArray);
break;

}
System.exit(0);
}
}
 

KonradN

Super-Moderator
Mitarbeiter
Code bitte immer in Code Tags posten - dazu einfach den Knopf </> links oberhalb des Eingabebereiches nutzen.

Was genau interessiert Dich denn? Verbessern kann man einiges:

- Java Namenskonventionen könnte man einhalten (Wobei das teilweise ggf. vorgegeben wurde vermute ich).

- Das ist natürlich noch nicht objektorientiert, aber das dürfte daran liegen, dass dies noch nicht so durchgenommen wurde.

- Bezeichner sollte man ohne Umlaute haben. Also kein äöüß oder so in Bezeichnern wie Methoden.

- magic Numbers - an wie vielen Stellen musst Du die Anzahl der Kisten ändern, wenn diese geändert werden müssten? Das nur als ein Beispiel, wo man eine Konstante nehmen sollte.

- unnötige Kommentare. Beispiel:
Java:
    //Eingabe einer gültigen Kistennummer
    static int eingabeKistennummer() {

kann man einfach zu folgender Methode machen:
Java:
    static int eingabeGueltigeKistennummer() {
Dann braucht es den Kommentar schon nicht mehr!

oder:
Code:
//Wenn Kistennummer gültig und noch nicht vergeben
        if (argEingabe[nummer-1][0] == 0) {
Mit einer zusätzlichen Methode machen:
if(kistennummerGueltigUndNichVergeben(argEingabe, nummer)) {

- Kein korrekter JavaDoc - es macht durchaus Sinn, JavaDoc zu verwenden.
Beispiel:
Java:
    /* Fügt eine neue Kiste dem
     * 2D-Array hinzu.
     * @parameter argEingabe Das
     * 2D-Array,in dem die kisten gespeichert werden.
     */

    //Eingabe einer neuen Kiste
    static void eingabe(int[][] argEingabe) {

Java:
    /**
     * Fügt eine neue Kiste dem 2D-Array hinzu.
     * @param argEingabe Das 2DArray mit den Kisten.
     */
    static void eingabeNeueKiste(int[][] argEingabe) {

Das wäre so ein erstes Feedback ganz auf die Schnelle.

Edit: Es fehlte eine ) in einem Stück Code.
 

mihe7

Top Contributor
Was ist zu Verbessern an diesem Code?
Wie @KonradN schon schrieb: da musst Du etwas konkreter werden. Verbessern kann man am Code praktisch immer etwas (zumal das z. T. auch eine subjektive Angelegenheit ist).

Zusätzlich zu den Punkten, die Konrad bereits genannt hat (in diese Richtung gäbe es noch einiges zu sagen):

Der Code funktioniert nicht richitg. Bei eingabe() wird z. B. nach der Eingabe ausgegeben, dass die Kistennummer schon vergeben ist. Da fehlt wohl ein else. Analog bei aendern(). Dort wird der Benutzer zu Beginn zweimal hintereinander zur Eingabe der Kistennummer aufgefordert: einmal bei der Initialisierung der Variable nummer und einmal in der do-while-Schleife.

Dann hast Du überflüssige Prüfungen drin: eingabeKistennummer() stellt sicher, dass die Eingabe zwischen 1 und 75 (beide inkl.) liegt. Das brauchst Du dann natürlich nicht noch einmal abprüfen (wie z. B. in loeschen()) und natürlich kann damit auch die Schleife raus.
 

M.L.

Top Contributor
Zusätzlich ist der Compiler (Interpreter, Transpiler,...) die letztlich entscheidende Instanz, was formell korrekter Code ist. Auf menschlicher Seite machen Dinge wie Codelesbarkeit, Aufteilung in Schichten, TDD, Algorithmen, Datenstrukturen,... Sinn um das Ändern/Erweitern... des Codes zu erleichtern.
 

Digital DEC

Mitglied
Java:
import java.util.Arrays;
import javax.swing.*;
   /**Diese Klasse enthält Methoden zur Verwaltung von Kisten
   * Die Kisten werden in einem 2D-Array gespeichert, wobei jede
   * Kiste durch ihre Nummer, Breite, Länge,Höhe representiert wird
   */

public class Java04d_einsend_01 {

    
    //Eingabe einer gültigen Kistennummer
    static int eingabeKistennummer() {
    int nummer;
    do {
        
        nummer =
    Integer.parseInt(JOptionPane.showInputDialog("Geben Sie bitte eine Kistennummer ein von (1-75)"));
        if (nummer <= 0 ||  nummer >75) {
            System.out.println("Die Kistennummer ist üngültig");
        }
    }while (nummer <= 0 || nummer > 75);
    return nummer;
    }
    
    /* Fügt eine neue Kiste dem
     * 2D-Array hinzu.
     * @parameter argEingabe Das
     * 2D-Array,in dem die kisten gespeichert werden.
     */
    
    //Eingabe einer neuen Kiste
    static void eingabe(int[][] argEingabe) {
    int nummer = eingabeKistennummer();
    int breite, länge, höhe;
    
  
     //Wenn Kistennummer gültig und noch nicht vergeben
    if (argEingabe[nummer-1][0] == 0) {
        
    //Nummer der Kiste zuweisen
    argEingabe[nummer-1][0] = nummer;   
    
  
    
    
    
    //Werte Einlesen
    breite=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
    argEingabe[nummer-1][1]=breite;
    länge=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenlänge"));
    argEingabe[nummer-1][2]=länge;
    höhe=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenhöhe"));
    argEingabe[nummer-1][3]=höhe;
 
    
      {
      System.out.println("Die Kistennummer ist schon vergeben");
      }
    }
    }
    /*Löscht eine vorhandene Kiste
     * aus dem 2d-Array,und Überprüft ob die zu löschende Kiste vorhanden ist.
     */
    
    //Das Löschen einer Kiste
    static void löschen(int[][] argLöschen) {
    int nummer = eingabeKistennummer();
    
    
    //Kontrolle ob die Kistennummer mit einer bereits gespeicherten
    //Kiste übereinstimmt
    if (argLöschen[nummer-1][0]!=0)
        //Setzt die Kisten nummer auf 0 zum Löschen der Kiste
    {argLöschen[nummer-1][0] = 0;
        
  
    }else {
        System.out.println("Die Kistennummer " +nummer +" ist nicht bekannt");     
        }
    }
    
    /*Ändert die Daten von einer Kiste
     * die im 2D-Array vorhanden ist.
     */
    
    //Das Ändern von Daten einer Kiste
    static void ändern(int[][] argÄndern) {
    int nummer = eingabeKistennummer();
    int breite = 0 , länge, höhe;
    
    //KIstennummer eingeben
    do {
        nummer= eingabeKistennummer();
        
        
    //Kontrolle ob die Kistennummer mit einer bereits gespeicherten
    //Kiste übereinstimmt
    if (nummer>0 && nummer<=argÄndern.length)
    if (argÄndern[nummer-1][0] !=0)
        
    //Werte Einlesen
        
    breite=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
    argÄndern[nummer-1][1]=breite;
    
    länge=Integer.parseInt(JOptionPane.showInputDialog("Kistenlänge"));
    argÄndern[nummer-1][2] = länge;
    
    höhe=Integer.parseInt(JOptionPane.showInputDialog("Kistenhöhe"));
    argÄndern[nummer-1][3] = höhe;
    
    
    {
     {
        System.out.println("Die Kistennummer ist ungültig oder schon vergeben");     
        }
    }
    } while  (nummer<=0 || nummer>=argÄndern.length);
    }
    
    //Anzeigen der Daten einer Kiste
    
    static void anzeigen(int[][]argAnzeigen) {
    int nummer;
    nummer=Integer.parseInt(JOptionPane.showInputDialog("Geben Sie eine vorhandene Kistennummer ein"));
    for(int i=0; i<argAnzeigen.length; i++) {
    if(nummer>0 && nummer<=argAnzeigen.length && argAnzeigen[i][0] == nummer) {
        System.out.println("Die Daten der Kiste sind "+Arrays.toString(argAnzeigen[i]));
        return;
       }
    }
        System.out.println("Die Kistennummer " +nummer + " ist nicht bekannt.");
    }
    
    //Anzeigen der Daten aller Kisten
    
    static void gesamtListe (int[][]gesamtListe) {
    for (int kistenIndex =0;kistenIndex < gesamtListe.length; kistenIndex++) {
    if(gesamtListe[kistenIndex][0] == 0) {
    continue;
        }
    for (int detailsIndex=0; detailsIndex<gesamtListe[kistenIndex].length; detailsIndex++) {
        System.out.println(gesamtListe[kistenIndex][detailsIndex]);
        }
        }
    }
    
    public static void main(String[] args) {
      
    //Vereinbarung des Arrays
    //Ein 2D-Array das 75 Kisten beinhaltet und 4reihen aufweist.
    int[][] kistenArray = new int[75][4];
        
    //Auswahl der Funktionen
    //Hier kann der Benutzer zwischen mehreren funktionen wählen.
    String funktionEinlesen;
    
    char funktion;
    
    System.out.println("Sie haben Folgende Funktionen zur Auswahl:");
    System.out.println("A  Eingabe einer neuen Kiste.");
    System.out.println("B  Löschen der Daten einer Kiste.");
    System.out.println("C  Ändern der Daten einer Kiste.");
    System.out.println("D  Daten einer Kiste anzeigen.");
    System.out.println("E  Daten aller Kisten anzeigen.");
    
    
    funktionEinlesen=JOptionPane.showInputDialog("Bitte wählen sie eine Funktion.");
    funktion = funktionEinlesen.charAt(0);
    
    //Auswahl auswerten
    
    switch(funktion) {
    
    case 'a':
    case 'A':
        System.out.println("Sie haben eine neue Kiste eingegeben.");
        eingabe(kistenArray);
        break;
    case 'b':
    case 'B':
        System.out.println("Sie haben löschen einer Kiste gewählt.");
        löschen(kistenArray);
        break;
    case 'c':
    case 'C':
        System.out.println("Sie haben ändern einer Kiste gewählt.");
        ändern(kistenArray);
        break;
    case 'd':
    case 'D':
        System.out.println("Sie haben Datenanzeigen einer Kiste gewählt.");
        anzeigen(kistenArray);
        break;
    case 'e':
    case 'E':
        System.out.println("Sie haben Datenanzeigen aller Kisten gewählt.");
        gesamtListe(kistenArray);
        break;
        
     }
    System.exit(0);
    }
    }

Ok ich habe jetzt den Code nochmal hoffentlich etwas lesbarer reingestellt.
Sagt man das so weis nicht?
Vielen dank für die antworten die ihr mir gegeben habt.
Ich mache ja auch dieses Fernstudium und die Aufgabe ist ,dieses Programm(Lagerverwaltung) zu schreiben.
Leider fühl ich mich etwas alleine gelassen da der Tutor nicht direkt auf fragen antwortet.
Das soll jetzt kein mimimimi sein; ich weis worauf ich mich eingelassen habe und werde es auch durchziehen.
Doch ist es halt als blutiger Anfänger oft nicht Verständlich was verlangt wird.
Also ich merke ich muss einiges nochmal nachlesen.
Würde es den helfen wenn ich alles nacheinander Programmiere zum Beispiel erst eine Kiste eingeben und dann ausgeben lass.
Dann Kiste Loeschen usw?
 

Digital DEC

Mitglied
Er Antwortet ja leider nur immer ein paar Tage später und das nervt bischen weil ich will ja voran kommen!
Ich danke euch auf jeden Fall für die Tipps.
Ich werde nochmal ein paar Kapitel nachlesen und dann wird das schon!!!
 
Y

yfons123

Gast
"Ein paar Tage" sind witzlos, besprich das mit deinem Tutor und wenn sich nichts ändert wende dich an einen höheren ..
Bezahlst du das Studium oder ein Arbeitgeber?
 

Digital DEC

Mitglied
Ich bezahle es! Sitz abends nach meiner Arbeit am Rechner und lerne, bin ein absoluter Anfänger und ja ich weis es ist nicht leicht für jemand der nichts mit IT zu tun hat aber das entmutigt mich nicht auch wenn es 10 Jahre dauert ich bleibe dran.
 
Y

yfons123

Gast
also das ist kein zustand ...geh direkt zum Tutor und sag ihm dass das nicht so weiter gehen kann, wenn es nichts bewirkt dann gehst du entweder an den service der immer da ist und beschwerst dich da oder gehst eine stufe höher

in meinem studiengang waren beschwerden immer so aufgebaut

Prof => studien gangs leiter => dekan

"Ein paar Tage" kann ich mir gut so vorstellen:

Fachbereich: "Hey Server ist down, SQL Datenbank ist voll, die hütte brennt ansich mach mal was"
Admins: "Alles klärchen, null problemo, wir sehen uns in einer Woche, dann schauen wir uns das vllt mal an"
 
Y

yfons123

Gast
wenn du eine IDE hast dann finde heraus wie man den code formatiert da die Code formatierung sehr zerschossen aussieht

wenn du keine IDE hast dann hol dir eine entweder die kostenlose Intellij version oder Eclipse aber Eclipse ist eher etwas "wuchtig" für anfänger
 
Y

yfons123

Gast
Dann zu deinem Code noch zusätzlich hast du das nicht umgesetzt ws konrad dir geschrieben hat
Beim programmieren teilst du alles in mini probleme auf die du lösen kannst und mit garantie sagen kannst "das ist geil so wie es ist"

zb
Java:
    breite=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
    argEingabe[nummer-1][1]=breite;
    länge=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenlänge"));
    argEingabe[nummer-1][2]=länge;
    höhe=
    Integer.parseInt(JOptionPane.showInputDialog("Kistenhöhe"));
    argEingabe[nummer-1][3]=höhe;
das copy pasten geht doch auf die nerven
Code:
// hat die Nachricht des JPanels als Parameter
public static int GetIntegerInput(String message){
    // Fragt nach User input mit der Nachricht und gibt den Wert zurück
    return Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
}
// wird so hergenommen
argEingabe[nummer-1][2]= getIntegerInput("Kistenlänge");
wenn du irgendwo anders im code was änderst dann wird
1. nichts an dieser methode zerbrechen
2. der Inhalt der methode ist übersichtlich
3. du kannst einfach auf eine andere GUI wechseln da das JOptionPane nur einmal vorkommt
4. man kann ganz einfach den "Bug" finden, man muss ja nur ein paar zeilen code durch schauen
5. und vieles mehr
 

KonradN

Super-Moderator
Mitarbeiter
Also da man nicht weiss, was genau für Vereinbarungen getroffen wurde ist natürlich keine Aussage zu treffen. Ein Anspruch a.la. "Ich schreibe eine Email und der Andere hat zu springen" ist aber natürlich nicht realistisch. Ein gewisser zeitlicher Verzug ist also normal. Und "ein paar Tage später" kann dann durchaus realistisch sein. So ein Tutor wird mehrere Aufgaben haben.

Mich wundert eh, dass sich Studenten nicht viel mehr zusammen tun. Mit der Technologie heute ist doch so viel möglich. In meiner Studienzeit war es vollkommen normal, dass man sich auch zu Lerngruppen zusammen getan hat und man generell in einem regen Austausch war.

@Digital DEC Du hast aber jetzt auch eine weitere Quelle für Antworten gefunden. Es liegt an Dir, dies auch zu nutzen. Tipps und Hinweise geben wir hier gerne. Und diese Kistenaufgabe ist hier schon in vielen Thread behandelt worden - da lohnt ggf. auch eine Suche.

Und ansonsten ist es generell wichtig, sich mit Google & Co vertraut zu machen. Es gibt im Netz extrem viele Informationen. Alleine die ganzen Stackoverflow (kurz oft einfach SO genannt) sind eine wahre Fundgrube an Wissen bei konkreten Problemen!

Bezüglich Antworten in diesem Forum:
Ich erachte es als wichtig, dass man denen, die ihre Zeit investieren um Dir zu helfen, eine Rückmeldung gibt. Diese kann diverse Formen haben:
a) Am schönsten ist es, wenn Hinweise aufgegriffen, verstanden und umgesetzt wurden.
b) Wenn etwas nicht verstanden wurde, dann einfach nachfragen.
c) Wenn ein Hinweis verstanden aber für einen nicht interessant ist, dann kann dies auch problemlos gesagt werden.

Mir fehlt das etwas und ich weiss daher schlicht nicht, wo ich da weiter helfen kann. Ich könnte erneut Kommentare zu dem Code schreiben. Aber macht es Sinn, noch weitere, neue Punkt zu bringen wenn die alten bisher nicht umgesetzt sind? Soll ich die alten Punkte wiederholen? Soll ich diese weiter ausführen? Ich weiss es einfach nicht.
 

Digital DEC

Mitglied
@KonradN
Ich wollte ihnen nicht auf die Füße treten, indem ich nicht auf ihre Antwort reagiert habe.
Den Code hatte ich zur Besseren Veranschaulichung nochmal so reingestellt wie es verlangt wurde. ohne Verbesserung.
ich dachte ich hätte mich für die Tipps bedankt. Falls das nicht der fall war dann vielen dank @KonradN . Ich Versuche das Um zusetzten was sie mir Gesagt haben. Bin dabei. Es ist für mich nicht alles verständlich deshalb gehe ich auch nochmal ein paar Kapitel von meinen studienheften durch.
Was ich einfach nicht hinbekomme ist das ganze als 1 Code zu Verstehen. Für mich sind das viele Puzzle teile die irgendwie nicht passen und ich Weiß einfach nicht wie ich sie zusammenfügen kann.
Das schüchtert mich bischen ein.
 

Digital DEC

Mitglied
@Wuast
Also bei der SGD wo ich das Fernstudium mache hatte ich bereits nach einer Lerngruppe gefragt leider ohne Erfolg.
Und auch bei mir ist es schwierig mit den Arbeitszeiten da ich meistens erst ab 22Uhr am lernen bin.
Machst du auch ein Fernstudium? Oder bist du schon fertig?
 

KonradN

Super-Moderator
Mitarbeiter
Alles ok, mir war nur nicht klar, dass du es nur ohne Verbesserungen eingestellt hast und die Punkte noch weiter anschaust. Ansonsten duzen wir usn hier und das kannst Du auch gerne machen.

Was ich einfach nicht hinbekomme ist das ganze als 1 Code zu Verstehen. Für mich sind das viele Puzzle teile die irgendwie nicht passen und ich Weiß einfach nicht wie ich sie zusammenfügen kann.
Das schüchtert mich bischen ein.
Wenn Du das etwas mehr in Worte fassen kannst. Wir sind sehr gerne bereit zu helfen und erläutern Dir die Punkte sehr gerne. Die Ansatzpunkte sind mir nur eben nicht klar.

Aber interessant - dann kommt diese Aufgabe von sgd - wir sehen diese Kistenaufgabe nun einmal regelmäßig.
 

KonradN

Super-Moderator
Mitarbeiter
Da ich die Qualität der Lehrbriefe nicht kenne: Evtl. macht es da dann Sinn, noch weitere Quellen zu nutzen. Zu Java gibt es sehr gute Bücher - "Java von Kopf bis Fuss" wird hier im Forum bezüglich Java immer wieder gerne empfohlen.

Die reine Sprache Java wird so so bestimmt gut lernen lassen. Das wird nicht bei allen Themen unbedingt so gehen, aber in der Regel sollte es zu allem gute Fachliteratur gerben.
 

Digital DEC

Mitglied
Es fällt mir tatsächlich etwas schwer das auszudrücken:
Ich versuche es mal
vieleicht hilft es ja Step 4 Step
Warum zeigt er mir hier nicht an das ich zB die kistennumer 4 Gewählt habe?
Java:
    // Eingabe einer gültigen Kistennummer
    static int eingabeGueltigeKistennummer() {
        int nummer;
        do {

            nummer = Integer.parseInt(JOptionPane.showInputDialog("Geben Sie bitte eine Kistennummer ein von (1-75)"));
            if (nummer <= 0 || nummer > 75) {
                System.out.println("Die Kistennummer ist üngültig");
            }
        } while (nummer <= 0 || nummer > 75);
        return nummer;
    }
 

KonradN

Super-Moderator
Mitarbeiter
Dort hast Du ja keine Anzeige wenn etwas gewählt wurde. Vor dem return könntest Du sowas einbauen:

(Der Auszug sähe dann so aus - nur die Zeile davor und danach habe ich gelassen.)
Java:
        } while (nummer <= 0 || nummer > 75);
        System.out.println("Sie haben die Kiste Nummer " + nummer + " gewählt!");
        return nummer;
 

mihe7

Top Contributor
vieleicht hilft es ja Step 4 Step
Das ist übrigens vielleicht ein guter Zeitpunkt, sich mit dem Debugger der IDE vertraut zu machen, um den Code "step by step" nachzuvollziehen.

Theoretisch (und auch praktisch) funktioniert das auch mit "Zettel und Stift", ist halt ggf. etwas mehr Aufwand. Natürlich könntest Du den Code auch am Rechner per Kommentare nachvollziehen:
Java:
    // Eingabe einer gültigen Kistennummer
    static int eingabeGueltigeKistennummer() {
        int nummer; // deklariere eine int-Variable mit dem Bezeichner nummer
        do {
            // Frage Benutzer nach Eingabe, wandle diese in ein int um und lege das Ergebnis in nummer ab
            nummer = Integer.parseInt(JOptionPane.showInputDialog("Geben Sie bitte eine Kistennummer ein von (1-75)"));

            // Falls die Nummer ausserhalb des gültigen Bereichs liegt
            if (nummer <= 0 || nummer > 75) {
                // gib eine Fehlermeldung aus
                System.out.println("Die Kistennummer ist üngültig");
            }

            // an der Stelle kann nummer gültig und ungültig sein
            // daher: Wiederholung, so lange nummer ungültig ist
        } while (nummer <= 0 || nummer > 75);

        // an der Stelle kann nummer nur gültig sein
        // die gültige nummer wird zurückgegeben
        return nummer;
    }
 

Digital DEC

Mitglied
Hallo Zusammen
Also das mit Eingabe einer neuen Kiste und das löschen einer Kiste funktioniert wunderbar .
An der stelle Möchte ich allen einen dank aussprechen für die hilfe.
@KonradN dir vor allem!!!
Ich werde mich jetzt an den rest machen und schauen wie weit ich komme
Vielen dank nochmal
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
W Testing Tipps Java Basics - Anfänger-Themen 3
W Tipps/Anmerkungen zu meiner Lösung?! Java Basics - Anfänger-Themen 2
M Brauche Tipps für ein Spiel Java Basics - Anfänger-Themen 4
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Thallius Best Practice Umsteiger braucht Tipps zur Bildverarbeitung Java Basics - Anfänger-Themen 1
R Tipps zur umsetzung eines Musters mit for-schleife Java Basics - Anfänger-Themen 1
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
J Rekursion - Tipps zum Vorgehen Java Basics - Anfänger-Themen 11
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
X Tipps zum Vertiefen Java Basics - Anfänger-Themen 12
V Kleiner Wecker mit Gui (Brauche Tipps) Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
G Programmstruktur, brauche Tipps Java Basics - Anfänger-Themen 9
F Anfänger - die besten Tipps Java Basics - Anfänger-Themen 3
K Brauche nur Tipps Leute habe keine plan wie ich dass machen Java Basics - Anfänger-Themen 4
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
S Tipps zum Einstieg in Java Java Basics - Anfänger-Themen 30
B Tipps für die realisierung eines Projekts: Java Basics - Anfänger-Themen 5
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
terashy VS Code Project run error Java Basics - Anfänger-Themen 10
JaZuDemNo Code Erklärung Java Basics - Anfänger-Themen 3
M Connect-4-Code analysieren Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
T Fehlercode bei code der das Alter ausrechnet Java Basics - Anfänger-Themen 2
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
jhfjeh Strukturgramm in code Java Basics - Anfänger-Themen 11
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
Say Stelle in Code herausfinden, wie geht man vor? Java Basics - Anfänger-Themen 12
Say do-While Code Ausführung Java Basics - Anfänger-Themen 3
W Rückfrage zur Programmgestaltung (clean code) Java Basics - Anfänger-Themen 12
M intelliJ auf neuem PC, plötzlich kein Code Java Basics - Anfänger-Themen 3
Pinhg Sound in Greenfoot Code einbinden Java Basics - Anfänger-Themen 2
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
A Wie könnte man diesen Code kürzer machen ? Java Basics - Anfänger-Themen 7
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
I Code wird nicht ausgeführt Java Basics - Anfänger-Themen 2
K Wie kann man diesen Code schnell und effizient interpretieren (Man hat nur 4 Minuten) Java Basics - Anfänger-Themen 3
R ISBN-10-Code überprüfen Java Basics - Anfänger-Themen 7
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
I HTML Code säubern Java Basics - Anfänger-Themen 4
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
N Java-Code abwärtskompatibel machen Java Basics - Anfänger-Themen 4
J Erste Schritte Was mache ich in meinem Code falsch. Java Basics - Anfänger-Themen 3
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
S Compiler-Fehler Nicht adressierbarer Code ( Non-addressable code ) Java Basics - Anfänger-Themen 5
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
A Code Problem Java Basics - Anfänger-Themen 6
C Fehler im Code Java Basics - Anfänger-Themen 10
A Zu einem bestimmten Ort im Code springen Java Basics - Anfänger-Themen 11
L Ist der Code richtig Java Basics - Anfänger-Themen 3
josfe1234 code vereinfachen Java Basics - Anfänger-Themen 15
nonickatall Ausführbarkeit von Code testen bzw. Remote Debugging Java Basics - Anfänger-Themen 4
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
G Programm Code Java Basics - Anfänger-Themen 5
C Code zusammenfassen Java Basics - Anfänger-Themen 5
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
T Programmablaufsplaninterpretation in Code umformen Java Basics - Anfänger-Themen 1
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
M ISBN-Code Java Basics - Anfänger-Themen 26
B Zeitgleiches Arbeiten am Code mit mehreren Personen? Java Basics - Anfänger-Themen 7
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
N Kann man den Code vereinfachen? Java Basics - Anfänger-Themen 25
marcooooo Code erklären Java Basics - Anfänger-Themen 28
marcooooo Code erklären Java Basics - Anfänger-Themen 4
S Advent of Code Day4 Java Basics - Anfänger-Themen 4
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
Lukasbsc Wie kann ich meinen Code optimieren? Java Basics - Anfänger-Themen 4
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
T Main startet nicht bei vorgegebenen Code Java Basics - Anfänger-Themen 41
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben