Avatar billede zetn Nybegynder
10. februar 2007 - 14:22 Der er 3 kommentarer

Objekt oprettelse af TestDriver

Hej, jeg sidder med en opgave hvor det kræver en masse test af flere classer. For at det er muligt at teste, skal jeg først lave en masse objekter, men da det tager sin tid hver gang, vil jeg gerne have en TestDriver der opretter hvis antal objekter.

Min hoved-classe:

public class Bog
{
    private int felt1;
    private String felt2; 

    public Bog(String felt1, int felt2)
    {
      navn = felt2;
      nummer = felt2;
    }

Hvordan får jeg automatisk oprettet fx 2 objekter i classen Bog, hvor jeg på forhånd har defineret felt1 og felt 2 i koden?

public class TestDriver
{
    private Bog nr1;
    private Bog nr2; 

    public void run()
    { 
    ??????     
    }
}

På forhånd tak for hjælpen!
Avatar billede winners79 Nybegynder
10. februar 2007 - 15:56 #1
public class Bog
{
    private int nummer;
    private String navn;

    public Bog(String felt1, int felt2)
    {
      navn = felt2;
      nummer = felt2;
    }

public class TestDriver
{
ArrayList<Bog> boger = new ArrayList<Bog>();

    public void run()
    {
    for (int i = 0; i < 200; i++)
        boger.add(new Bog("" + i, i));
    }
}

Så har du nu en test klasse med en liste af 200 bøger

hvis det kun skal være to bøger:

public class TestDriver
{
    private Bog nr1;
    private Bog nr2;

    public void run()
    {
    n1 = new Bog ("navn1", tal1);
    n2 = new Bog ("navn2", tal2);
    }
}
Avatar billede zetn Nybegynder
10. februar 2007 - 17:49 #2
Hej Winners,

Jeg arbejder i BlueJ og har netop prøvet den metode. Problemet er at der ikke bliver oprettet objekter når den koden bliver kørt. Jeg kan godt få den til at skrive bøgernes navne ud, men selve objektet bliver ikke oprettet.
Avatar billede winners79 Nybegynder
10. februar 2007 - 21:00 #3
Hvad mener du med at objektet ikke blev oprettet?

Jeg har prøvet at lege lidt med BlueJ og lavet dette som ser ud til at virke:


public class Bog
{

    private int nummer;
   
    private String navn;

    public Bog(String navn, int nummmer)
    {
        this.navn = navn;
        this.nummer = nummer;
       
        System.out.println(navn + ", " + nummer);
    }

}

________________________________________________________________________




import java.util.ArrayList;

public class Test
{

public static void Main ()
{


ArrayList<Bog> boger = new ArrayList<Bog>();

    for (int i = 0; i < 200; i++)
        boger.add(new Bog("" + i, i));


}

   
}
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