LuisMendes330 Posted May 2, 2013 at 08:32 PM Report #505659 Posted May 2, 2013 at 08:32 PM Boas pessoal, Tenho uma ArrayList com objectos com variáves tipo String e double. Eu quero alterar a variável double para todos os objectos da ArrayList. Como posso fazer isso? Já tenho um método set... Obrigado!
HappyHippyHippo Posted May 2, 2013 at 08:38 PM Report #505660 Posted May 2, 2013 at 08:38 PM explica melhor ... tens um arraylist com objectos em que em cada objecto tens um parâmetro String e um double, é isso ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
LuisMendes330 Posted May 2, 2013 at 08:47 PM Author Report #505661 Posted May 2, 2013 at 08:47 PM (edited) É isso. Fica ai o código que já tenho feito... import java.util.ArrayList; /** * * @author Luis */ public class Pais { private String pais; private String continente; private double populacao; private Object p; private Pais copia; public Pais(String nomePais, String cont, double pop) { this.pais=nomePais; this.continente=cont; this.populacao=pop; } public Pais(Pais p) { }//construtor por defeito/ public String getPais() { return pais;} public String getContinente() {return continente;} public double getPopulacao() {return populacao;} public void setPopulacao(double pop) {pop= this.populacao;} public String toString() { String detalhes; detalhes=(String)"País:"+pais+"\n Continente:"+continente+"\n População:"+populacao; return detalhes; } public Pais clone() { Pais p; p=copia.clone(); return p; } } import java.util.ArrayList; import java.util.Iterator; /** * * @author Luis */ public class ListaPaises { private ArrayList<Pais> ListaPaises; private ArrayList<String> ListaPaises1; private ArrayList<String> ListaPaises2; private Pais fichapais; // variável de instância... public ListaPaises() { ListaPaises = new ArrayList(); } public ListaPaises(ListaPaises lpaises) { } /** Número total de países */ public int totalPaises() { return ListaPaises.size(); } /** Número de países de um dado continente */ public int paisesDoContinente(String cont) { int npaises=0; for (int i = 0; i < ListaPaises.size(); i++) { if(ListaPaises.get(i).equals(cont)){ npaises++; } } return npaises; } /** Devolve a ficha de um país de nome dado ou null caso este não exista */ public Pais daPais(String pais) { for (int i = 0; i < ListaPaises.size(); i++) { if(ListaPaises.get(i).equals(pais)){ Pais fichapais=ListaPaises.get(i); } } return fichapais; } /** Lista de nomes de países com população superior à dada */ public ArrayList<String> popSuperiorA(double pop) { ListaPaises1 = new ArrayList(); for (int i = 0; i < ListaPaises.size(); i++) { Pais fichapais1=ListaPaises.get(i); if(fichapais1.getPopulacao()>pop){ ListaPaises1.add(fichapais1.getPais()); } } return ListaPaises1; } /** Total da população de determinado continente */ public double popContinente(String cont) { double total=0; for (int i = 0; i < ListaPaises.size(); i++) { Pais totalpopulaçao=ListaPaises.get(i); if(ListaPaises.get(i).equals(cont)){ total+=totalpopulaçao.getPopulacao(); } } return total; } /** Para cada país da lista parâmetro existente na Lista de Países, actualiza a sua população */ public void alteraLista(ArrayList<Pais> lP) { } } /** Insere uma nova ficha de país na lista */ public void inserePais(Pais p) { ListaPaises.add(p); } } A dúvida tá no método alteraLista... Edited May 2, 2013 at 09:07 PM by LuisMendes330
HappyHippyHippo Posted May 2, 2013 at 10:06 PM Report #505664 Posted May 2, 2013 at 10:06 PM sinceramente, nem vou olhar para o código o que necessitas será o uso desta função : http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#iterator%28%29 com ela consegues fazer a travesia de todos os elementos do array e aplicares a operação que pretendesres IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
LuisMendes330 Posted May 2, 2013 at 10:27 PM Author Report #505669 Posted May 2, 2013 at 10:27 PM Com um ciclo for não o consigo fazer na mesma? Eu não tou é a perceber como dar o valor quero para toda a arraylist.O método recebe a variável lP do tipo ArrayList .Esta parte tá me a confundir ... public void alteraLista(ArrayList<Pais> lP)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now