Instrução if

Olá pessoal,

tenho um código que em determinado monento pede que o usuáio digite o tipo do veiculo, “Carro” ou “Moto”. Recebo o valor digitado pelo método next() e atribuo à variavel tipo, através do construtor da classe. Em seguida, tento realizar a seguinte instrução:

    public void getValorAluguel()
    {       
        if (getTipo() == "Carro")
        {
            valorAluguel = qtosDiasAluguel * 30;
            System.out.printf("O valor a ser pago ao final dos %d dias é de R$ %.2f\n", qtosDiasAluguel, valorAluguel);            
        }
        if (getTipo() == "Moto")
        {
            valorAluguel = qtosDiasAluguel * 10;    
            System.out.printf("O valor a ser pago ao final dos %d dias é de R$ %.2f\n", qtosDiasAluguel, valorAluguel);            
        }       
      
    }    

Entretanto, quando chamo esse método para calcular o valor do aluguel do veiculo não acontece nada!

Alguém sabe como resolver isso?

faça

 if (getTipo().equals("Carro"))  
            .....

  if (getTipo().equals("Moto"))  
            ...... 

Obrigado rodrigo, funcionou bem!

Vou estudar esse “.equals()”…

Vlw

Na prática, é melhor usar “equalsIgnoreCase” em vez de “equals”.
Isso é porque o usuário não é obrigado a digitar “Carro” (primeira maiúscula e as outras minúsculas), afinal de contas um usuário não é um programador Java. (Se o usuário for um programador COBOL ele vai querer digitar “CARRO” :stuck_out_tongue: ).
Você deve aceitar quando o usuário digitar “carro”, “CARRO”, “caRRO” etc. sem pestanejar.

Bacana essa dica thingol!

[quote=cassius_fpu]Obrigado rodrigo, funcionou bem!

Vou estudar esse “.equals()”…

Vlw[/quote]

equals - testa o valor (String e Wrapper ja implementam esse metodo)
== - testa a referencia(se a variavel “aponta” para o mesmo local)

aproveite e veja esse material aqui do GUJ: http://www.guj.com.br/java.tutorial.artigo.103.1.guj