BlueJ - Array als Paramter einer Methode eingeben

Hallo zusammen!

Ich habe in Java eine Methode zur Berechnung der Summe aller int Werte eines Arrays geschrieben:

public void summe(int[] array){
int summe = 0;
for(int i=0; i<array.length; i++){
summe = summe + array;
}
System.out.println(summe);
}

Jetzt möchte ich die Methode testen in BlueJ. Dafür muss ich natürlich ein Array eingeben. Wie gebe ich jetzt ein Array ein (siehe Bild unten)? Mit {1,2,3,6}?
upload_2019-1-30_7-57-59.png

Egal was ich versuche, es wird mir immer eine Fehlermeldung angezeigt.
 

Anhänge

  • upload_2019-1-30_7-56-38.png
    upload_2019-1-30_7-56-38.png
    112,6 KB · Aufrufe: 325
Schon probiert?

Noch ein Hinweis: wenn Du hier Code postest, bitte in Code-Tags einschließen:
[code=java]
public void x() {
System.out.println("Hello World!");
}
[/code]
wird dann (wenn man es entsprechend eingerückt eingibt) zu
Java:
public void x() {
    System.out.println("Hello World!");
}
 
Ich vermute: new int[]{1,2,3,6}
Noch ein bisschen persönliche Meinung: lass BlueJ sein und benutzt irgendetwas anderes. (Greenfoot auch nicht.) Die Großen IDEs haben vielleicht eine größere Einstiegshürde, aber immerhin weiß man dann was eine main-Methode ist...
 
Moin,
viel entscheidender:
Java:
public void summe( int[] array )
{
     int summe = 0;
     for( int i=0; i<array.length; i++ )
    {
        // summe = summe + array;    FALSCH!!
        // summe = summe + array[i];  Richtig!
        // summe += array[i];          optimiert!
    }
    System.out.println( summe );
}
VG Klaus
 
Mich würde die Antwort auch sehr interessieren ... Kann das vielleicht jemand ergänzen? Ich finde keinen anderen Post, der dieses Problem adressiert.
Vielen Dank
 
Mein Problem ist das, was in der ersten Abbildung oben dargestellt ist.
Ich habe in BlueJ ein Array erzeugt

double [] bmw = new double[10];

und dieses mit einer Methode gefüllt:

public void bmwFuellen()
{
bmw[0] = 93.56;
bmw[1] = 92.45;
bmw[2] = 91.12;
bmw[3] = 91.88;
bmw[4] = 92.05;
bmw[5] = 92.04;
bmw[6] = 93.99;
bmw[7] = 94.55;
bmw[8] = 95.61;
bmw[9] = 95.71;
}

Dann habe ich eine Methode gibMaximum:

public double gibMaximum(double[] werteliste)
{
double max = werteliste[0];
for (int i = 0; i < werteliste.length; i++)
{
if (max < werteliste)
max = werteliste;
}
return max;
}

diese Methode funktioniert im Rahmen einer weiteren Methode ganz perfekt:

public double teste()
{
double [] werte ;
werte = new double [10];
werte[0] = 70.6; werte[1] = 69.6; werte[2] = 69.4;
werte[3] = 69.1; werte[4] = 69.5; werte[5] = 70.2;
werte[6] = 70.6; werte[7] = 71.1; werte[8] = 70.9;
werte[9] = 70.7;
double maximum = gibMaximum ( werte );
return maximum ;
}

wenn ich nun aber die Methode gibMaximum separat in BlueJ aufrufe, erhalte ich das o.g. Eingabefenster. Egal, was ich dort hineinschreibe, ich erhalte immer eine Fehlermeldung:
1624008131320.png
Die Frage ist also, was muss ich in dieses Fenster schreiben, damit der Methode gibMaximum das Array bmw als Parameter korrekt übergeben wird.
Vielen Dank

Sorry, ich bin mit der Formatierung von Code hier nicht ganz klar gekommen ... Ich habe die Datei aktienwerte.java mal angehängt.
 

Anhänge

Hab's herausgefunden!
In BlueJ wird beim Ausführen Klasse Aktienwerte ein Objekt der Klasse aktienwerte erzeugt. Dieses heißt in meinem Beispiel aktienwe1.
Diesen Objektnamen muss man der Angabe des Array voranstellen: aktienwe1.bmw
Dann funktioniert die Methode wie sie soll.
1624008839390.png
 

Zurück
Oben