|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
|
array dinamico in java
Salve
nel seguente programma java ho realizzato una classe esempio che ha lo scopo di gestire un array dinamico. In pratica ogni volta che viene chiamato il metodo add l' array dovrebbe aumentare di un elemento. //file esempio.java class esempio{ public int[] i; public int length; esempio(int k){ i=new int[1]; i[0]=k; length=1; } public void add(int k){ length=length+1; int[] bubble; bubble=i; int[] i=new int[length]; for(int j=0;j<(length-2);j=j+1){ i[j]=bubble[j]; } i[length-1]=k; } } // file prova.java class prova{ public static void main(String[] args){ esempio a=new esempio(1); a.add(1); System.out.println(a.i[0]); a.add(1); System.out.println(a.i[1]); } } Il programma viene compilato corretamente tuttavia l'array non viene incrementato durante la chiamata del metodo add. Dov'è il problema? |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Re: array dinamico in java
Quote:
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Il problema è che dichiari nel metodo add una variabile locale che oscura il campo i:
int[] i=new int[length]; dovresti fare semplicemente i=new int[length];
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:09.