Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Niubbo del java chiede aiuto (JOptionPane)

    allora
    ho fatto questo codice, ma anche se nell'input ci scrivo "leonardo" non funziona

    import javax.swing.*;
    class ariprova{
    public static void main (String[] args){
    String name, surname;
    name = JOptionPane.showInputDialog("Nome");
    if (name == "leonardo"){
    System.out.println("Ciao!");
    }

    }
    }

    dov'è che sbaglio???
    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Niubbo del java chiede aiuto (JOptionPane)

    Originariamente inviato da boulayo
    dov'è che sbaglio???
    Per confrontare il contenuto di due stringhe (e in generale di 2 oggetti) si usa il metodo equals(). L'operatore == si basa solo sulla uguaglianza dei reference. Nel tuo caso la stringa restituita da showInputDialog è un nuovo oggetto String allocato sul heap che è quindi certamente diverso dalla stringa literal "leonardo", sebbeno possano avere lo stesso contenuto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    quindi com'è che dovrebbe essere il codice?
    ho provato anche

    import javax.swing.*;
    class ariprova{
    public static void main (String[] args){
    String name, surname;
    name = JOptionPane.showInputDialog("Nome");
    surname = "leonardo";
    if (name equals(surname)){
    System.out.println("Ciao!");
    }
    }
    }
    ma mi da errore

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da boulayo
    quindi com'è che dovrebbe essere il codice?
    if (name.equals ("....."))
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    risolto, che cretino che sono, non avevo messo il punto tra "name" e "equals"

  6. #6
    mi avete anticipato

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Invito l'autore del post a leggere il regolamento, soprattutto per la parte riguardante i titoli delle discussioni.

    Sistemo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.