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.
Hallo liebe Community,
ich habe eine Frage bezüglich der Augabe von 10 positiven Zahlen.
Es sollen 10 Zahlen eingelesen werden die postitiv sein sollen, wenn sie 0 oder negativ sind sollen sie einfach ignoriert werden.
Es sollen aber solange Eingaben gemacht werden bis 10 positive Zahlen zu sehen sind. Wenn 10 postive Eingaben gemacht wurden soll der größte Wert (max) ausgegeben werden.
Nun mein Ansatz:
Java:
import java.util.Scanner;
public class Maximum10 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int eingabe = 0;
int max = 0;
for (int i = 1; i <= 10; i++) {
eingabe = in.nextInt();
if (eingabe <= 0) {
continue;
}
if (eingabe > max) {
max = eingabe;
}
}
System.out.println(max);
}
}
das Problem ist, dass ich selbst wenn ich negative Zahlen oder Null eingebe diese Zahlen nicht wirklich übersprungen werden, sondern trotzdem als zahlen auf der Konsole ausgegeben werden.
Hat vielleicht jemanden einen Tipp zum Verbessern des Codes?
Danke schon mal im Vorraus!
Zuvor noch etwas anderes: wenn du continue verwendest, wird i++ ausgeführt. Gibt du also 10 neg. Zahlen ein, ist das Programm schon zuende. Korrigiert das bitte und setze deinen Java-Code formatiert und gut eingerückt hier neu hinein.
import java.util.Scanner;
public class Maximum10 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int eingabe = 0;
int max = 0;
for (int i = 1; i <= 10; i++) {
eingabe = in.nextInt();
if (eingabe <= 0) {
continue;
}
if (eingabe > max) {
max = eingabe;
}
}
System.out.println(max);
}
}
Wie sollen denn zehn Zahlen ausgegeben werden, wenn es nur einen Ausgabebefehl gibt, der nach der Schleife steht?
Was für eine Funktion hat "max"? Die Aufgabe erwähnt davon nichts.
import java.util.Scanner;
public class Maximum10 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int eingabe = 0;
int max = 0;
for (int i = 1; i <= 10; i++) {
eingabe = in.nextInt();
if (eingabe <= 0) {
continue;
}
if (eingabe > max) {
max = eingabe;
}
}
System.out.println(max);
}
}
Wie sollen denn zehn Zahlen ausgegeben werden, wenn es nur einen Ausgabebefehl gibt, der nach der Schleife steht?
Was für eine Funktion hat "max"? Die Aufgabe erwähnt davon nichts.
tut mir leid ich habe eine Teil vergessen. Also es sollen 10 positive Eingaben gemacht werden und am Ende wenn diese eingaben gemacht wurden das Maximum, also die größte eingegebene Zahl ausgegeben werden.
import java.util.Scanner;
Java:
public class Maximum10 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int eingabe = 0;
int max = 0;
for (int i = 1; i <= 10; i++) {
eingabe = in.nextInt();
if (eingabe <= 0) {
continue;
}
if (eingabe > max) {
max = eingabe;
}
}
System.out.println(max);
}
}