import javax.swing.*;
public class lager {
public static void datenEingeben() {
int[][] aEingabe = new int[100][100];
int nummer ;
int nummer1;
int breite, laenge, hoehe;
// Kistennummer solange Einlesen bis Kistennummer gültig
//
//
// if (aEingabe[nummer-1][0] ==0) {
// }
// else
// System.out.println("Kistennummer bereits vergeben");
// wenn gültig und noch nicht vorhanden, Daten eingeben
//if (nummer > 0 && nummer <= aEingabe.length){
do {nummer = Integer.parseInt(JOptionPane
.showInputDialog("Bitte eine Kistennummer: 1 - 100"));
if(nummer <= 0 || nummer > 100)
System.out.println("Falsche Kistennummer Eingegeben");
else
{
//Nummer zuweisen
aEingabe[nummer - 1][0] = nummer;
// Werte Einlesen und Arrayelementen zuweisen
breite = Integer.parseInt(JOptionPane.showInputDialog("Kistenbreite"));
aEingabe[nummer - 1][1] = breite;
laenge = Integer.parseInt(JOptionPane.showInputDialog("Kistenlänge"));
aEingabe[nummer - 1][2] = laenge;
hoehe = Integer.parseInt(JOptionPane.showInputDialog("Kistenhöhe"));
aEingabe[nummer - 1][3] = hoehe;
aEingabe[nummer - 1][4] = breite * laenge * hoehe;
System.out.println("Kistennummer :" + aEingabe[nummer - 1][0]);
System.out.println("Volume Beträgt :" + aEingabe[nummer - 1][4]);
}
}while ( aEingabe[nummer - 1][0] == nummer);
System.out.println(" Sie haben Gleiche Kistennummer Eingegeben");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
datenEingeben();
}
}
Liebe Freunde ich möchte die Aktuelle kisten nummer die ich eingebe und die vorher eingegebene vergleichen. Wenn es der fall ist möchte ich
System.out.println(" Sie haben Gleiche Kistennummer Eingegeben");
ausgeben .Nur ich kann den vergleich nicht machen.
lieber freund, bist du dir sicher damit was du hier machen möchtest? der vergleich funktioniert natürlich einwandfrei, er bewirkt nur nicht das, was du dir anscheinend vorstellst. formatiere den code mal und lösche alles raus, was für die ablauflogik nicht wichtig ist!
Code:
do {
nummer = Integer.parseInt(JOptionPane
.showInputDialog("Bitte eine Kistennummer: 1 - 100"));
if (nummer <= 0 || nummer > 100)
System.out.println("Falsche Kistennummer Eingegeben");
else{
// Nummer zuweisen
aEingabe[nummer - 1][0] = nummer;
...
}
} while (aEingabe[nummer - 1][0] == nummer);
System.out.println(" Sie haben Gleiche Kistennummer Eingegeben");
die while bedingung ist natürlich immer erfüllt, du hast die nummer ja gerade vorher gesetzt! also wirst du niemals bis zum System.out kommen!
Da du über den Eintrag der Variable 'nummer' in die erste Spalte deiner Tabelle eine Überprüfung erreichen möchtest, denke ich wäre eine andere Herangehensweise geeigneter:
Code:
do
{
nummer = Integer.parseInt(JOptionPane.showInputDialog("Bitte eine Kistennummer: 1 - 100"));
if (nummer < 1 || nummer > 100)
{
System.out.println("Falsche Kistennummer Eingegeben");
}
else if(aEingabe[nummer - 1][0] == nummer)
{
break;
}
else
{
// Nummer zuweisen
aEingabe[nummer - 1][0] = nummer;
...
}
} while (1);
System.out.println(" Sie haben Gleiche Kistennummer Eingegeben");
Auch wenn ich das ganze für eine sehr schlechte Idee halte.
Du solltest vielleicht eine FOR-Schleife machen, bei der jede Kiste nacheinander abgefragt wird oder wie auch immer.
Aber diese Lösung mit der WHILE-Schleife gefällt mir irgendwie nicht.