Questão de lógica, um do{}while; está dentro do outro, portanto não há como fazer o que você está querendo.
Primeiro tem que finalizar as rotinas do 2° do para refazer a do 1°.
Fellipex
Você poderia mostrar exatamente o que você precisa fazer, para eu poder avaliar outras opções de laço e não essa que você propos?
Pois realmente como você falou o compilador vai entender que o “do” de dentro está sendo fechado com o “while” de dentro e não como você queria.
Explique melhor o que você precisar fazer para eu poder te ajudar
Att
PedroHenriqueSoares
Ok, entendi a ideia, irei disponibilizar o fonte...
packageTrabalho1;importjava.util.Scanner;publicclassTrabalho1{publicstaticvoidmain(String[]args){intnovaConsulta;Scannerteclado=newScanner(System.in);do{System.out.println("Digite o número de matriculado do funcionário");System.out.println("Digite 999 para sair da consulta");intmatricula=teclado.nextInt();switch(matricula){case999:System.out.println("Você finalizou a consulta!");System.exit(0);}System.out.println("Digite o nome do funcionário");Stringnome=teclado.nextLine();System.out.println("Digite o número indicando a função do funcionário conforme a tabela abaixo:");System.out.println("(1) - Gerente");System.out.println("(2) - Camareira");System.out.println("(3) - Cozinheiro");System.out.println("(4) - Garçom");System.out.println("(5) - Atendente");System.out.println("(6) - Manobrista");intfuncao=teclado.nextInt();System.out.println("Digite o número de horas normais que o funcionário trabalhou:");inthorasNormal=teclado.nextInt();System.out.println("Digite o número de horas extras que o funcionário trabalhou:");inthorasExtras=teclado.nextInt();System.out.println("Você deseja realizar uma nova consulta?");System.out.println("1 -> Sim");System.out.println("2 -> Não");novaConsulta=teclado.nextInt();//ESTOU ME COMPLICANDO BASTANTE NESSES IF'S, EU GOSTARIA QUE ELES VERIFICASSEM SE O USUÁRIO DIGITAR 1 ELE EXIBIRÁ A MENSAGEM "INICIANDO NOVA CONSULTA" E RETORNARÁ LÁ NO PRIMEIRO DO, LÁ EM CIMA NO INÍCIO DO CÓDIGO, ATÉ AÍ TUDO BEM, PORÉM GOSTARIA DE COLOCAR UM DO PARA REPETIR ESSE "Você deseja realizar uma nova consulta" CASO O USUÁRIO INSISTA EM COLOCAR NÚMEROS ERRADOS E DIFERENTES DE 1 E 2. NÃO SEI SE ESTOU PENSANDO CERTO SE NÃO PODERIAM ME PASSAR INSTRUÇÕES PARA RESOLVER ISSO?if(novaConsulta==1){System.out.println("Iniciando nova consulta...");}}while(novaConsulta==1);if(novaConsulta==2){System.out.println("Você finalizou a consulta!");}if(novaConsulta>=3){System.out.println("Digite um número válido");}if(novaConsulta<=0){System.out.println("Digite um número válido");}}}
PedroHenriqueSoares
Pessoal, acho que confundi muito a cabeça de vocês, mas consegui resolver meu problema... Vou postar o código modificado para que outras pessoas possam utilizar.
Abraço
do{System.out.println("Digite o número de matriculado do funcionário");System.out.println("Digite 999 para sair da consulta");intmatricula=teclado.nextInt();switch(matricula){case999:System.out.println("Você finalizou a consulta!");System.exit(0);}System.out.println("Digite o nome do funcionário");Stringnome=teclado.nextLine();System.out.println("Digite o número indicando a função do funcionário conforme a tabela abaixo:");System.out.println("(1) - Gerente");System.out.println("(2) - Camareira");System.out.println("(3) - Cozinheiro");System.out.println("(4) - Garçom");System.out.println("(5) - Atendente");System.out.println("(6) - Manobrista");intfuncao=teclado.nextInt();System.out.println("Digite o número de horas normais que o funcionário trabalhou:");inthorasNormal=teclado.nextInt();System.out.println("Digite o número de horas extras que o funcionário trabalhou:");inthorasExtras=teclado.nextInt();do{System.out.println("Você deseja realizar uma nova consulta?");System.out.println("1 -> Sim");System.out.println("2 -> Não");novaConsulta=teclado.nextInt();}while((novaConsulta>=3)||(novaConsulta<=0));switch(novaConsulta){case1:System.out.println("Iniciando nova consulta");case2:System.out.println("Você finalizou a consulta");}}while(novaConsulta==1);}}