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.
Hey, bin neu hier. Vielleicht kann mir jemand mit meiner Code helfen. Es sollen 10 Zahlen eingelesen werden. Im Falle der Eingabe einer negativen Zahl soll das erneute Einlesen einer positvien Zahl ermöglicht werden.
Java:
public class NaiveSortierungfor {
public static void main (String[] args) {
int[] unsorted = new int [10];
int i;
i = 0;
TextIO.putln("Geben Sie 10 positive Int-Zahlen ein:" );
while(true){
int x;
x=TextIO.getlnInt(); //Zahl einlesen
if (x > 0){
unsorted [i] = x;
i++;
}
else
TextIO.putln("Fehler");
}
// ich weis net was hier falsch sein soll das zeigt immer an , dass for irgendwie net geht
for (int k = 0; k < 10; k++) {
TextIO.putln(unsorted [k] + " ");
}
}// end main
} // end class
Hey, ich denke mal du nutzt Eclipse und der sagt dir das die Zeile [JAVA=24]for (int k = 0; k < 10; k++) {[/code] nicht erreichbar ist. Das stimmt ja auch weil du vorher eine while schleife mit der Bedienung true hast. Das ist ja eine Undenklich-Schfreife. Du musst da eine Abbruchbedinung einbauen oder deine while Bedienung überdenken.
Du hast eine Endlosschleife definiert, damit ist die for Schleife unerreichbar.
Und das sagt sicher auch die Fehlermeldung. Die sagt sicherlich nicht, "dass for irgendwie net geht", sondern i.d.R immer was nicht geht.
gut, das habe ich zum Teil gefragt, aber dürfte doch wohl klar geworden sein, dass das schon klar ist,
dein Posting enthält insofern nichts neues zur Lage
while(Bedingung) lautet das Konstrukt, in der Bedingung musst du prüfen, ob das gewünschte erreicht ist, wie gesagt z.B. abhängig von i
hey, danke das problem habe ich gelöst(for schleife benutzt), kannst du jetzt mein fehler hier noch finden.
Ich soll mein array nach dem kleinsten Element durchsuchen..
Java:
public class NaiveSortierungA {
public static void main (String[] args) {
int[] unsorted = new int [10];
int x , x1;
x1 = x = 0;
TextIO.putln("Geben Sie 10 positive Int-Zahlen ein:" );
for (int i = 0; i < unsorted.length; i++){
//while ( x < unsorted.length); {
x=TextIO.getlnInt(); //Zahl einlesen
if (i < 0){
TextIO.putln("Geben Sie bitte positive Int-Zahlen ein:" );
x=TextIO.getlnInt(); //Zahl einlesen
unsorted [i] = x;
x1++;
}
};
//int minVal = unsorted [0];
int min = Integer.MAX_VALUE;
for (int k = 0; k< unsorted.length; ++k){
if (unsorted [k]<min ){
min = unsorted [k];
}
}
System.out.print("Minimum: " + min);
int sorted [] = new int [10];
sorted = unsorted;
}// end main
} // end class
wahrscheinlich ist dann eines der Array-Elemente 0, ausgeben? aber ich sehe noch nichts genaues
edit:
> if (i < 0){
??
wenn nicht 'Geben Sie bitte positive Int-Zahlen ein' und eine zweite Eingabe kommt, wird schon gar nicht im Array gespeichert?
da muss wirklich in Ruhe gearbeitet werden, ich möchte keine Last-Minute-Abgaben durch fertigen Code oder so unterstützen
(mal abgesehen davon dass ich damit allgemein geizig bin, aber ist jedenfalls kein positives Kriterium)
Ich glaube dein neuese Beispiel hat noch paar Fehler. Dabei ist es egal ob du 10 positive oder 10 negative werte eingibst, nach 10 eingaben wird immer das Minimum gesucht. Ich würde wieder die while schleife nehmen und einer int als index definieren die den wert von 0 hat.Die bedinung in der whle-schleife ist das der index kleiner deinem int[].length ist. Wenn eine Korrekte Eingabe gemacht wurde, den wert an die index stelle im int[] setzen und den index um eins erhöhen.
Du kannst dir auch mit Arrays.toString(unsort). dein int[] auf der Konsole ausgeben.