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:
importjava.util.Scanner;publicclassMaximum10{publicstaticvoidmain(String[] args){Scanner in =newScanner(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.
importjava.util.Scanner;publicclassMaximum10{publicstaticvoidmain(String[] args){Scanner in =newScanner(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.
importjava.util.Scanner;publicclassMaximum10{publicstaticvoidmain(String[] args){Scanner in =newScanner(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:
publicclassMaximum10{publicstaticvoidmain(String[] args){Scanner in =newScanner(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);}}
importjava.util.Scanner;importjava.util.InputMismatchException;publicclassMaximum10{publicstaticvoidmain(String[] args){Scanner input =newScanner(System.in);int[] inputs =newint[10];//create array for the # of inputsfor(int i =0; i < inputs.length;){try{System.out.println("Enter Num "+( i +1));
inputs[i]= input.nextInt();if(inputs[i]>0){
i++;//only increment if the line above doesnt raise error}else{System.out.println("Only positive integers allowed...");}}catch(InputMismatchException e){
input.nextLine();System.out.println("Only integers allowed, try again");}}
input.close();for(int i =0; i < inputs.length; i++){System.out.println(String.format("Input %s was %s", i +1, inputs[i]));}}}