Pegar um caracter de uma string e usar no switch - java

Java

23/02/2016

Olá

Preciso pegar o primeiro caracter de uma string e usar em um switch.

Scanner ler = new Scanner (System.in);
		
		System.out.println("Digite seu estado civil: ");
		String estciv = ler.next();

		
		switch (estciv){
		
		case "s":{			
			System.out.println("Solteiro");
			break;
		}
		case "c":{
			System.out.println("Casado");
			break;
		}
		case "d":{
			System.out.println("Divorciado");
			break;
		}
		case "v":{
			System.out.println("Viúvo");
			break;
		}
		default: {
			System.out.println("Opção inválida");
			break;
		}
		
		
		}


O switch funciona, mas não está vinculado à palavra digitada. Só quando digita-se a letra em questão o código funciona.
Rodrigo Zandonadi

Rodrigo Zandonadi

Curtidas 0

Melhor post

Gabriell Amaral

Gabriell Amaral

23/02/2016

Rodzan,
Você também poderia usar função charAt() que retorna um char.

Exemplo:
String x;
 
x.charAt(0);


Seu código poderia ser:

String estciv = ler.next();
         
 switch (estciv.chaAt(0))
{

 ...

}
GOSTEI 2

Mais Respostas

Rodrigo Zandonadi

Rodrigo Zandonadi

23/02/2016

Já encontrei... criei uma variável 'letra' e usei substring nela - String letra = estciv.substring(0, 1):

Scanner ler = new Scanner (System.in);
		
		System.out.println("Digite seu estado civil: ");

		String estciv = ler.next();
		
		String letra = estciv.substring(0, 1);
		
		switch (letra){
		
		case "s":{			
			System.out.println("Seu estado civíl é: Solteiro");
			break;
		}
		case "c":{
			System.out.println("Seu estado civíl é: Casado");
			break;
		}
		case "d":{
			System.out.println("Seu estado civíl é: Divorciado");
			break;
		}
		case "v":{
			System.out.println("Seu estado civíl é: Viúvo");
			break;
		}
		default: {
			System.out.println("Seu estado civíl é: Opção inválida");
			break;
		}
		
		
		}


Obrigado mesmo assim!
GOSTEI 1
Eduardo Pessoa

Eduardo Pessoa

23/02/2016

Legal rodzan, obrigado pelo retorno.
GOSTEI 1
Rodrigo Zandonadi

Rodrigo Zandonadi

23/02/2016

Valeu a dica Lopes. Assim o código me parece mais limpo... gostei.

Abraços!
GOSTEI 1
POSTAR