www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Java" - Min Max Array
Min Max Array < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Min Max Array: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:06 Fr 15.04.2011
Autor: Marius6d

Aufgabe
Erstelle ein Array welches mit Zufallszahlen gefüllt wird, und gebe die minimalen und maximalen Werte aus.

Also eigentlich einfach, im Internet gibt es ja auch 100te Seiten dazu. Also ich habe folgendes programmiert und es funktioniert eigentlich auch bestens:

public class Aufgabe1c {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int[ ] ganzezahlen = new int[10]; //Array mit 10 Fächern

for (int i=0; i<10; i++){ //for schleife für i von 0 bis 10
double d=Math.random(); //Zufallsgenerator für Zahlen zwischen 1 und 20
d=d*19+1;
int f=(int)d;
ganzezahlen[i] = f; // Array wird für die i-ten Schubladen mit f gefüllt.

int max;
int min;

max = ganzezahlen[0];
min = ganzezahlen[0];

for ( int index = 0; index < ganzezahlen.length; index++ )
    {
      if ( ganzezahlen[ index ] > max )  // das gegenwärtige Element untersuchen
        max = ganzezahlen[ index ];      // wenn es bis dahin das Größte ist, max ändern
      if ( ganzezahlen[ index ] < min )  // das gegenwärtige Element untersuchen
        min = ganzezahlen[ index ];      // wenn es bis dahin das kleinste ist, min ändern

      
    }



System.out.println("Die grösste Zahl im Array ist " + max + " und die kleinste Zahl im Array ist " + min);





}


}

}

Das Problem ist nun, dass bei der Ausgabe folgende Form Auftritt:

Die grösste Zahl im Array ist 17 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 17 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 17 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 0
Die grösste Zahl im Array ist 19 und die kleinste Zahl im Array ist 1

Es gibt also sozusagen die ganze for schleife zurück, ich möchte aber dass ja schlussendlich nur die letzte Zeilen mit den min max Werten ausgegeben wird! Was habe ich falsch gemacht?

        
Bezug
Min Max Array: Antwort
Status: (Antwort) fertig Status 
Datum: 16:53 Fr 15.04.2011
Autor: MathePower

Hallo Marius6d,

> Erstelle ein Array welches mit Zufallszahlen gefüllt wird,
> und gebe die minimalen und maximalen Werte aus.
>  Also eigentlich einfach, im Internet gibt es ja auch 100te
> Seiten dazu. Also ich habe folgendes programmiert und es
> funktioniert eigentlich auch bestens:
>  
> public class Aufgabe1c {
>  
> /**
>   * @param args
>   */
>   public static void main(String[] args) {
>   // TODO Auto-generated method stub
>  
> int[ ] ganzezahlen = new int[10]; //Array mit 10
> Fächern
>  
> for (int i=0; i<10; i++){ //for schleife für i von 0 bis
> 10
>   double d=Math.random(); //Zufallsgenerator für Zahlen
> zwischen 1 und 20
>   d=d*19+1;
>   int f=(int)d;
>   ganzezahlen = f; // Array wird für die i-ten
> Schubladen mit f gefüllt.
>
> int max;
> int min;
>
> max = ganzezahlen[0];
> min = ganzezahlen[0];
>
> for ( int index = 0; index < ganzezahlen.length; index++
> )
> {
> if ( ganzezahlen[ index ] > max )  // das gegenwärtige
> Element untersuchen
> max = ganzezahlen[ index ];      // wenn es bis dahin
> das Größte ist, max ändern
> if ( ganzezahlen[ index ] < min )  // das gegenwärtige
> Element untersuchen
> min = ganzezahlen[ index ];      // wenn es bis dahin
> das kleinste ist, min ändern
>
>
> }
>
>
>
> System.out.println("Die grösste Zahl im Array ist " +
> max + " und die kleinste Zahl im Array ist " + min);
>
>
>
>
>
> }
>
>
> }
>
> }
>
> Das Problem ist nun, dass bei der Ausgabe folgende Form
> Auftritt:
>
> Die grösste Zahl im Array ist 17 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 17 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 17 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 0
> Die grösste Zahl im Array ist 19 und die kleinste Zahl im
> Array ist 1
>
> Es gibt also sozusagen die ganze for schleife zurück, ich
> möchte aber dass ja schlussendlich nur die letzte Zeilen
> mit den min max Werten ausgegeben wird! Was habe ich falsch
> gemacht?


Am Schluss hast Du eine geschlossene geschweifte Klammer zuviel,
daher wird bei jeder Erzeugung einer Zufallszahl das Minimum und
Maximum bestimmt.

Dies ist sicher nicht so gewollt, setze daher die überzählige
geschlossene geschweifte Klammer ans Ende der 1. Schleife
und vor Beginn der 2. Schleife.


Gruss
MathePower

Bezug
                
Bezug
Min Max Array: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:46 So 17.04.2011
Autor: Marius6d

Ah vielen Dank für die Antwort!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]