Duvida de iniciante

6 respostas
M

Estou começando na linguagem e estou com uma duvida, o programa abaixo, crado apenas para testar o if não funciona, gostaria de saber onde esta o erro.

import javax.swing.JOptionPane;

public class testeif {
  public static void main(String args[]) {
    
    String nome = JOptionPane.showInputDialog("Nome:");
    
    if (nome == "java")
      JOptionPane.showMessageDialog(null,"OK");
    else
      JOptionPane.showMessageDialog(null,"NAO");
   
    System.exit(0);
  }
}

Grato desde ja.
Marcos H. Silva

6 Respostas

J

Seja bem vindo!!! :viva:

Para comparar String, use o equals

import javax.swing.JOptionPane;

public class testeif {
  public static void main(String args[]) {

    String nome = JOptionPane.showInputDialog("Nome:");

    if ("java".equals(nome))
      JOptionPane.showMessageDialog(null, "OK");
    else
      JOptionPane.showMessageDialog(null, "NAO");

    System.exit(0);
  }
}

blz?

D

isso eh pq String em java naum eh um tipo de dados primitivo (como int, float etc…) na verdade eh uma classe, entao qndo vc faz String1 == String2, vc ta comparando dois objetos (q por nao serem o mesmo, sao diferentes), por isso deve-se usar o metodo .equals(“string”) da classe String, ai sim vc vai ta comparando o conteudo, o q ta “escrito” lah…

é isso JavaTeco?!

M

é… ele compara as referencias, e não o conteudo dos atributos do objeto referenciado…

J

Haaaaaaaaaaaaa… foi o primeiro post que eu vi com o novo modelo de ranking… ficou muito legal… :grin:

M

isso ai fábio… da uma olhada nesse antigo tópico da época das estrelinhas, agora a gente tava pensando em mudar o titulo de cada ranking, o “whats…?” … dêem suas opniões aqui pessoal:

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&p=24107#24107

M

Pessoal valeu pela ajuda é difícil começar uma uma linguagem nova, ainda mais o JAVA que é cheio de detalhes, porêm muito poderosa.

Marcos H. Silva

Criado 4 de julho de 2004
Ultima resposta 4 de jul. de 2004
Respostas 6
Participantes 4