Avatar billede kovalt Nybegynder
12. november 2002 - 12:59 Der er 17 kommentarer og
2 løsninger

Objekter i et Array

Hej - hvad er der galt her:

import java.util.ArrayList;

public class items
{
    private ArrayList items = new ArrayList();
    private String description;
    private boolean status;
   
    public items(String description, boolean status)
    {
    this.description = description;
    this.status = status;
    }
   
    Items nøgle = new items("En guldnøgle", false);
    Items bog = new items("En gammel bog", false);
    Items elefantbøsse = new Items("En nasty motherfucker", false);   
   
    public void addItems(items nøgle)
    {
        items.add(nøgle);   
    }

}

meningen er at items skal indholde oplysninger om en beskrivelse af genstanden samt en booloean værdi der beskriver hvorvidt genstanden er samlet op......
Avatar billede kovalt Nybegynder
12. november 2002 - 13:01 #1
fejlen er "Cannot resolve symbol" i linien med Items nøgle når der kompileres
Avatar billede kovalt Nybegynder
12. november 2002 - 13:02 #2
items'ne skal ligges i et array
Avatar billede christian-petersen Nybegynder
12. november 2002 - 13:06 #3
items er med småt i addItems metoden...
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:06 #4
Items skal med lille!
Avatar billede christian-petersen Nybegynder
12. november 2002 - 13:06 #5
Omvendt kan jeg se... Forkert linie.. Det er med stort i stedet for småt...
Avatar billede kovalt Nybegynder
12. november 2002 - 13:07 #6
det giver samme fejl... koden ser nu sådan her ud:

import java.util.ArrayList;

public class items
{
    private ArrayList items = new ArrayList();
    private String description;
    private boolean status;
   
    public items(String description, boolean status)
    {
    this.description = description;
    this.status = status;
    }
   
    Items nøgle = new items("En guldnøgle", false);
    Items bog = new items("En gammel bog", false);
    Items elefantbøsse = new Items("En nasty motherfucker", false);   
   
    public void additems(items nøgle)
    {
        items.add(nøgle);   
    }

}
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:07 #7
=er med lille
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:08 #8
ret Items nøgle = new items("En guldnøgle", false);
til Items nøgle = new Items("En guldnøgle", false);
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:08 #9
og det samme for bog..
Avatar billede christian-petersen Nybegynder
12. november 2002 - 13:09 #10
Klasse navnet er også med småt... Kort sagt skal du kalde Items på nøjagtig samme måde ALLE steder...
Avatar billede kovalt Nybegynder
12. november 2002 - 13:10 #11
Det giver det samme...... koden ser sådan her ud nu......

import java.util.ArrayList;

public class items
{
    private ArrayList items = new ArrayList();
    private String description;
    private boolean status;
   
    public items(String description, boolean status)
    {
    this.description = description;
    this.status = status;
    }
   
    Items nøgle = new Items("En guldnøgle", false);
    Items bog = new Items("En gammel bog", false);
    Items elefantbøsse = new Items("En nasty motherfucker", false);   
   
    public void addItems(items Items)
    {
        items.add(nøgle);   
    }

}
Avatar billede christian-petersen Nybegynder
12. november 2002 - 13:11 #12
Du kalder det stadig ikke på samme måde... Du erklærer klassen som items, men prøver at lave objekter af typen Items...
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:12 #13
Klassen og constructor skal også med stort.
Er det ikke lidt underligt at give klassen ansvaret for at instantiere sig selv!?
Avatar billede kovalt Nybegynder
12. november 2002 - 13:15 #14
Nu kommer den med fejl i ites.add(Items);

import java.util.ArrayList;

public class Items
{
    private ArrayList Items = new ArrayList();
    private String description;
    private boolean status;
   
    public Items(String description, boolean status)
    {
    this.description = description;
    this.status = status;
    }
   
    Items nøgle = new Items("En guldnøgle", false);
    Items bog = new Items("En gammel bog", false);
    Items elefantbøsse = new Items("En nasty motherfucker", false);   
   
    public void addItems(Items Items)
    {
        Items.add(Items);
    }

}
Avatar billede christian-petersen Nybegynder
12. november 2002 - 13:17 #15
Din variable kan ikke hedde det samme som klassen.. Prøv f.eks.
private ArrayList items = new ArrayList();

public void addItems(Items i){
  items.add(i);
}

Tror du ville kunne komme langt med en begynder tutorial... Findes mange, f.eks. på java.sun.com
Avatar billede kovalt Nybegynder
12. november 2002 - 13:17 #16
Det skal måske lige siges at vi er monster novices og at det som et led i en skoleopgave.......

klassen er en del af et spil, hvor der er nødvendigt for os at vide hvilke genstande en given spiller har samlet op (værdien false) og hvilke genstande der stadig ligger rundt om i spiller (true)......

Tanken var sådan set at initialisere alle tinge i denne klasse for derefter at ændre boolean værdien efterhånden som spillet skrider frem og spiller derigennem samler ting op,..

Bør det gøres på en helt anden måde???????
Avatar billede kovalt Nybegynder
12. november 2002 - 13:19 #17
det kan godt være jeg skulle kigge lidt på det :-)
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:20 #18
Du bunder nok dele hele din applikation op i grænseflade/funktionslag/model.
Se evt. OOA&D af lars mathiassen m.fl.
Lav en handler, der har ansvaret for at oprette Items.
Avatar billede magoo20000 Nybegynder
12. november 2002 - 13:30 #19
Dine Items er en del af dit modellag. Det er noget du ønsker at gemme info. om.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester