Total 'new be' braucht hilfe

Was geschiet mit den noch übrigen Feldern im Array?
Kann es sein, dass er die 0 erkennt, dann die Schleife abbricht, aber im Array an den Stellen, an der die Schleife nicht mehr war schon vorher nullen waren?
 
Also um das prinzip zu erkennen
es geht um eine Kasse das array ist zum "eintippen" der Preise, hierbei ist nie eine 0 vorgesehen ausser man will das array beenden also:
if ( j == 0)
{
break;
}
das t auch leider liest er halt genau diese 0 ein, die anderen werte liest er problemlos aus und wie gesagt vorher kommt keine 0 drin vor im array ^.^
 
Seltsam...
Dann mal anders. Frage, was macht der Teil hier:
Java:
sc.nextInt();
sprich: was ist sc für ein Objekt? Was macht die Methode nextInt()?
 
Schreib mal:
Java:
for(i=0; i<preis.length; i++){
  System.out.print("Bitte Artikelpreis in Cent eingeben: ");
  j = sc.nextInt();

  if ( j == 0 ){
    System.out.print("0 wurde eingegeben!");
    break;
  }

  preis[i] = j;
}

Erscheint der Text, wenn du eine 0 eingibst?
 
jap klappt aber der test ist unnötig da er ja wenn ich ne null eingebe ohne probleme beendet, und die eingegebenen zahlen die dabei sind auch ohne probleme auslesen kann.
 
Also wo liegt denn jetzt das Problem? Zuerst sagst du, dass er die null mit einliest und jetzt dass er bei ner null Problemlos beendet :confused:
 
jo du hast den fehler doch grad selbst geschildert. Das problem ist ja das er die 0 als wert mit einliest was er aber eben NICHT soll, die null soll nur das array schliessen mehr nicht, denn sonst wird die 0 als niedrigster Wert ausgelesen und das soll sie ja nicht ^.^
 
Die 0 wird nicht mehr ins Array geschrieben.
Wenn einer int-Variable keinen Wert zugewiesen hast, bekommt sie automatisch den Wert 0.
Das heißt, wenn du die Schleife mit 0 abbrichst, stehen in allen Feldern die noch nicht beschrieben wurden, 0 drin.

MFG

Sascha
 
Zurück