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

    [java] errore con espressione condizionale

    Salve a tutti, sono di qui dopo esser passato per python e C ,è circa due settimane che mi sto cimentando in java e non riesco a capire questo errore


    codice:
    import javax.swing.*;
    
    public class ex2_1 {
        public static void main(String[] args) {
            int primo;
            int secondo;
             primo=Integer.parseInt(JOptionPane.showInputDialog("inserisci un intero"));
             secondo=Integer.parseInt(JOptionPane.showInputDialog("inserisci un intero"));
            //System.out.println("maggiore="+ (primo > secondo) ?primo : secondo);
            if(primo>secondo){
                System.out.println(primo);
            }
            else{
                System.out.println(secondo);
            }
        }
    }
    l'errore sta dove c'è lo //e non capisco il perchè,premetto che utilizzo netbeans poichè il professore ci ha obbligato.l'errore che mi dà è questo

    incompatible types:String cannot be converted to boolean

    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da maseeeeeee Visualizza il messaggio
    codice:
    System.out.println("maggiore="+ (primo > secondo) ?primo : secondo);
    l'errore sta dove c'è lo //e non capisco il perchè

    incompatible types:String cannot be converted to boolean
    L'operatore condizionale ?: ha una priorità molto più bassa del + (Operators). Questo vuol dire che il compilatore tratta tutta l'espressione così:

    prima fa "maggiore="+ (primo > secondo), ovvero un String + boolean, risultato un String (concatenazione es. "maggiore=true")
    poi fa risultatoString ? primo : secondo che ovviamente è scorretto (e non compila), perché il primo operando di ?: deve essere un booleano.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    e quindi come devo fare ,nel mio manuale è scritto così

  4. #4
    devo mettere l'espr. condiz.dentro una variaile??

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da maseeeeeee Visualizza il messaggio
    e quindi come devo fare
    Usa bene le parentesi ( )
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Usa bene le parentesi ( )

    Grazie mille

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.