Quero alterar o valor do atributo “mensagem” neste método mas não sei como proceder. Alguma sugestão?
public void enviarMsg()
{
if(lista.isEmpty()) JOptionPane.showMessageDialog(null, "Lista vazia.","", 2);
for(Amigo ami: lista)
{
String nome = JOptionPane.showInputDialog("Enviar mensagem para: ");
//Procura, na lista, nome digitado
if(ami.getNome().equals(nome))
{
String msg = JOptionPane.showInputDialog("Mensagem: ");
JOptionPane.showMessageDialog(null, "Mensagem enviada para " + ami.getNome());
//ALTERAR VALOR DO ATRIBUTO "MENSAGEM"
}
}
}
Atributo mensagem?
Seja mais especifico!
Estou desenvolvendo uma espécie de rede social onde tenho que alterar o valor do atributo mensagem com o método “enviaMsg()”
Realmente fiquei mais na duvida!
Eu imagimo que vc tem uma classe Amigo.
E essa classe tem um atributo ‘mensagem’. Que pode ser uma string para simplificar as coisas. digamos q pra isso vc tenha um metodo setMensagem bem simples, algo como
public void setMensagem ( String mensagem ) { this.mensagem = mensagem ; }
o que vc deveria fazer é:
1- ler o nome do amigo antes do LOOP
2- ao encontrar o amigo, vc faz amigo.setMensagem( … ) e interrompe o loop
3- se nao encontrar faz algo, sei la.
Segue o código completo:
import java.util.*;
import javax.swing.*;
public class Rede
{
private ArrayList<Amigo> lista;
private Amigo amigo;
private String nome, sexo, mensagem;
private int idade;
public Rede()
{
lista = new ArrayList<Amigo>();
}
public void menu()
{
int opcao = Integer.parseInt(JOptionPane.showInputDialog("Amizades: " + lista.size() + "\n\nO que deseja fazer? \n\n1) Adicionar Amigo \n2) Bloquear Amigo \n3) Procurar Amigo \n4) Enviar Mensagem \n5) Lista (Velhos) \n6) Sair"));
if(opcao > 0 || opcao < 6)
{
switch (opcao)
{
case 1: adicionarAmigo(); break;
case 2: bloquearAmigo(); break;
case 3: procurarAmigo(); break;
case 4: enviarMsg(); break;
case 5: listaVelhos(); break;
case 6: sair(); break;
}
}
//Loop até ser digitado algum número
while (opcao > 0 && opcao < 6)
{
menu();
}
}
public void adicionarAmigo()
{
String nome = JOptionPane.showInputDialog("Insira o nome: ");
int idade = Integer.parseInt(JOptionPane.showInputDialog("Insira a idade: "));
String sexo = JOptionPane.showInputDialog("Insira o sexo: ", "M ou F");
String mensagem = JOptionPane.showInputDialog("Insira a mensagem: ");
Amigo amigo = new Amigo(nome, sexo, mensagem, idade);
//adiciona "Amigo" no ArrayList
lista.add(amigo);
JOptionPane.showMessageDialog(null, "Amigo(a) " + "\"" + nome + "\" adicionado!" +
"\nAmigos: " + lista.size());
}
public void listaAmigos()
{
//Percorre o ArrayList
for(Amigo amigo: lista)
{
JOptionPane.showMessageDialog(null, "Nome: " + amigo.getNome()+
"\nIdade: " + amigo.getIdade()+
"\nSexo: " + amigo.getSexo());
}
if(lista.isEmpty()) JOptionPane.showMessageDialog(null, "Lista vazia.", "", 2);
}
public void bloquearAmigo()
{
if(lista.isEmpty()) JOptionPane.showMessageDialog(null, "Lista vazia.", "", 2);
for(int i = 0; i<lista.size(); i++)
{
String nome = JOptionPane.showInputDialog("Insira o nome do amigo(a) a ser excluído(a): ");
//Procura, na lista, amigo a ser bloqueado
if(lista.get(i).getNome().equals(nome))
{
//Remove amigo da lista
lista.remove(i);
JOptionPane.showMessageDialog(null, "Amigo(a) " + "\"" + nome + "\" excluído(a)!" +
"\nAmigos: " + lista.size());
}
}
}
public void procurarAmigo()
{
if(lista.isEmpty()) JOptionPane.showMessageDialog(null, "Lista vazia.","", 2);
//Percorre o ArrayList
for(Amigo ami: lista)
{
String nome = JOptionPane.showInputDialog("Insira o nome do amigo(a): ");
//Procura, na lista, nome digitado
if(ami.getNome().equals(nome))
{
JOptionPane.showMessageDialog(null, "Amigo: " + ami.getNome() +
"\nIdade: " + ami.getIdade()+
"\nSexo: " + ami.getSexo()+
"\nMensagem: " + ami.getMensagem());
}
else
{
JOptionPane.showMessageDialog(null, "\"" + nome + "\" não está na sua lista de amigos.");
}
}
}
public void enviarMsg()
{
if(lista.isEmpty()) JOptionPane.showMessageDialog(null, "Lista vazia.","", 2);
for(Amigo ami: lista)
{
String nome = JOptionPane.showInputDialog("Enviar mensagem para: ");
//Procura, na lista, nome digitado
if(ami.getNome().equals(nome))
{
String msg = JOptionPane.showInputDialog("Mensagem: ");
JOptionPane.showMessageDialog(null, "Mensagem enviada para " + ami.getNome());
//ALTERAR VALOR DO ATRIBUTO "MENSAGEM"
}
}
}
public void listaVelhos()
{
if(lista.isEmpty()) JOptionPane.showMessageDialog(null, "Lista vazia.", "", 2);
else
{
for(Amigos ami: lista)
{
}
}
}
public void sair()
{
JOptionPane.showMessageDialog(null, "Você está sendo deslogado!");
System.exit(0);
}
}