Saber programar não é só saber a sintaxe da linguagem, isso é um fato!
Uma coisa que reparei no fórum que varias vezes as pessoas se engancha na lógica… Quem nunca se enganchou na lógica né?!
Mais a única forma de melhorar a lógica é praticando… concorda?
Então criei esse tópico com intenção de ajudar as pessoas a trabalhar com lógica, fazendo sua cabeça pensar… creio que isso poderar ajudar bastante futuramente…
Mais para isso dá certo todos tem que participar, postando desafios para para as pessoas que frequentar o tópico fazer… mais claro tem que está disposto a acompanhar os tópicos e ajudando nas duvidas…
Como isso acho que todos vão ganhar um pouco de conhecimento a mais… Tanto em lógica quando na sintaxe…
Espero que gostem da ideia e participem… =D
Aqui vai meu desafio:
O programa vai " ler " o numero 1 e 2.
Quando for digitado o numero 1 o programa terá que:
Ler um nº binário(usar String para ler o nº) e escrever seu valor em decimal.
EX: “1110” -> 14
Quando for digitado o numero 2 o programa terá que:
Ler um nº decimal e escrever seu valor em binário(usar String para escrever o nº)
EX: 14 -> “1110”
importjavax.swing.JOptionPane;publicclassConversor{publicstaticvoidmain(String[]args){intopc=1;while(opc!=0){try{Stringaux;opc=Integer.parseInt(JOptionPane.showInputDialog(null,"Entre com a opção:\n1 - Binário para decimal\n2 - Decimal para binário\n0 - para sair"));switch(opc){case1:aux=JOptionPane.showInputDialog(null,"Entre com o binário");if(aux.matches("^[0-1]*$")){JOptionPane.showMessageDialog(null,Integer.parseInt(aux,2));}else{JOptionPane.showMessageDialog(null,"Entrada inválida");}break;case2:intaux2=Integer.parseInt(JOptionPane.showInputDialog(null,"Entre com o decimal"));JOptionPane.showMessageDialog(null,Integer.toBinaryString(aux2));default:break;}}catch(NumberFormatExceptione){e.printStackTrace();}}}}
Sim concordo… Mesmo sendo assim 1 respondeu… E ninguém colocou novos desafios…
Vlw pela sugestão…
Vingdel
Eu fiz assim, puxei mais pela lógica e conhecimento de como é a conversão:
importjava.util.Scanner;publicclassBindec{staticScannerentrada=newScanner(System.in);publicstaticvoidmain(String[]args){System.out.print("1: bin -> dec\n2: dec -> bin\n\nOpcao: ");intoption=entrada.nextInt();switch(option){case(1):System.out.print("Digite um numero binario: ");System.out.println(bd(entrada.next()));break;case(2):System.out.print("Digite um numero decimal: ");System.out.println(db(entrada.nextInt()));break;}}publicstaticintbd(Stringbin){intdec=0,aux;for(inti=0;i<bin.length();i++){aux=Integer.parseInt(bin.substring(i,i+1));if(aux==1)dec+=Math.pow(2,bin.length()-1-i);}returndec;}publicstaticStringdb(intdec){Stringbin="";intresto;do{resto=dec%2;dec=dec/2;bin=resto+bin;}while(dec!=0);returnbin;}}
Mas nunca mais faço assim depois que vi no código do danilovicente que o java faz isso por mim... hehehe
Abraço!
rafael.luc
Aqui um desafio, um objeto chamado “valor” deve receber tanto dados boolean, int e String e montar o final de uma ArrayList.
Ficaria assim:
id(int) - função(int) - valor(boolean, int ou String)
Quem define o tipo de dado e a função, função 1 para boolean, função 2 para int e função 3 para String. Não vale atribuir 3 nomes diferentes para “valor” como valor1, valor2 e valor3, deve-se chamar apenas valor.
Boa sorte
D
danilovicente
Vingdel:
Eu fiz assim, puxei mais pela lógica e conhecimento de como é a conversão:
importjava.util.Scanner;publicclassBindec{staticScannerentrada=newScanner(System.in);publicstaticvoidmain(String[]args){System.out.print("1: bin -> dec\n2: dec -> bin\n\nOpcao: ");intoption=entrada.nextInt();switch(option){case(1):System.out.print("Digite um numero binario: ");System.out.println(bd(entrada.next()));break;case(2):System.out.print("Digite um numero decimal: ");System.out.println(db(entrada.nextInt()));break;}}publicstaticintbd(Stringbin){intdec=0,aux;for(inti=0;i<bin.length();i++){aux=Integer.parseInt(bin.substring(i,i+1));if(aux==1)dec+=Math.pow(2,bin.length()-1-i);}returndec;}publicstaticStringdb(intdec){Stringbin="";intresto;do{resto=dec%2;dec=dec/2;bin=resto+bin;}while(dec!=0);returnbin;}}
Mas nunca mais faço assim depois que vi no código do danilovicente que o java faz isso por mim... hehehe
Abraço!
HAHA o java nos acostuma muito mal né hsahush lembro quando estava começando fiz isso em C.
D
danilovicente
rafael.luc:
Aqui um desafio, um objeto chamado “valor” deve receber tanto dados boolean, int e String e montar o final de uma ArrayList.
Ficaria assim:
id(int) - função(int) - valor(boolean, int ou String)
Quem define o tipo de dado e a função, função 1 para boolean, função 2 para int e função 3 para String. Não vale atribuir 3 nomes diferentes para “valor” como valor1, valor2 e valor3, deve-se chamar apenas valor.
Boa sorte
Você poderia ser um pouco mais claro no seu desafio pois ficou um pouco confuso.
Aqui um desafio, um objeto chamado “valor” deve receber tanto dados boolean, int e String e montar o final de uma ArrayList.
Ficaria assim:
id(int) - função(int) - valor(boolean, int ou String)
Quem define o tipo de dado e a função, função 1 para boolean, função 2 para int e função 3 para String. Não vale atribuir 3 nomes diferentes para “valor” como valor1, valor2 e valor3, deve-se chamar apenas valor.
Boa sorte
Você poderia ser um pouco mais claro no seu desafio pois ficou um pouco confuso.
O id seria o índice, a função define de que tipo sera o valor, os dados ficariam assim:
Aqui um desafio, um objeto chamado “valor” deve receber tanto dados boolean, int e String e montar o final de uma ArrayList.
Ficaria assim:
id(int) - função(int) - valor(boolean, int ou String)
Quem define o tipo de dado e a função, função 1 para boolean, função 2 para int e função 3 para String. Não vale atribuir 3 nomes diferentes para “valor” como valor1, valor2 e valor3, deve-se chamar apenas valor.
Boa sorte
rafael.luc, boa tarde!
Comédia você, transformou sua dificuldade em um desafio para o pessoal resolver… HAHAHAHA
Dá uma olhada no seu tópico lá que dei uma resposta, acho que vai te ajudar.
Abraço!
rafael.luc
Vingdel:
rafael.luc, boa tarde!
Comédia você, transformou sua dificuldade em um desafio para o pessoal resolver... HAHAHAHA
Dá uma olhada no seu tópico lá que dei uma resposta, acho que vai te ajudar.
Abraço!
Não, embora seja no programa que estou adicionando um script, foi de la que eu tirei pois não sei como foi feito.