-
Posts
19 -
Cadastrado em
-
Última visita
Reputação
11-
XxCableXX alterou sua foto pessoal
-
Java Não consigo mostrar todo resultado do meu código
XxCableXX postou um tópico em Java/Android SDK
Meu professor passou um trabalho sobre compiladores. Ele quer que eu faça um Analisador Léxico. Consegui fazer boa parte do código, mas não consigo mostrar o resultado. Sou iniciante em Java. Tô utilizando o Eclipse. O resultado que o Professor que quer apareça(Com qualquer resultado, não precisa ter uma entrada.) : Exemplo: Expressão: "8 + 8 = 16" Resultado: (O código vai analisar se essa entrada é correta, caso não esteja vai dizer error). Digito: 8 Operador: + Digito: 8 Igualdade: = Digito: 16 Meu código: package lexico; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Lexico { public static void main (String []args) { String code = "59-8=51"; int c = 0; Map<String, String> tokens = new HashMap<>(); tokens.put("[0-9]+", "[Digito:]"); tokens.put("[/+/-]+", "[Operador:]"); tokens.put("[/=]+", "[Igualdade: ]"); while(c < code.length()) { for(Map.Entry<String, String> entry : tokens.entrySet()) { Pattern verificador = Pattern.compile(entry.getKey()); Matcher ve = verificador.matcher(code); if(ve.find() && ve.start() == c) { System.out.println(entry.getValue() + ve.group()); c = c + ve.group().length(); } } } } } Resultado do meu código: (O resultado tem que sair na ordem das expressões). -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray Vdd mano. Valeu -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray Faz mano. Vai gostar. KK -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray É uma plataforma que tem vários exercícios de programação. Nesse caso eu mandei meu código, esses números são os testes que seu código vai passar, para ser aprovado ele tem que está verde todos os testes. adicionado 2 minutos depois @Mateus Fernando @r_Tray Manos valeu pela ajuda, Estou grato. Faço Sistema da Informação Tô no 1º periodo kkk Ainda tô tentando aprender programar kk Obrigado por vcs ter ajudado. -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray @Mateus Fernando Mano kkkkk Funcionou Uhuuu Scanner teclado = new Scanner(System.in); int dias = 0, km = 0; double diaria = 0, kmRodado = 0, diariaSoma = 0, diariaKm = 0, diariaTotal = 0; String formato = "###0.00" ; DecimalFormat d = new DecimalFormat(formato); do{ dias = teclado.nextInt(); } while (dias < 1 || dias > 31); do{ km = teclado.nextInt(); } while (km < 1 || km > 1000); diaria = dias * 30; kmRodado = km * 0.01; diariaSoma = (diaria+kmRodado); diariaKm = diariaSoma * 0.10; diariaTotal = diariaSoma-diariaKm; System.out.println(d.format(diariaTotal)); -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
Fiz outro código utilizando esse forma. Scanner teclado = new Scanner(System.in); int dias = 0, km = 0; double diaria = 0, kmRodado = 0, diariaSoma = 0, diariaKm = 0, diariaTotal = 0; do{ dias = teclado.nextInt(); } while (dias < 1 || dias > 31); do{ km = teclado.nextInt(); } while (km < 1 || km > 1000); diaria = dias * 30; kmRodado = km * 0.01; diariaSoma = (diaria+kmRodado); diariaKm = diariaSoma * 0.10; diariaTotal = diariaSoma-diariaKm; System.out.println(String.format("%.2f", diariaTotal)); } Dá erro adicionado 0 minutos depois adicionado 1 minuto depois adicionado 2 minutos depois @r_Tray Vou tentar aqui -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
É vdd, valeu. No meu não tá mostrando a dica kk -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray também não foi mano -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray Entendi beleza, mas é que parte do colocar uma mensagem para usuário a plataforma não aceita. -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@r_Tray Não é que dá erro, é que ele passa por 30 verificações e na 23 e 30 dá erro, mas não dá um dica. Esse é o código que estou utilizando. Scanner teclado = new Scanner(System.in); DecimalFormat df = new DecimalFormat("0.##"); int dias, km; double diaria, kmRodado, diariaSoma, diariaKm, diariaTotal = 0; String dx = null; do{ dias = teclado.nextInt(); km = teclado.nextInt(); } while ((dias < 1 || dias > 30) && (km < 1 || km >1000)); diaria = dias * 30; kmRodado = km * 0.01; diariaSoma = (diaria+kmRodado); diariaKm = diariaSoma * 0.10; diariaTotal = diariaSoma-diariaKm; dx = df.format(diariaTotal); System.out.println(dx); -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
Ainda continua o mesmo erro @r_Tray -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
@underscore_case beleza, valeu -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX respondeu ao tópico de XxCableXX em Java/Android SDK
beleza Vou testar aqui @Mateus Fernando valeu, tava pensando em usar while, mas fiquei em dúvida @underscore_case valeu pela dica. -
Java Não consigo solucionar uma Questão do The Huxley
XxCableXX postou um tópico em Java/Android SDK
Tô em dúvida em uma questão no the huxley. Ainda sou iniciante, Tô aprendendo sobre java. Tentei Solucionar de duas maneiras, mas não consigo. Sempre dá dois erro, mas não consigo identificar. 1º Código import java.io.*; import java.util.*; import java.util.Scanner; public class HuxleyCode { public static void main(String args[]) { Scanner teclado = new Scanner(System.in); int dias, km; double diaria, kmRodado, diariaSoma, diariaKm, diariaTotal = 0; dias = teclado.nexInt(); km = teclado.nextInt(); if((dias >=1 && dias <= 30) && (km >= 1 && km <= 1000)){ diaria = dias * 30; kmRodado = km * 0.01; diariaSoma = (diaria+kmRodado); diariaKm = diariaSoma * 0.10; diariaTotal = diariaSoma-diariaKm; System.out.format("%.2f \n",diariaTotal); } else{ System.out.format("%.2f \n",diariaTotal); } 2º import java.io.*; import java.util.*; import java.text.DecimalFormat; import java.util.Scanner; public class HuxleyCode { public static void main(String args[]) { Scanner teclado = new Scanner(System.in); int dias, km; double diaria, kmRodado, diariaSoma, diariaKm, diariaTotal = 0; String dx = null; dias = teclado.nextInt(); km = teclado.nextInt(); if((dias >=1 && dias <= 30) && (km >= 1 && km <= 1000)){ diaria = dias * 30; kmRodado = km * 0.01; diariaSoma = (diaria+kmRodado); diariaKm = diariaSoma * 0.10; diariaTotal = diariaSoma-diariaKm; DecimalFormat df = new DecimalFormat("0.##"); dx = df.format(diariaTotal); System.out.println(dx); } else{ System.out.println(dx); } } }
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais