Ir ao conteúdo
  • Cadastre-se

XxCableXX

Membro Júnior
  • Posts

    19
  • Cadastrado em

  • Última visita

Tudo que XxCableXX postou

  1. 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).
  2. @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.
  3. @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));
  4. 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
  5. É vdd, valeu. No meu não tá mostrando a dica kk
  6. @r_Tray Entendi beleza, mas é que parte do colocar uma mensagem para usuário a plataforma não aceita.
  7. @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);
  8. beleza Vou testar aqui @Mateus Fernando valeu, tava pensando em usar while, mas fiquei em dúvida @underscore_case valeu pela dica.
  9. 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); } } }
  10. @smaileA minha antiga pega normal. valeu pela ajuda. adicionado 5 minutos depois @aeonflux513 valeu. Rapaz eu falei para vendedor que não pegava. Mas lembrei que um amigo tem um pc com a mesma config e usa essa mesma memória. Mas valeu por ter mandado o manual. adicionado 7 minutos depois @smaile @aeonflux513 Se eu trocar por uma 1333mhz 4gb ram. Será que vai pegar ?
  11. Opa. Comprei uma memória ram da Hyperx. Coloquei no PC, vai ter a tela de inicialização, quando fica iniciando windows dá a tela azul. Fui ver na Bios e tá lá falando que ram tem 4 GB e tudo ok, mas sempre que dá na tela inicialização do windows fica azul. Vou adicionar a foto da tela azul. Se puderem dá uma ajuda sobre se meu pc é compatível ou não ou se falta fazer algum procedimento. Tenho um amigo que tem as mesmas configurações do computador, ele comprou essa mesma memória e tá pegando. Memoria ram da Hyperx 4GB DDR3 - 1600 CL10 240 - Pin UDIMM Meu PC: Intel core i3 540 3,07Ghz Memoria ram atual: DRR 3 - 266*8*8 - 1333 mhz - 2gb placa-mãe: Pegatron Corporation IPMIP-GS Intel H55 Chipset: Havendale/ Clarkdale host bridge Bios Brand American Megatrends Inc Versão: IPMIP-GS-H55-DIGI-0104

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

×
×
  • Criar novo...