i din klasse test kan du evt lave en funktion void setOperator( "+" ) { ... // tilladte parametre fx: +, -, *, / og så lade en case-sætning i funktionen udregn skelne imellem dem.
Det er dog en tand mere gemmenskueligt hvis du sender operatoren med som parameter (som du også selv er inde på:
public void udregn( char operator ) { switch ( operator ) { case '+': // læg sammen break; case '-': // træk fra break; case '*': // gang break; case '/': // divider break; default: System.out.println( "Ugyldig operator: '" +operator +"'" ); } }
men jeg er lidt usikker, er det den case sætning du ønsker at undgå?
Hvis du vi helt undgå if/case sætninger kan det gøres via reflection, men igen så kommer der et problem med den parameter streng "plus". Den bliver i så fald case sensitiv.
jeg vil lige uddybe mit spørgsmål men et andet eksempel! i koden nedenfor bliver der overfør en String, den kunne hedde "besked" den ville jeg gerne kunne appende til (get) så brugeren bestemte hvad der skulle sorteres efter! så ville jeg slippe for at skulle lave en masse if - sætninger, if (bla.bla getKunde, getKonto osv. osv.)
er det tydeligt hvad jeg håber på at opnå? kan det overhovedet lade sig gøre?
public ArrayList sorteringAfMetode(String metode) Annonce a= (Annonce) arrayListe.get(j); Annonce b= (Annonce) arrayListe.get(min); if ( a.get+metode().compareToIgnoreCase(b.get+metode())<0){ bla.bla... byt plads bla. bla. og mere bla. }
Undskyld mig: linien Class objectClass = object.class; skal selvfølgelig hedde med Class objectClass = object.getClass();
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.