kleines Array-Problem

klofisch

Mitglied
Hallo,..

ich habe ein kleines Problem mit meinem Array. Netbeans gibt mir immer die Meldung:

Code:
incompatible types required: double[] found:    double

Java:
    public void testTabResult() {
        double[][][] testValuesPercentWorth = {
            {1000.0,20.0,200.0},
            {1200.0,10.0,120.0}
        };


        for (int indexValue = 0; indexValue < testValuesPercentWorth.length; indexValue++) {
            for (int indexPercent = 0; indexPercent < testValuesPercentWorth[indexValue].length; indexPercent++) {
                for (int indexWorth = 0; indexWorth < testValuesPercentWorth[indexPercent][indexPercent].length; indexWorth++) {

                    System.out.println((testValuesPercentWorth[indexValue] + " " + testValuesPercentWorth[indexPercent] + " " + testValuesPercentWorth[indexWorth] + "=" + "result"));

                }
            }
        }
    }

Woran liegt es?

Danke
Peter
 
Java:
double[][][] testValuesPercentWorth = {
            {1000.0,20.0,200.0},
            {1200.0,10.0,120.0}
        };
Du deklarierst ein 3D Array, möchtest es aber nur mit 2D Werten füllen.

So klappts:
Java:
double[][] testValuesPercentWorth = {
            {1000.0,20.0,200.0},
            {1200.0,10.0,120.0}
        };
 
Du deklarierst ein 3d array, versuchst aber ihm einen 2d array zuzuweisen.
Entweder nimmst du
Code:
double[][]
oder machst:
Java:
double[][][] testValuesPercentWorth = {{{1000.0},{20.0,200.0}},
            {{1200.0,10.0},{120.0}}};
 
Vielen Dank für die schnellen Antworten, welche zumindest die Fehlermeldung verschwinden lies.
Jedoch bin ich mir jetzt nicht mehr so sicher wie ich damit weiter machen.
Ich beschäftige mich gerade mit Unittests und wollte halt nicht für jeden Testfall eine Methode schreiben, sondern lieder per Arrays eine Methode mehrere Varianten prüfen.

DIe Methode welche hier sollte sollte den Basiswert (2000 vom ersten Array) und den Prozentsatz (20%) an die zu testende Klasse übergeben und dann den Rückgabewert mit jeweils dritten Wert eines Arrays vergleich.

Jetzt fehlt mir die Idee, wie ich mit euren Vorschlägen den Vergleichswert aus dem Array bekomme.
 
Dann brauchst du ein 2d array, so wie EikeB geschrieben hat.
Dann wäre
Code:
testValuesPercentWorth[0]
- deine Zahl,
Code:
testValuesPercentWorth[1]
- Prozentsatz usw.

Allerdins wenn du JUnit tests machst:
Es gibt schon die Möglichkeit parametrisierte Tests durchzuführen. Da müsstest du eine statische Klasse mit "@Parameters"-Aanotation erstellen, die eine Collection zurückwirft und dazu noch einen Konstruktor für deinen Test. (so als grobe Beschreibung)
 
Danke für den Hinweis mit den Annotation. Das kannte ich von PHP schon, nur hatte ich zu Java da erstmal nicht viel gefunden. Werd mich da mal belesen. Hast du da vielleicht Links zu?
 

Neue Themen


Zurück
Oben