Ajuda para fazer um programa em java hashmap não estou conseguindo alguem pode me ajudar?

10 respostas
java
L
  • Primeira parte da atividade

Crie um programa em java que armazene em uma tabela com HashMap o nome dos estados brasileiros.

Utilize como chave a sigla do estado (SC, PR, RG, SP, MG, …).

Mostre na tela o conteúdo da tabela utilizando os métodos get() e KeySet().

Valide se a ordem de impressão dos dados é a mesma em que estes foram inseridos na tabela. O que podemos alterar para que seja exibido em ordem?

Insira um novo registro, com a chave “SC” e o valor (nome) “Santa e Bela Catarina”, re-exiba na tela o conteúdo da tabela utilizando os métodos get() e KeySet(). “SC” foi exibida 2 vezes?

Insira um novo registro, com a chave XX e o nome do estado null, o sistema aceitou a inserção?

Insira um novo registro, com a chave null e o nome do estado Teste, o sistema aceitou a inserção?

Utilize o método values() para verificar se todos os pares key-value (chave-valor) são exibidos.

— Fim da primeira parte da atividade

— Segunda parte da atividade

Desenvolva um novo programa java, com o mesmo objetivo do programa da primeira parte, mas agora, ao invés de salvar o nome do estado, crie uma TAD Estado com os parâmetros de descricao e numHabitantes, então armazene como chave da HashMap a UF e como value o objeto instanciando a classe Estado.

10 Respostas

J

Acho que ninguém aqui no GUJ vai fazer para você o exercício.

Mais fácil você começar e vir tirar suas dúvidas postando os trechos de códigos em que está com dificuldades.

L

ok

L

achei que pudessem me ajudar
não estou fazendo nenhum curso no genero somente curiosidade mas se não podem me ajudar ok

E

Mostre o que você já fez

L

eu não fiz nada pois como ja disse não estou fazendo nenhum curso do genero no entanto não sei nada sobre programação somente peguei um post da internet e coloquei aqui soa titulo de curiosidade mesmo.

J
L

obrigado

L

do pouco que li este codigo aqui abaixo e parecido com o enunciado que postei acima?
para fazer o codigo da parte escrita acima é desta forma que devo fazer?

public static void main(String[] args) {
    // TODO code application logic here
    
    Map<String, String> disciplinas = new HashMap();
    
    disciplinas.put("DADII","Anderson");
    disciplinas.put("DADI","Kobs");
    disciplinas.put("BAN","Vivian");
    disciplinas.put("PROGII","Tamanini");
    disciplinas.put("PROGIII","Carlos");
    
    System.out.println("Todos os valores: " + disciplinas.values());
    
    String chaveBusca = "BAN";
    
    if(disciplinas.containsKey(chaveBusca)){
        String professor = disciplinas.get(chaveBusca);
        System.out.println("O professor(a) é: " + professor);
    }else{
        System.out.println("Não achou...");
    }
    
    for(String disciplina : disciplinas.keySet()){
        String professorAux = disciplinas.get(disciplina);
        System.out.println("O professor(a) de " + disciplina + " é: " + professorAux);
    }
    
}

}

A

Como estou aprendendo achei interessante a proposta.

Olha abaixo as constatações:

package crisis;

import java.util.HashMap;

import java.util.Map;

public class Crisis {

public static void main(String[] args) {

    Map<String, String> estados = new HashMap<>();
    //armazene em uma tabela com HashMap o nome dos estados brasileiros.
    estados.putIfAbsent("SE", "Sergipe");//só adiciona chaves inéditas
    estados.put("AL", "Alagoas");//adiciona chave e valor, ou altera o valor associado à chave(caso esta seja pré-existente)
    estados.putIfAbsent("SP", "São Paulo");
    estados.putIfAbsent("RJ", "Rio de Janeiro");
    //Mostre na tela o conteúdo da tabela utilizando os métodos get() e KeySet().
    visualisar(estados);
    /*Valide se a ordem de impressão dos dados é a mesma em que estes foram inseridos na tabela. 
    O que podemos alterar para que seja exibido em ordem?*/
    //R: O hashMap natural não assegura a ordem de inserção, opção, implementar o Comparator ou usar o LinkedHashMap

    /*Insira um novo registro, com a chave "SC" e o valor (nome) "Santa e Bela Catarina",
    re-exiba na tela o conteúdo da tabela utilizando os métodos get() e KeySet(). "SC" foi exibida 2 vezes?*/
    //R: Map não aceita chaves duplicadas, por isso SC só será exibida uma vez
    estados.put("SC", "Bela Santa Catarina");// soa mais agradável
    visualisar(estados);
    //Insira um novo registro, com a chave XX e o nome do estado null, o sistema aceitou a inserção?
    //R: o valor pode ser null
    estados.put("XX", null);
    //Insira um novo registro, com a chave null e o nome do estado Teste, o sistema aceitou a inserção?
    //R: a chave pode ser null, contudo a comparação de null com outro valor deve ser bem pensada para evitar futuramente problemas com nullPointerException
    estados.put(null, "Teste");
    visualisar(estados);
    //Utilize o método values() para verificar se todos os pares key-value (chave-valor) são exibidos.
    //R: values só retorna os valores que estão relacionados com as chaves
    estados.values().forEach(System.out::println);
    //a parte dois é de outra relevância por isso sem necessidade demonstração

}

private static void visualisar(Map<String, String> estados) {
    for (String chave : estados.keySet()) {
        System.out.println(chave + ": " + estados.get(chave));
    }
    System.out.println("\n==========================\n");
}

}

A

Acho isso meio estranho.
Tudo o que fazemos envolve lógica.

Ex.:

Algoritimo quero sanar dúvida:

1 -  Vi um post;

2 - Não sei programar;

3 - pensar numa uma solução;

4 - procurar quem sabe;

5 - postar o que vi no guj;

6 - aguardar resposta;

7 - validar resposta.

8 -

se satisfatória então

solução encontrada;

senao

se pode esperar entao

volte para instrucao da linha 6

senao

escolha:

1-desistir da solucao

interrompa a(s) escolha(s) em seguida

2-encontrar uma solução sozinho

interrompa a(s) escolha(s) em seguida

3-procurar outras fontes

fimescolha

fimse

fimse

fimalgoritimo

Neste ponto voce encontrou uma solução para a sua postagem ou para a sua necessidade em um conjunto finito de instruções, onde a ordem de execução é fundamental.

Pensar nos empecilhos e nas soluções faz parte de programar, faz parte da vida.
Por isso acho estranho alguém que não sabe programar.

Programe seu passeio à praia,o que fazer e em que ordem.
Quer algo mais perigoso do que programar sua saida de casa ao trabalho hoje em dia, principalmente nas grandes cidades.

Agora saber uma linguagem de programação é outra história.
Ex.: é como aprender outro idioma, só que para máquinas, pois a linguagem é uma forma de comunicação e a lógica permite encontrar soluções.

Para pensar igual, as vezes pensamos diferente.

Criado 21 de maio de 2017
Ultima resposta 21 de mai. de 2017
Respostas 10
Participantes 5