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

    Errore semplice programma decisionale

    Salve ho eseguito un esercizio che chiede mi la cosa seguente :

    Scrivere un programma che stampi la domanda “Vuoi continuare?” e che attenda
    dati dall’utente. Se l’utente immette “S”, “Sì”, “Ok”, “Certo” o “Perché no?”,
    stampare “OK”. Se l’utente scrive “N” o “No”, stampare “Fine”. Negli altri casi,
    stampare “Dato non corretto”. Non considerare differenze tra maiuscolo e
    minuscolo, quindi anche “s” e “sì” sono validi.

    Io ho fatto 2 classi:
    codice:
    public class InputChecker {
    	private String c;
    		
    	InputChecker(String b){
    		 c = b.toUpperCase(); //trasforma la stringa b inserita in maiuscolo 
    		if(c=="SI"|| c=="CIAO"|| c=="S" || c=="CERTO"){
    			System.out.println("OK");
    		}
    		else if(c=="N" || c=="NO"){
    			
    			System.out.println("Fine");
    		}
    		else{
    			System.out.println("Dati non corretti");
    
    		}
    	}
    	public String get_c(){
    		return c;              //utile per vedere cosa gli arriva in c
    	}
    }
    e l'altra :
    codice:
    import java.util.Scanner ;
    
    public class ProvaInputChecker {
    
    
    	public static void main(String[] args) {
    		Scanner b = new Scanner(System.in) ;
    		System .out.println("Vuoi Continuare?");
    		String a = b.next();
    		InputChecker d = new InputChecker(a);
    		System.out.println(d.get_c()); // l'ho inserita dopo per vedere cosa arrivava in c (per l' IF)
    	}
    
    }
    Il programma mi rende sempre "Dati non corretti" anche mettendo dati giusti (ho usato il get_c per vedere

  2. #2
    Sbagli a confrontare le stringhe, in java si usa in metodo equals per gli oggetti e non "==".

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.