Preciso fazer um Hashmap, que pegue um Inteiro e retorne uma string, de forma que ele faça o seguinte:
12548
1== “um”;
2== “Dois”;
3== “Tres”;
Etc…
Retorne uma string para cada numero inteiro diferente…
Map integer string
5 Respostas
@Misael_Johanson É simples de se fazer porém é trabalhoso para se criar:
public class Teste {
public static void main(String[] args) {
new TesteLeitura().ler(12548);
}
}
public class SplitNumero{
private MapNumerico map;
public SplitNumero(){
map = new MapNumerico();
}
public void ler(Integer numero){
char[] numeros = numero.toString().toCharArray();
for (char c : numeros) {
System.out.println(map.getNumeroExtenso(Integer.parseInt(String.valueOf(c))));
}
}
}
public class MapNumerico{
private Map<Integer, String> map;
public MapNumerico(){
map = new HashMap();
montarMap();
}
private void montarMap(){
map.put(0, "Zero");
map.put(1, "Um");
map.put(2, "Dois");
map.put(3, "Três");
map.put(4, "Quatro");
map.put(5, "Cinco");
map.put(6, "Seis");
map.put(7, "Sete");
map.put(8, "Oito");
map.put(9, "Nove");
}
public String getNumeroExtenso(Integer numero){
return map.get(numero);
}
}
não consegui fazer assim, alguém pode me ajudar, mostrando uma maneira mais simples… digo uma maneira que eu possa fazer sem fazer tantas classes…
Amigo, você pode reduzir para até duas classes (MapNumero e Main), porém se fizer tudo dentro da classe que tem o método main o código não vai compilar.
Acho que de outra maneira fica até mais complicado.
O que você não está entendendo?
Veja o que estou fazendo e como, parece muito com o que escreveu… mas estou fazendo assim e o que estou precisando eh de transcrever esse programa para o numérico, sem que dê null como saída!?
public static void main(String[] args) {
Map<Character, String> map = new HashMap<>();
map.put('A',"Ah");
map.put('a',"Ah");
map.put('B',"Bê");
map.put('b',"Bê");
map.put('C',"Cê");
map.put('c',"Cê");
map.put('D',"Dê");
map.put('d',"Dê");
map.put('E',"Ê");
map.put('e',"Ê");
map.put('F',"Efe");
map.put('f',"Efe");
System.out.println("Digite um texto:");
Scanner kipo =new Scanner(System.in);
String palavra = kipo.nextLine();
for (char letra : palavra.toCharArray()) {
System.out.print(map.get(letra));
}
}
}
Espero que alguém possa ajuda… quando o Villagram me ajudou, vi que os comandos parecem muito com os que usei, mas eh meio difícil de dizer o que vou precisar, como vou e qual o modo de usar… eh meio complicado, mas simplificando eu preciso mesmo eh aprender a trocar nesse caso o Caractere por INTEGER “Integer”, no caso sem que o resultado fique dando null!