Duvida em "do...while"

4 respostas
N

segue o codigo…

public static void CASE1() throws IOException{
{

do{

BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));

System.out.println("Digite o número que será arredondado: ");

String num = stdin.readLine();

double numero = Double.parseDouble(num);

System.out.println("O número " +numero+ " arredondado para o próximo fica sendo " +Math.ceil(numero));

do{

System.out.println(Deseja outro Calculo? (S)im/(N)ao);

String op = stdin.readLine();

}while((op.toUpperCase.char op.charAtt(0))!=S) && ((op.toUpperCase.char op.charAtt(0))!=N);

}while(op.toUpperCase() charAt(0)!=N);

}

}
a dúvida é o seguintenão consigo compilar por algum erro em

}while((op.toUpperCase.char op.charAtt(0))!=S) && ((op.toUpperCase.char op.charAtt(0))!=N);

}while(op.toUpperCase() charAt(0)!=N);

o que eu quero fazer é … se N sair do programa…se S…voltar e pedir novo numero a ser arredondado
no caso ele ta testando se for diferente de S e N…ficar pedindo novo calculo ate a pessoa digitar S ou N…
porem nao to conseguindo testar por algum erro
toUpperCase transforma tudo em maiusculo…evitando alguem digitar s/n em minusculo…
charAtt(0) pega a primeira letra…caso a pessoa digite SIM ou NAO…o que ta dando errado ae? :frowning:

Obrigado

4 Respostas

S

Use a tag code no seu código para que possamos analisar.
Atenciosamente,
Fernando.

M

Amigo sou iniciante intao nao sei se é por isso mais acho q é onde vc declarou as variaveis tem q ser fora do ‘do’ pq se nao vai ser uma variavel conhecida so la dentro.
ve se assim da…

public static void main(String[] args) throws IOException {
		BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));
		String op;
		do{
			System.out.println("Digite o número que será arredondado: ");
			String num = stdin.readLine();
			double numero = Double.parseDouble(num);
			System.out.println("O número " +numero+ " arredondado para o próximo fica sendo " +Math.ceil(numero));
			
			do{
				System.out.println("Deseja outro Calculo? (S)im/(N)ao");
				op = stdin.readLine();
			}while(op.toUpperCase().charAt(0)!='S' && op.toUpperCase().charAt(0)!='N');
		}while(op.toUpperCase().charAt(0)!='N'); 
	}

espero ter ajudado.

walissongpi
<blockquote><div class="quote-author">netoxisde:</div>

}while((op.toUpperCase.char op.charAtt(0))!=‘S’) && ((op.toUpperCase.char op.charAtt(0))!=‘N’);

}while(op.toUpperCase() charAt(0)!=‘N’);

Obrigado
chatAt();// não seria com um T?

N

public static void CASE1() throws IOException{ { char op2; do{ BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Digite o número que será arredondado: "); String num = stdin.readLine(); double numero = Double.parseDouble(num); System.out.println("O número " +numero+ " arredondado para o próximo fica sendo " +Math.ceil(numero)); do{ System.out.println("Deseja outro Calculo? (S)im/(N)ao"); String op = stdin.readLine(); op2 = op.toUpperCase().charAt(0); }while((op2!='S') && (op2!='N')); }while(op2!='N'); } }

funcionou amigo
muito Obrigado
o problema era o op.toUpperCase().charAt(0)
eu tava escrevendo de forma errada mesmo
muito Obrigado!!!

Criado 2 de março de 2010
Ultima resposta 2 de mar. de 2010
Respostas 4
Participantes 4