Toon posts:

[JAVA] Arrays copieren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem met scripten.
In de default class heb ik een array die met een methode (die o.a. Math.random()bevat ) wordt samengesteld.
Nu MOET deze naar een eigen definierde classe. Ik heb al diverse oplossingen geprobeerd maar ik kom en niet uit.

geprobeerd = System.arraycopy()
en
code:
1
2
3
4
public void kopie(int[] rij){
for(int i=0;i<10;i++){
this.rij[i]=rij[i];}
}

(en deze in meerdere varianten)
ik hoop dat er een hele simpele oplossing is

  • DaRKie
  • Registratie: December 2001
  • Laatst online: 20-08 15:40
je wilt dus de array van de ene class naar de andere doorgeven?
moet je gewoon in de class die de array moet krijge een methode like this inbouwen:
setArray(int [] array){
this.array=array;
}
en vanuit de class die de array heeft de andere oproepen dmv class2.setArray(array);
that should do the trick

Verwijderd

Topicstarter
Dit probeer ik de hele tijd al maar de ide zegt dan dat er een nullpointer exeption :r is als de knop ingedrukt wordt die het zwikkie moet kopieren

  • DaRKie
  • Registratie: December 2001
  • Laatst online: 20-08 15:40
dan zal je iets verkeerd gedeclareerd hebben ivm de variabelen
de class die de array ontvangt:
int [] array;
heb je dit zo?

Verwijderd

Topicstarter
de array wordt dedeclareerd met
private int [] array; (in de zelf gedefinieerde classe)

[ Voor 24% gewijzigd door Verwijderd op 08-12-2002 23:20 ]


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 08 December 2002 @ 23:19:
de array wordt dedeclareerd met
private int [] array; (in de zelf gedefinieerde classe)

Geef eens wat code waarin je het aanroept (let op: alleen de relevante code, ingekort zover mogelijk!)

Verwijderd

Als je nu eens zo iets doet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Array {
    int[] array = new int[10];
    public Array() {
        for (int i=0; i<10; ++i) {
            array[i] = (int) (Math.random() * 100);
        }
    }

    public int[] getArray() {
        return array;
    }

    public static void main(String[] args) {
        Array blah = new Array();
        int[] aArray = blah.getArray();
        for (int i=0; i < aArray.length; i++) {
            System.out.println("aArray[" + i + "]=" + aArray[i]);
        }
    }
}


suc6!

Edit: Je zou nog kunnen overwegen om de array als private attribuut te declareren.

[ Voor 11% gewijzigd door Verwijderd op 09-12-2002 12:05 ]

Pagina: 1