Gå til innhold

Problemer med parameteroverføring og enum


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet (endret)

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

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...