Me ajudem neste código por favor!

4 respostas
G

import java.util.Scanner;

public class carlosgaspar {

public static void main(String [] args){
	
    int idade = 43;
	String morada = "Fernão Ferro";
	String naturalidade = "Comenda";
	
	System.out.println("O que quer saber de Carlos Gaspar, a naturalidade, a idade ou a morada? ");
		
	Scanner input = new Scanner(System.in);
    String escolha = input.nextLine();
    
    if(escolha == "naturalidade")  {
    	System.out.println(naturalidade);
    }
    else if(escolha == "morada")  {
	    	System.out.println(morada);
    	
    }else { System.out.println(idade);
    }
    
    
   
    	
    }
}


	O que aconteçe aqui é que quando faço o input de naturalidade ou da morada, ele em vez de mostrar a variável (naturalidade) ou (morada) ele mostra a variavel (idade) que está no "else".
            Eu sei que deve existir ai algum erro de construção, pois ainda estou a aprender!

4 Respostas

Hmuller

A comparação entre strings, em java, é através do equals.

Em vez de usar o ==, utilize o equals.

if(escolha.equals("naturalidade")
{
//código
}

E quando for postar código, utilize a tag code.

G

Obrigado! Já está funcionando!

ViniGodoy

Por favor, ao postar tópicos, siga as orientações presentes em nosso how to:

  1. Poste um título que descreva qual é a dúvida..
  2. Use a tag code para deixar seu código formatado, como descrito aqui;
regis_hideki

Ah, e não esqueça de pesquisar pq o operador “==” não serve pra comparar Strings. Não se conforme apenas com a resposta, tente saber pq ela funciona.

Criado 10 de março de 2013
Ultima resposta 10 de mar. de 2013
Respostas 4
Participantes 4