Gå til innhold

Kan noen hjelpe oss med et problem med main-metoden vår?


Anbefalte innlegg

Hei!
Holder på med grunnkurs i programmering og sitter litt fast på en oppgave. Vi holder på å lage et enkelt rollespill, og dette er mainmetoden vår.

Får opp illegal start of expression på :
FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>);

 

Her er resten av koden i samme klasse:

 

import java.util.ArrayList;

/**

* Starts the game - creates a player and three items, adds
* the items to players inventory, and prints out the information
* about player.
* Adds the opponents to an ArrayList
* @param args
*/
public static void main(String[] args) {
Player player1 = new Player("Billy", "Thief", 50, 100, 25);
Item item1 = new Item("Band-aid", "Repairs wounds", 40, 8, "au", true);
Item item2 = new Item("Knife", "A small but sharp blade", 10, 1, "cuts", false);
Item item3 = new Item("Colt .45", "A fine six-shot revolver", 50, 3, "shoots", false);
player1.addItem(item1);
player1.addItem(item2);
player1.addItem(item3);
player1.toString();
Opponent opponent1 = new Opponent("Magne", "Cowboy", 20, 100);
Opponent opponent2 = new Opponent("Søta", "Sweetheart", 10, 100);
Opponent opponent3 = new Opponent("Muffin", "Dachshund", 1, 100);
FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>);
//FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>);
}
}
Er det noen som ser noe som er galt? Har ArrayList til opponent i en battle-klasse.
Lenke til kommentar
Videoannonse
Annonse

Det kan hende du mener:

Opponent opponent1 = new Opponent("Magne", "Cowboy", 20, 100);
Opponent opponent2 = new Opponent("Søta", "Sweetheart", 10, 100);
Opponent opponent3 = new Opponent("Muffin", "Dachshund", 1, 100);
ArrayList <Opponent> enemies = new ArrayList<Opponent>();

enemies.Add(opponent1);
enemies.Add(opponent2);
enemies.Add(opponent3);
 
FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, enemies);

//hvis linjen over ikke kompilerer, kan det hende du egentlig bare vil ha en opponent? Fungerer i så fall denne:?

FieldOfHonor fieldofhonor2 = new FieldOfHonor(player1, opponent1); 
Endret av Enthroner
  • Liker 1
Lenke til kommentar
  • 3 uker senere...

 

Det kan hende du mener:

Opponent opponent1 = new Opponent("Magne", "Cowboy", 20, 100);
Opponent opponent2 = new Opponent("Søta", "Sweetheart", 10, 100);
Opponent opponent3 = new Opponent("Muffin", "Dachshund", 1, 100);
ArrayList <Opponent> enemies = new ArrayList<Opponent>();

enemies.Add(opponent1);
enemies.Add(opponent2);
enemies.Add(opponent3);
 
FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, enemies);

//hvis linjen over ikke kompilerer, kan det hende du egentlig bare vil ha en opponent? Fungerer i så fall denne:?

FieldOfHonor fieldofhonor2 = new FieldOfHonor(player1, opponent1); 

Det Enthroner skriver her gir mer mening, for han sender med en liste. Det som skjer da, er at han sender med en referanse til enemies lista og I FieldOfHonor kan man da jobbe direkte med denne lista og dets data. 

 

Det du (visningsna) har gjort er å sende med typen som argument.

// det er hverken en referanse eller noe liste som blir sendt her

 FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, ArrayList <Opponent, enemies>); 

 

 

//Hvis du skulle ha sendt med en tom liste, kunne du gjort noe lignende dette:

 FieldOfHonor fieldofhonor1 = new FieldOfHonor(player1, new ArrayList <Opponent, enemies>); 

 

Husk nøkkelordet new :)

 

Lykke til 

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

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