Gå til innhold

Problemer med parameteroverføring og enum


Anbefalte innlegg

Har en klasse UkeIndex, med en enumliste over ukedagene.

 

Har også en metode "melding" i denne klassen som tar imot et tall (int), og ut fra det skal legge ukedag fra enum i en variabel, og returnere denne.

 

UkeIndex:

public class UkeIndex {

 

public enum Ukedager {Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lordag, Sondag}

 

public String melding(int dag){

if (dag == 0) {

String dagen = Ukedager.Mandag;

return dagen;

}//end if

}//end class

 

 

 

 

 

Og slik ser mainklassen ut på gjeldende område:

 

public static void main(String[] args) {

 

//oppretter scanner for innlesing fra tastatur.

Scanner lexer = new Scanner(System.in);

String m;

//opprettelse av tabeller samt innlesing av antall meldinger

 

int[][] ukeTabell = new int[3][7]; // Deklarasjon og opprettelse.

int antall;

 

// Initialisering av 1. rad

int i = 1;

for ( int j = 0; j<7; j++) {

out.println("Mobil " + i + ":");

String dagsnavn = UkeIndex.melding(j);

out.println(dagsnavn + ":");

antall = lexer.nextInt();

ukeTabell[0][j] = antall;

}//end for

i = 2;

 

 

 

 

 

 

 

 

 

Feilmeldinger:

non-static method melding(int) cannot be referenced from a static context

String dagsnavn = UkeIndex.melding(j);

 

 

incompatible types

found :UkeIndex.Ukedager

required : java.lang.String

String dagen = Ukedager.Mandag;

 

 

 

 

 

Kan noen hjelpe? Har ikke holdt på med java på år og dag, så ikke le av denne elementære feilen :)

 

 

 

 

Edit:

 

Fikk til en hel masse nå :)

 

Har ett siste problem, og det er å kunne kjøre en løkke på "enum", slik at for hver runde skrives ut neste element. Noen som har peiling?

Endret av Pitbullo
Lenke til kommentar
Videoannonse
Annonse

1. Putt alt inn i konstruktoren (har du ikke, så lag en) i stedet for i mainmetoden.

eller

2. Gjør alle metoder og variabler statiske.

 

public class Example {

enum Month {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec }

public static void main(String[] args) {

 

for (Month m : java.util.EnumSet.range(Month.Jun, Month.Aug) )

System.out.println("summer includes: " + m );

}

}

Endret av spøkelse
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...