matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

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
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenJavaMethodenaufruf Main Methode
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Java" - Methodenaufruf Main Methode
Methodenaufruf Main Methode < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Methodenaufruf Main Methode: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:59 Sa 07.05.2011
Autor: Marius6d

Aufgabe
Ich soll je eine Methode schreiben die den max bzw. min Wert aus einem Array entnimmt.


Also ich habe folgendes programmiert:




public class Aufgabe1 {

public static int max, min;

public static int max(int[] ganzezahlen){

System.out.print("Max-Methode");

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
    }

max = ganzezahlen[0];

return max;

}


public static int min(int[] ganzezahlen){

System.out.print("Min-Methode");

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

min = ganzezahlen[0];

return min;

}


public static void main(String[] args) {

System.out.print("Main-Methode");

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.



}








}


}




Nun soll ich die min und die max methode aus der Main methode heraus aufrufen, aber wie geht das? Schlussendlich soll ich dann den minimalen und maximalen Wert ausdrucken.

        
Bezug
Methodenaufruf Main Methode: Antwort
Status: (Antwort) fertig Status 
Datum: 20:58 Sa 07.05.2011
Autor: ponysteffi

Hallo Marius

Wichtig für den Aufruf ist der Methodenkopf, den du ja schon implementiert hast.

Eine Methode (wenn sie in der gleichen Klasse ist) kann man aufrufen mit dem Methodennamen und eventuellen Übergabewerten.

Für deine Anwendung also:

max(ganzezahlen)
min(ganzezahlen)

der Übergabewert muss dabei immer vom Typ sein, den du im Kopf der Methode definierst (also hier ein int array).

Bezug
                
Bezug
Methodenaufruf Main Methode: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:17 So 08.05.2011
Autor: Marius6d

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Hmm ok und wo muss ich das einbauen? ich habe es in der main methode eingebaut nach der Schleife, und dann wie folgt:

public static void main(String[] args) {

System.out.print("Main-Methode");
System.out.println();
System.out.println();

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.
System.out.println(ganzezahlen[i]);




}

max(ganzezahlen);
min(ganzezahlen);
System.out.println();

System.out.println(max(ganzezahlen));
System.out.println(min(ganzezahlen));


Aber er gibt mir nicht die richtigen Werte aus, vor allem gibt er für max und min die selben werte aus?!

Bezug
                        
Bezug
Methodenaufruf Main Methode: Antwort
Status: (Antwort) fertig Status 
Datum: 17:08 So 08.05.2011
Autor: sailent

Max und Min haben die selben Werte weil in den Methoden jeweils vor dem Return der max und min Wert auf den ersten Platz im Array gesetzt wird. Diese Zeilen müssen entfernt werden aus den Methoden : max = ganzzahlen[0] und min = ganzzahlen[0]. Die machen keinen Sinn.

Bezug
                                
Bezug
Methodenaufruf Main Methode: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:13 So 08.05.2011
Autor: Marius6d

Ah ok vielen Dank, jetzt gibt er mir den Max Wert richtig aus, aber den Min Wert setzt er immer auf Null, was ist da falsch?


public class Aufgabe1 {

public static int max, min;

public static int max(int[] ganzezahlen){
System.out.print("Max-Methode");
System.out.println();
System.out.println();


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
    }



return max;

}


public static int min(int[] ganzezahlen){

System.out.print("Min-Methode");
System.out.println();
System.out.println();

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



return min;

}


public static void main(String[] args) {

System.out.print("Main-Methode");
System.out.println();
System.out.println();

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.
System.out.println(ganzezahlen[i]);




}

int a = max(ganzezahlen);
int b = min(ganzezahlen);
System.out.println();

System.out.println(a);
System.out.println(b);







}


}

Bezug
                                        
Bezug
Methodenaufruf Main Methode: Antwort
Status: (Antwort) fertig Status 
Datum: 17:19 So 08.05.2011
Autor: sailent

da du positive Zahlen generierst und das min beim initialisieren auf 0 gesetzt wird, keine keine von dir generierte Zahl kleiner sein.

eine Lösung wäre wohl vor der for-schleife in der Min-Methode das min auf 1000 zu  setzen : min = 1000;



Bezug
                                                
Bezug
Methodenaufruf Main Methode: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:53 So 08.05.2011
Autor: frille

Noch schönerEeleganter wäre es jedoch den min-Wert auf das Erste Element des Arrays zu setzen, bevor man in die for-Schleife geht. Dann steht dort ein realistischer Wert und kein Mondwert ;)
min = zahlenarray[0]

Bezug
                                                        
Bezug
Methodenaufruf Main Methode: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:22 So 08.05.2011
Autor: Marius6d

Vielen Dank für eure Antworten,

jetzt hat alles geklappt

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


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