Java-Programm Zahlenfolge?

2 Antworten

Also eine Eingabe wäre hier z.B: 1,3,6,75,213,2000,-7

Es gilt aber auch: 54,2,34,0,12,5000,3,-1 Richtig?

Woher ich das weiß:Berufserfahrung – Programmierer

Molopo 
Beitragsersteller
 11.11.2018, 14:53

Richtig!

0
Ecaflip  11.11.2018, 14:56
@Molopo

Und diese werden separat eingegeben, oder gleich alle aneinander, getrennt mit einem Zeichen?

0
Molopo 
Beitragsersteller
 11.11.2018, 14:57
@Ecaflip

Das ist in der Aufgabenstellung nicht gegeben. Ich denke also, dass das egal ist.

0
Ecaflip  11.11.2018, 15:00
@Molopo

Okay, also separat ist wesentlich einfacher.

Ist dein Problem, dass du die Werte gar nicht erst in ein Array kriegst, oder ist dein Problem dann die eigentlichen Rechenmethoden für max, min, avg?

Wenn Ersteres, dann: Weißt du, wie man den Scanner benutzt?

0
Molopo 
Beitragsersteller
 11.11.2018, 15:03
@Ecaflip

Mein Problem ist, das man unterschiedlich viele Werte eingeben kann und es keine Begrenzung gibt, da man ja dann mit einer negativen Zahl signalisiert, dass keine weiteren Werte hinzukommen.

Das Prinzip von einem Scanner ist mir bekannt.

0
Ecaflip  11.11.2018, 15:23
@Molopo

Eine ArrayList bietet sich ja hier an, da damit flexible Längen möglich sind.

Z.B:

package testPackage;
import java.util.ArrayList;
import java.util.Scanner;
public class TestClass {

	public static void main(String[] args) {

		final Scanner in = new Scanner(System.in);
		final ArrayList<Integer> inputs = new ArrayList<>();
		System.out.println("Werte eingeben bitte");
		while (in.hasNextInt()) {
			inputs.add(in.nextInt());
			if (inputs.get(inputs.size() - 1) < 0) {
				inputs.remove((inputs.size() - 1));
				System.out.println(inputs);
    }
   }
  }
 }

Damit kommst du am Ende auf eine Arrayliste mit all den Werten, die vor dem negativen eingegeben wurden.

0
Ecaflip  11.11.2018, 15:28
@Ecaflip

Hinter, oder anstatt, das System.out.println(inputs); muss natürlich noch deine Methode zur Berechnung oder ein break und die Berechnung dann weiter unten.

0
Molopo 
Beitragsersteller
 11.11.2018, 15:28
@Ecaflip

Super, vielen Dank. ;) Das hilft mir sehr weiter!!

0

Den Scanner kennst du. Daher fehlt dir wohl nur noch die Prüfung, ob gerade eine positive Zahl vorliegt oder nicht.

In Pseudocode:

while scanner.hasNextInt()
  number = scanner.nextInt()

  if (nummber < 0)
    break

  // ...

Die eingegebenen Zahlen musst du dir nicht zwingend alle speichern. Es reicht doch ein Maximum, ein Minium, die Summe und die Anzahl der gegebenen Zahlen.