Passar uma Lista de um método para outro

5 respostas
java
L

Alguém pode me ajudar em como passar uma lista de um metodo para outro metodo?

por exemplo, tenho um metodo de time

public static String times(){
ArrayList<//String> times = new ArrayList<>();

times.add(times1);

times.add(times2);

times.add(times3);

times.add(times4);

return “Primeiro time: “+times.get(0)+”\n”+ “Segundo time: “+times.get(1)+”\n”+ “Terceiro time: “+times.get(2)+”\n”+"Quarto time: "+times.get(3);
}

como eu passo essa lista criada de times para outro metodo?

public static String placar(passo algo como parametro?List time?){
no caso como eu pegaria a lista criada em times e passaria para cá, alguém sabe como me ajudar?

5 Respostas

D

Altere public static String times() para public static ArrayList<String> times(), no return, return times;

Crie um metodo timesToString:

public static String timesToString(ArrayList<String> times) {
    return "Primeiro time: "+times.get(0)+"\n"+ "Segundo time: "+times.get(1)+"\n"+ "Terceiro time: "+times.get(2)+"\n"+"Quarto time: "+times.get(3);
}

depois faça o mesmo para o placar

public static String placar(ArrayList<String> times) {
}

Para passar os valores:

ArrayList<String> timesList = times();

String timesString = timesToString(timesList);
System.out.println(timesString);

String placarString = placar(timesList);
System.out.println(placarString);
L

Valeu Diego, esse metodo do tipo ArrayList me ajudou, consegui fazer o que eu queria.
Abraço

L

Pessoal tenho uma outra duvida com meu método placar,
criei meu método placar

public static ArrayList<//Integer> placarjogo() {

ArrayList placar = new ArrayList<>();

// exemplo

placar.add(Integer.parseInt(JOptionPane.showInputDialog(Informe um placar));

placar.add(Integer.parseInt(JOptionPane.showInputDialog(Informe outro placar));

return placar;
}

dai criei um novo metodo

// exemplo de metodo
public static String exibeResultado(List times, ArrayList result) {

return times.get(0) +" : "+ result.get(0);
}

e mais um exemplo de metodo

publis static String totalPlacar(ArrayList plac){

return Placar 1:+ plac.get(0)+"\n"+

Placar 2:+plac.get(1);

}

agora aqui eu chamo meu metodo no main para mostrar os resultados,

// aqui ele executa meu placarjogo e e eu preencho os campos placar
JOptionPane.showMessageDialog(null, placarjogo());

// aqui ele ainda faz certo, pega o return de times e o return de placar jogos e exibe na tela
JOptionPane.showMessageDialog(null, exibeResultado(times(), placarjogo());

e aqui ao inves de ele pegar o return do meu metodo placarjogo, ele executa de novo o método, eu preencho novamente e depois sim ele pega o return com o novo placar preenchido
JOptionPane.showMessageDialog(null, totalPlacar(placarjogo());

tem como pegar o return do meu metodo placarjogo pela segunda vez sem ter que preencher de novo?
alguem pode me ajudar?

D

Sim, basta chamar uma unica vez o placarJogo, guarde o resultado e depois exiba o conteudo:

// preenche uma vez
ArrayList<String> placar = placarjogo();

// exibe uma vez
JOptionPane.showMessageDialog(null, totalPlacar(placar)); 

// exibe outra vez sem necessidade de preencher novamente
JOptionPane.showMessageDialog(null, totalPlacar(placar)); 

// exibe mais uma vez sem necessidade de preencher novamente
JOptionPane.showMessageDialog(null, totalPlacar(placar));
L

Mais uma vez valeu Diego, eu não tinha pensado nisso.

Criado 25 de março de 2016
Ultima resposta 26 de mar. de 2016
Respostas 5
Participantes 2