# Mehrerer Zahlen einlesen ?



## anfänger17 (11. Nov 2018)

Hallo ich habe mal wieder ein Problem ;D


Im Zusammenhang mit diesem Erntedankfest, werden Sie beauftragt, ein Programm zu schreiben, welches die notwendigen Daten der einzelnen Teilnehmer aufnimmt und anhand dieser den Gewinner ermittelt. Weiterhin sollen die Kürbisse nach dem Erntedankfest gemeinsam abtransportiert werden. Die zur Verfügung stehenden Laster können maximal mit einer Tonne Gesamtgewicht belastet werden. Sie werden deshalb zusätzlichh mit der Aufgabe betraut, dass Ihr Programm das Gesamtgewicht aller Kürbisse ermittelt und
dann ausgibt, wie viele Laster zum Abtransport notwendig sind.

Implementieren Sie zur Erfüllung dieser Aufgabe Ihr Programm folgendermaßen:


Lesen Sie nacheinander das Gewicht (in kg) und den Durchmesser ( in m) der einzelnen Küurbisse ein, welche an der Preisverleihung teilnehmen sollen.


Nachdem das Gewicht des letzten Küurbisses eingegeben wurde, wird nach Eingabe einer 0 (als Gewicht) das Einlesen beendet.


Entnehmen Sie das Format der Ausgabe dem folgenden Beispiel und geben Sie den größten Durchmesser und die Anzahl der Laster aus.

Beispiel:

Eingabe:
452
2,5
535
3,6
821
4,7
697
4,0
0





Wie schaffe ich es mehrerer Zahlen so einzulesen, das ich sie gespeichert werden ?


----------



## Meniskusschaden (11. Nov 2018)

anfänger17 hat gesagt.:


> Wie schaffe ich es mehrerer Zahlen so einzulesen, das ich sie gespeichert werden ?


Das ist eigentlich nicht erforderlich. Du musst dir ja nur den bisher größten Durchmesser merken und die Gewichte addieren. Beides kannst du schon während des Einlesens machen.


----------



## anfänger17 (11. Nov 2018)

Gut ich habe das so versucht

```
import java.util.Scanner;
       
        class Kuerbis {
            public static void main(String [] args) {
                Scanner input = new Scanner(System.in);
                int x = 0;
                int q = 0 ;
                double y = 0;
                double z = 0;
              
              while(x!=0) {
              x = input.nextInt() ;
              y = input.nextDouble();
              q = q+x;
                if (y>z){
              z=y;
              }
              }
          
           System.out.println("groesster Durchmesser: "+z);
          
            }
         
          }
```
Bekomme als Durchmesser aber 0.0 raus warum


----------



## Robat (11. Nov 2018)

Überleg mal ob er in deine while-Schleife reingeht ..


----------



## anfänger17 (11. Nov 2018)

Ok macht Sinn ;D
Aber wie schaffe ich es das die werte in der While schleife eingelesen werden oder Denke ich in die Komplett falsche Richtung


----------



## Robat (11. Nov 2018)

Indem du x einen Startwert != 0 gibst?


----------



## anfänger17 (11. Nov 2018)

Das habe ich schon probiert aber dann bekomme ich gar kein output mehr :C
Ich stehe irgendwie auf dem Schlauch


----------



## Robat (11. Nov 2018)

Du bekommst schon einen Output .. du musst nur nach der 0 noch eine Zahl eingeben damit die Schleife beendet wird


----------



## anfänger17 (11. Nov 2018)

Ok also weise ich x ne Random Zahl zu 
Das habe ich so gemacht

```
import java.util.Scanner;
      
        class Kuerbis {
            public static void main(String [] args) {
                Scanner input = new Scanner(System.in);
                int x = 1;
                int q = 0 ;
                double y = 0;
                double z = 0;
            
              while(x!=0) {
                x = input.nextInt() ;
                y = input.nextDouble();
                q = q+x;
                    if (y>z){
                        z=y;
                        }
                        if(x==0){
                        x=2;
                    }
        
           System.out.println("groesster Durchmesser: "+z);
        
            }
        
          }
        }
```



Bekomme aber diesen Output :

Output 
groesster·Durchmesser:·2.5
Er hat also nur die Erste zahl eingelesen :C


----------



## anfänger17 (11. Nov 2018)

Kann es sein das ich auf der völlig falschen spur bin und so nie die aufgabe lösen kann ?


----------



## Meniskusschaden (11. Nov 2018)

anfänger17 hat gesagt.:


> Bekomme aber diesen Output :
> 
> Output
> groesster·Durchmesser:·2.5
> Er hat also nur die Erste zahl eingelesen :C


Ob das falsch ist, hängt ja von deiner Eingabe ab. Wahrscheinlich wartet dein Programm noch immer darauf, dass du die nächste Eingabe machst. Im Moment gibst du das Ergebnis nach jedem erfassten Kürbis aus und nicht erst am Ende. Außerdem solltest du den Quelltext korrekt einrücken, damit man auch sieht, welche Klammern zusammen gehören.


----------



## Meniskusschaden (11. Nov 2018)

anfänger17 hat gesagt.:


> Kann es sein das ich auf der völlig falschen spur bin und so nie die aufgabe lösen kann ?


Nein.


----------



## anfänger17 (11. Nov 2018)

Ich habe es  jetzt Habe 2 Schleifen daraus gemacht und das Einlesen in die Bedingungen der Schleifen getan

Vielen Dank für die  Hilfe


----------



## mihe7 (12. Nov 2018)

Zeig mal den Code, Du brauchst keine zwei Schleifen.


----------



## anfänger17 (12. Nov 2018)

Habe das ganze nochmal neu mit einer Schleife  gemacht
Ist für mich übersichtlicher ;D




```
import java.util.Scanner;
class Kuerbis {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

      
    double gewicht = 1;
    double gesamtg = 0;
    double laster = 1;
    double Durchmesser = 1;
    double max = 0;

      
        while ((gewicht = input.nextInt()) != 0) {
            gesamtg = gesamtg + gewicht;
          
           
            Durchmesser = input.nextDouble();
           

                if(Durchmesser > max){
                max = Durchmesser;
                    }
             }
               
                 laster=gesamtg/1000;
               
               
                System.out.println("groesster Durchmesser: " + max);
                System.out.print("Anzahl der Laster: ");
                System.out.println(Math.ceil(laster));

            }
        }
```


----------



## mihe7 (12. Nov 2018)

Na, dann passt es ja.


----------

