Array list

1 resposta
fjucks
package crud;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
            ArrayList <Clientes> cli = new ArrayList<Clientes>();
            ArrayList <Cidades> cid = new ArrayList<Cidades>();
    
        // variaveis e instanciação de objetos
        BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
        Clientes clientes = new Clientes();
        Cidades cidades = new Cidades();
        String nome,cidade;
        int idade,populacao,opcao=0,contador_cidade=0,c;

        do{
             Utilitario.exibirMenu();
             opcao = Utilitario.entradaInt("Escolha uma opção: ");
             switch(opcao){
                 case 1: nome = Utilitario.entradaString("Nome da Cidade: ");
                         populacao = Utilitario.entradaInt("População da Cidade: ");
                         cidades.setNome(nome);
                         cidades.setPopulacao(populacao);
                         cid.add(cidades);
                         contador_cidade++;
                         break;

                 case 2: nome = Utilitario.entradaString("Nome: ");
                         idade = Utilitario.entradaInt("Idade :");
                         cidade = Utilitario.entradaString("Cidade: ");
                         clientes.setNome(nome);
                         clientes.setIdade(idade);
                         clientes.setCidade(cidades);
                           for (Cidades cidade : cid){
                            if(cidade.getNome().equals(cid)){
                                clientes.setCidade(cidades);
                                c = 1;
                                System.out.println("Cidade adicionada com sucesso");
                            }
                        }

                        if (c != 0){
                            System.out.println("Cliente cadastrado com sucesso");
                            cli.add(clientes);
                        }else{
                            System.out.println("Cidade nao cadastrada. Cadastre uma.");
                        }
                        break;



                         break;

                 case 3:


                       
             }
             }while(opcao<9);

             
                            System.out.println("Nome do cliente: " + clientes.getNome());
                            cidades = clientes.getCidade();
                            System.out.println("Cidade: " + cidades.getNome());
                            System.out.println("Idade: " + clientes.getIdade());
                  

    }

}

pessoal, esta dando um erro na linha 43 e 44, fala que nao ha cidade, dai quando mudo da erro?? o que pode ser, ignorem o restante do codigo, pq so estou testando

1 Resposta

Talles_Santana

Linha 10: ArrayList cid = new ArrayList();

Linha 38: for (Cidades cidade : cid){
Linha 39: if(cidade.getNome().equals(cid)) {

Cidade.getNome() retorna uma String. Você está usando o método objetoString.equals() e passando um objeto Cidade como parametro, porém o correto seria passar outra String como parametro.

Tente: cidade.getNome().equals(cid.get(pos).getNome()).

Onde “pos” é um inteiro entre 0 e cid.size(), que representa uma posição do array list. A função get(pos) retorna o objeto da posição “pos”, nesse caso um objeto do tipo “Cidades”. A partir desse objeto você pode utilizar as operações(chamar os métodos) que a classe “Cidades” permite. Assim pode concatenar .getNome() e receber uma String.

Espero ter ajudado. No mais, se possível coloque o erro que o compilador mostra.

Criado 10 de abril de 2010
Ultima resposta 11 de abr. de 2010
Respostas 1
Participantes 2