public class split {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int mask = 32;
int n=sc.nextInt();
char resp;
do{
if((n & mask)!=0){
System.out.println("6th bit is true");
}else{
System.out.println("6th bit is false");
}
System.out.println("Deseja repetir s/n ?");
resp =sc.next().charAt(0);
}while(resp != 'n');
sc.close();
}
}
Não está repetindo de forma que eu digite novamente um valor, quando digito ‘s’ ele retorna o resultado da condição, é possivel usar o do while na estrutura do if else ???
Quando utilizar um objeto Scanner para ler do teclado, utilize somente o método nextLine(), outros métodos não tratam a quebra de linha gerada ao pressionar ENTER.
Sendo assim, faça o seguinte:
Troque o sc.nextInt() por Integer.parseInt(sc.nextLine())
Troque o sc.next().charAt(0) por sc.nextLine().charAt(0)
primeiro um número inteiro, então o programa me retorna uma resposta em seguida digito “s” ou qualquer outro digito para repetir, e ai que mora o problema ele me retorna o resultado de novo, e quero que retorne para usuário digitar novamente.
Amigo, sou iniciante também. Porém acredito que essa linha onde você solicita a entrada do usuário deveria ficar dentro do bloco DO. Eu acredito que como você digita algo diferente de n no final o sistema volta ao início do DO. Porém sua solicitação ao usuário está fora do bloco. O sistema então realiza tudo de novo usando o valor que já está lá. Tente mudar essa linha para dentro do bloco DO.
Creio que dessa forma, ao digitar “n” você será direcionado para o início do bloco DO. Colocando essa linha acima do IF o usuário será convidado a digitar um novo valor para consulta.
Espero ter ajudado e desculpe se falei bobagem! Abraços e boa sorte!
89 por exemplo, tenho resultado falso, e quando digito “s” vem repetindo o resultado, porem o amigo [Heihel] creio que matou a charada rs, creio que o o int n = sc.nextInt(); deve estar dentro do DO.Chegando em casa vou fazer o teste.