[RESOLVIDO] Laço com problema

Seguinte pessoaal tenho uma tarefa da faculdade pra fazer e to tendo algumas dificuldades com o laco de repeticao gostaria só que vocês dessem uma olhada e me dessem alguma dica

Segue

O meu problema eh q ele sempre sai do laco de repeticao

[code]import util.leitura;

public class Cardapio {

public static void main(String[] args) {
	short produto,quantidade;
	String nome;
	char opc;
	do {
	System.out.println("CARDAPIO");
	System.out.println("101-Cachorro Quente......... 2,50");
	System.out.println("102-Hamburger................. 4,50");
	System.out.println("103-Pizza........................... 11,30");
	System.out.println("104-Refrigerante............... 1,50");
	System.out.println("105-Cerveja....................... 5,00");
	System.out.println("Digite o nome = ");
	nome = leitura.leString();
	System.out.println("Digite o código do produto = ");
	produto = leitura.leShort();
	System.out.println (" Digite a quantidade de produtos = ");
	quantidade = leitura.leShort();
	short primeiro =(short)valor1 (produto,quantidade);
	System.out.print("O total do cliente " + nome + 
			" teve o total de = " +primeiro);
	System.out.print("Deseja calcular a conta de mais algum cliente?");
	opc = leitura.leChar();
	}while(opc==('n')||opc==('N'));


}

	public static int valor1 (short produ1,short quant1) {
		int total=0;
		char opc;
			do { 
			if (produ1== 101){
				 total=(int) (quant1*2.5);}  
				else if (produ1==102){
					total= total+(int) (quant1*4.5); 
				}
				else if (produ1==103) {
					total=(int) (quant1*11.30);
				}	
				else if (produ1==104) {
					total=(int) (quant1*1.5);
				}
				else if (produ1==105){
					total=(int) (quant1*5.0);
				}
				else {
				System.out.println ("Número Inválido1");
				}
				System.out.println ("Deseja inserir mais algum item para esse cliente?");
				opc = leitura.leChar();    
				
		} while (opc==('n')||opc==('N')); 
		return total;

		}

}

/*

    1. Continuar o cardapio para que fique assim: mostre o menu e leia o nome do cliente,
  • o código e a quantidade de cada item adquirido. A cada item digitado, fazer a pergunta:
  • ?Deseja inserir mais algum item para esse cliente??. Se a resposta for negativa, calcular
  • e mostrar o valor da conta a pagar por aquele cliente, assim: ?. A seguir, perguntar: ?Deseja calcular a conta de mais algum cliente??
  • Encerrar o programa apenas se a resposta for negativa. Realizar os testes em: código do item,
  • quantidade (positiva) e nas perguntas se quer continuar ou não.
    */
    [/code]

Desde ja agradeco a todos

Ele sai do laço pq a condiçao do seu while está errada…repare que ele só executa (do) enquanto opc for n ou N. E o que vc quer é justamente o contrario…executar equanto

opc != 'n' || opc != 'N';

nao tive como testar aqui, mas acho que é isso! :slight_smile:

abs

É exatamente o que o AITech IX disse; é erro na expressão lógica do seu do…while, que também poderia ser representada assim:

do{
//seu codigo aqui
}while(opc == 's' || opc == 'S');

Abraços!

tentarei fazer desse jeito assim que tiver testado coloco aqui a minha resposta vlw

Bom pessoal a minha dúvida era realemnte aquela e conswgui resolver com a ajuda de vocês Agradeço de montão abraço