Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    l'errore è nel metodo "verifica". Il confronto tra due stringhe non si fa con l'operatore == ma con l'apposito metodo "equals", quindi

    codice:
    if(m[i].getModello().equals(mod))...

    Poi qualche precisazione:
    - se inserisco "fiat 500" il programma mi stampa le informazioni relative a questo modello. Però sotto viene scritto anche "modello non trovato": secondo me questo è un errore
    - per convenzione i nomi delle classi dovrebbero sempre iniziare con la lettera maiuscola
    - dovrebbe esserci una parte in cui stampi una richiesta all'utente (ad esempio "Inserisci il modello"). Altrimenti quando lanci il programma (ad esempio da Eclipse) non compare la console e sembra che non stia funzionando nulla
    - dopo che hai finito di utilizzarlo, lo Scanner va chiuso con l'apposito metodo "close"
    - per incollare codice sul forum, utilizza gli appositi tag CODE


  2. #2
    Quote Originariamente inviata da minomic Visualizza il messaggio
    Ciao,
    l'errore è nel metodo "verifica". Il confronto tra due stringhe non si fa con l'operatore == ma con l'apposito metodo "equals", quindi

    codice:
    if(m[i].getModello().equals(mod))...

    Poi qualche precisazione:
    - se inserisco "fiat 500" il programma mi stampa le informazioni relative a questo modello. Però sotto viene scritto anche "modello non trovato": secondo me questo è un errore
    - per convenzione i nomi delle classi dovrebbero sempre iniziare con la lettera maiuscola
    - dovrebbe esserci una parte in cui stampi una richiesta all'utente (ad esempio "Inserisci il modello"). Altrimenti quando lanci il programma (ad esempio da Eclipse) non compare la console e sembra che non stia funzionando nulla
    - dopo che hai finito di utilizzarlo, lo Scanner va chiuso con l'apposito metodo "close"
    - per incollare codice sul forum, utilizza gli appositi tag CODE


    è veramente strano, avvolte mi funziona anke senza l'equals non so xkè, e cmq anche quando gli passo la stringa lui confronta l'oggetto con la stringa quindi dovrebbe incasinarsi lo stesso , stavo cercando di togliere il modello nn trovato anche quando trova una macchina, mi sembra giusto

    codice:
    public void verifica(String mod){        
            for(int i=0;i<m.length;i++){
                
                if(m[i].getModello().equals(mod)){
                System.out.println("modello: "+m[i].getModello());
                System.out.println("anno immatricolazione: "+m[i].getAnnoImm());
                System.out.println("prezzo: "+m[i].getPrezzo());
                System.out.println("emissione: "+m[i].getConsumo());
                System.out.println("chilometri: "+ m[i].getKm());
                
            }
                 else {                if( i==m.length-1 && m[i].getModello().equals(mod)!=true)
                    System.out.println("modello non trovato");
            }
        
             
                    
                
            }
    codice:
    //main
    mainp dd = new mainp (c);        Scanner in = new Scanner(System.in);
            String s=null;
        
                
                
                for(;;){
                    
                System.out.println("inserisci modello");    
                s=in.nextLine();
                dd.verifica(s);
                
                    
                }
    nel blocco else del metodo dico che se sono arrivato alla fine dell'array e nello stesso tempo non ha trovato nessun oggetto uguale, le due condizioni saranno vere e stampa modello nn trovato,funziona tutto, anke se ci sono piu modelli li trova tutti, se inserisco uno che nn cè nn lo trova, ma se trova un oggetto entra cmq nel blocco dell'else appunto xke appena finisce il ciclo ,a meno che non inserisco l'ultimo oggetto per la ricerca, quella condizione si verificherà sempre e quindi mi stamperà sempre modello nn trovato, come posso risolvere secondo voi?
    p.s scusate la grammatica xD
    Ultima modifica di eleinad85; 13-09-2014 a 16:00

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.