package com.exercicios;
import java.util.Scanner;
public class HomensMulheres {
public static void main(String[] args) {
int sexo = 0;
Scanner leia = new Scanner(System.in);
System.out.println("Escolha o sexo da pessoa:");
System.out.println("1-homem");
System.out.println("2-mulher");
System.out.println("Escolha uma das opções acima:");
sexo = leia.nextInt();
if (sexo == 1) {
System.out.println("sexo feminino!");
} else if (sexo == 2) {
System.out.println("sexo masculino");
}
System.out.println("Digite o nome do seu avatar:");
String name = leia.nextLine();
System.out.println("nome:" + name);
}
}
Por que quando eu peço pra ele ler o nome,ele fecha o programa?
C
3 Respostas
B
Só um pequeno ajuste
public static void main(String[] args) {
int sexo = 0;
Scanner leia = new Scanner(System.in);
System.out.println("Escolha o sexo da pessoa:");
System.out.println("1-homem");
System.out.println("2-mulher");
System.out.println("Escolha uma das opções acima:");
sexo = leia.nextInt();
if (sexo == 1) {
System.out.println("sexo feminino!");
} else if (sexo == 2) {
System.out.println("sexo masculino");
}
System.out.println("Digite o nome do seu avatar:");
leia.nextLine();
String name = leia.next();
System.out.println("nome:" + name);
}
3 likes
É normal. É o que acontece quando vc invoca next(), nextInt(), nextDouble() e companhia, e logo em seguida invoca o nextLine(), por causa da forma como eles funcionam.
Outra forma de resolver é trocar o trecho abaixo:
sexo = leia.nextInt();
Por este:
sexo = Integer.parseInt(leia.nextLine());
C
Muito obg,achou bastante!!!
Criado 19 de setembro de 2021
Ultima resposta 23 de set. de 2021
Respostas 3
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo