Dúvida em um exercício

4 respostas
inexperientecrz

Sou iniciante nas aulas de Java e meu professor passou este exercício:

Crie uma classe DeclaracaoVariaveis no seu computador e dentro do método main.
Depois declare, inicialize e utilize as variáveis como definido nos seguintes itens abaixo:
- Declare uma variável do tipo String para armazenar o nome de uma pessoa.
- Declare uma variável do tipo String para armazenar a Data de Nascimento de uma pessoa.
- Declare uma variável do tipo String para armazenar o rg de uma pessoa.
- Declare uma variável do tipo char para armazenar o sexo da pessoa utilizando a seguinte regra: MASCULINO (M) e FEMININO (F)
- Declare uma variável do tipo double para armazenar o salário de uma pessoa
- Leia todas as variáveis - Imprima todos os valores de maneira a obter a seguinte saída:
O Senhor(a) , portador(a) do RG de número , nascido em , do sexo , está registrado com o salário de R$ .

já fiz uma parte do código que não sei se está certo, mas tirando a parte da leitura da variável tipo CHAR até compila e roda. Alguem pode me ajudar com essa CHAR ?
Preciso fazer a leitura da Char (não sei como!!) fazer outra variável receber este valor para eu utilizar no If. Isso segundo meu conceito. Se tiverem outras opniões eu aceito e agradeço.

Vejam o que já fiz:

import java.util.*;
 import java.io.*;
 public class salario{
 	public static void main (String args[]){
 		String nome; String data; String rg ; char sexo; double salario; String palavra; String rec;
 		Scanner ler = new Scanner (System.in);
 		System.out.println();
 		System.out.println("Declaração de registro e salário.");
 		System.out.println();
		        System.out.println("Nome : ");
		        nome=ler.next();
 		 		System.out.println("Digite a Data de nascimento:");
 		 		data=ler.next();
 		 		System.out.println("Digite o RG:");
 		 		rg=ler.next();
 		 		/*System.out.println("Digite o Sexo: M ou F");
 		 		sexo=ler.next();
 		 		/*rec=sexo;
 		 		 if (rec=="M")	{
 		 		 	palavra="masculino";
 		 		 }else{
 		 		 	palavra="feminino";		 		 	
 		 		 }*/
				System.out.println("Digite o Salário:");
 		 		salario=ler.nextDouble();
 		 		System.out.println();
 		 		/*System.out.println("O Senhor(a) "+nome+" , portador(a) do RG de número "+rg+" , nascido em "+data+" , do sexo "+palavra+" , está registrado com o salário de R$"+salario+" .");*/
 		 		System.out.println("O Senhor(a) "+nome+" , portador(a) do RG de número "+rg+" , nascido em "+data+", do sexo ...  , está registrado com o salário de R$"+salario+" .");
 		 		}
 		 	
 }

4 Respostas

Giovanni_Ritchie

o método next(); retorna uma String, vc pode fzr o seguinte

char ch = in.next().charAt(0);

Talvez exista um opção menos gambiarra :lol:

pvrsouza

Sugestão:

System.out.println("Digite o Sexo: M ou F");
        sexo = (ler.next()).charAt(0);
        //rec = sexo; //isso aqui é exagero.

        /**
         * char tem que ser tratado com aspas simples e nao com duplas como estava fazendo.
         * Esta comparação "sexo == 'm'" é case sensiteive. Se comparar 'M'  com 'm', retorna false.
         */
        if (sexo == 'm') {
            //palavra = "masculino"; //acho que aqui já pode retornar o texto direto.
            System.out.println("masculino");
        } else {
            //palavra = "feminino";
            System.out.println("feminino");
        }
inexperientecrz

Pow, alew Giovanni e Souza, brigadão mesmo!

agora sim funcionou legal…

Até a próxima!!!

pvrsouza

Falow !

Criado 28 de fevereiro de 2010
Ultima resposta 1 de mar. de 2010
Respostas 4
Participantes 3