Buonasera ! Informazione :)

di il
1 risposte

Buonasera ! Informazione :)

Buona sera a tutti !!
E' da un paio di mesi che sto studiando java.. Ma avrei una domanda da farvi.

Sono arrivato a fare un esercizio per l'ereditarietà.. ( Per le domande che ho da farvi non occorre il testo).
Vi metto il codice che ho fatto per ora e vi dico i miei dubbi:
java.VeicoloAMotore
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package veicoloamotore;

import java.util.Scanner;


public class VeicoloAMotore {
public int annomatricolazione;
public String marca;
public String tipoAlimentazione;
public int cilindrata;

    public VeicoloAMotore(int annomatricolazione, String marca, String tipoAlimentazione, int cilindrata) {
        this.annomatricolazione = annomatricolazione;
        this.marca = marca;
        this.tipoAlimentazione = tipoAlimentazione;
        this.cilindrata = cilindrata;
    }

    public int getAnnomatricolazione() {
        return annomatricolazione;
    }

    public void setAnnomatricolazione(int annomatricolazione) {
        this.annomatricolazione = annomatricolazione;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    public String getTipoAlimentazione() {
        return tipoAlimentazione;
    }

    public void setTipoAlimentazione(String tipoAlimentazione) {
        this.tipoAlimentazione = tipoAlimentazione;
    }

    public int getCilindrata() {
        return cilindrata;
    }

    public void setCilindrata(int cilindrata) {
        this.cilindrata = cilindrata;
    }

    public static void main(String[] args) {
       Furgone fu= new Furgone(2009, "DU 2849 DI", "Metano", 299, 1000); 
       Scanner sc = new Scanner(System.in);
       
       System.out.print("Anno: ");
       int anno = sc.nextInt();
       fu.setAnnomatricolazione(anno);
       
       System.out.print("Targa: ");
       String marca = sc.nextLine();
       fu.setMarca(marca);
       
       System.out.print("Alimentazione: ");
       String alimentazione = sc.nextLine();
       fu.setTipoAlimentazione(alimentazione);

       System.out.print("Cilindrata: ");
       int cilindr= sc.nextInt();
       fu.setCilindrata(cilindr);
       
       System.out.print("Persone che può portare: ");
       int capacit = sc.nextInt();
       fu.setCapacitaCarico(capacit);
       System.out.println(fu.getInformazioniFurgone());
       
    }
    
}
java.Furgone
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package veicoloamotore;


/**
 *
 * @author TommasoF
 */
public class Furgone extends VeicoloAMotore{
    private int capacitaCarico;
    
    public Furgone(int annomatricolazione, String marca, String tipoAlimentazione, int cilindrata, int capacitaCarico) {
        super(annomatricolazione, marca, tipoAlimentazione, cilindrata);
        this.capacitaCarico= capacitaCarico;
    }

    public int getCapacitaCarico() {
        return capacitaCarico;
    }

    public void setCapacitaCarico(int capacitaCarico) {
        this.capacitaCarico = capacitaCarico;
    }

   public String getInformazioniFurgone(){
       
       
       return "Anno Matricolazione: "+annomatricolazione+" || "+ "Marca: "+ marca +" || "+ "Tipo Alimentazione: "+tipoAlimentazione+" || "+" Cilindrata: "+cilindrata+" ||"+ "Capacità carico: "+capacitaCarico;        
   }
    
    
    
    
}
Io.. volevo dare in input da tastiera i dati per il veicolo.. quindi marca, targa ecc..
1) La mia prima domanda è questa:
Visto che tutti i dati, quindi targa, alimentazione ecc.., gli metto da tastiera perché devo mettere questo:
Furgone fu= new Furgone(2009, "DU 2849 DI", "Metano", 299, 1000); ????? Non capisco.. non potrei semplicemente fare: Furgone fu= new Furgone(); visto che poi gli inserisco tutti io i codici ??

2) Seconda domanda:
Come mai quando lo avvio non mi fa leggere la targa ?? Mi passa direttamente a "alimentazione"..

Spero di essere stato chiaro nelle mie domande... se occorre qualcosa per farvi capire meglio scrivete.. Ringrazio chiunque mi scriva per aiutarmi

Se ho detto qualche cavolata.. Sono all'inizio del mio studio, quindi cercate di capirmi

Grazie.

1 Risposte

  • Re: Buonasera ! Informazione :)

    TommasoF ha scritto:


    Buona sera a tutti !!
    E' da un paio di mesi che sto studiando java.. Ma avrei una domanda da farvi.

    Sono arrivato a fare un esercizio per l'ereditarietà.. ( Per le domande che ho da farvi non occorre il testo).
    Vi metto il codice che ho fatto per ora e vi dico i miei dubbi:
    java.VeicoloAMotore
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package veicoloamotore;
    
    import java.util.Scanner;
    
    
    public class VeicoloAMotore {
    public int annomatricolazione;
    public String marca;
    public String tipoAlimentazione;
    public int cilindrata;
    
        public VeicoloAMotore(int annomatricolazione, String marca, String tipoAlimentazione, int cilindrata) {
            this.annomatricolazione = annomatricolazione;
            this.marca = marca;
            this.tipoAlimentazione = tipoAlimentazione;
            this.cilindrata = cilindrata;
        }
    
        public int getAnnomatricolazione() {
            return annomatricolazione;
        }
    
        public void setAnnomatricolazione(int annomatricolazione) {
            this.annomatricolazione = annomatricolazione;
        }
    
        public String getMarca() {
            return marca;
        }
    
        public void setMarca(String marca) {
            this.marca = marca;
        }
    
        public String getTipoAlimentazione() {
            return tipoAlimentazione;
        }
    
        public void setTipoAlimentazione(String tipoAlimentazione) {
            this.tipoAlimentazione = tipoAlimentazione;
        }
    
        public int getCilindrata() {
            return cilindrata;
        }
    
        public void setCilindrata(int cilindrata) {
            this.cilindrata = cilindrata;
        }
    
        public static void main(String[] args) {
           Furgone fu= new Furgone(2009, "DU 2849 DI", "Metano", 299, 1000); 
           Scanner sc = new Scanner(System.in);
           
           System.out.print("Anno: ");
           int anno = sc.nextInt();
           fu.setAnnomatricolazione(anno);
           
           System.out.print("Targa: ");
           String marca = sc.nextLine();
           fu.setMarca(marca);
           
           System.out.print("Alimentazione: ");
           String alimentazione = sc.nextLine();
           fu.setTipoAlimentazione(alimentazione);
    
           System.out.print("Cilindrata: ");
           int cilindr= sc.nextInt();
           fu.setCilindrata(cilindr);
           
           System.out.print("Persone che può portare: ");
           int capacit = sc.nextInt();
           fu.setCapacitaCarico(capacit);
           System.out.println(fu.getInformazioniFurgone());
           
        }
        
    }
    
    java.Furgone
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package veicoloamotore;
    
    
    /**
     *
     * @author TommasoF
     */
    public class Furgone extends VeicoloAMotore{
        private int capacitaCarico;
        
        public Furgone(int annomatricolazione, String marca, String tipoAlimentazione, int cilindrata, int capacitaCarico) {
            super(annomatricolazione, marca, tipoAlimentazione, cilindrata);
            this.capacitaCarico= capacitaCarico;
        }
    
        public int getCapacitaCarico() {
            return capacitaCarico;
        }
    
        public void setCapacitaCarico(int capacitaCarico) {
            this.capacitaCarico = capacitaCarico;
        }
    
       public String getInformazioniFurgone(){
           
           
           return "Anno Matricolazione: "+annomatricolazione+" || "+ "Marca: "+ marca +" || "+ "Tipo Alimentazione: "+tipoAlimentazione+" || "+" Cilindrata: "+cilindrata+" ||"+ "Capacità carico: "+capacitaCarico;        
       }
        
        
        
        
    }
    
    Io.. volevo dare in input da tastiera i dati per il veicolo.. quindi marca, targa ecc..
    1) La mia prima domanda è questa:
    Visto che tutti i dati, quindi targa, alimentazione ecc.., gli metto da tastiera perché devo mettere questo:
    Furgone fu= new Furgone(2009, "DU 2849 DI", "Metano", 299, 1000); ????? Non capisco.. non potrei semplicemente fare: Furgone fu= new Furgone(); visto che poi gli inserisco tutti io i codici ??

    2) Seconda domanda:
    Come mai quando lo avvio non mi fa leggere la targa ?? Mi passa direttamente a "alimentazione"..

    Spero di essere stato chiaro nelle mie domande... se occorre qualcosa per farvi capire meglio scrivete.. Ringrazio chiunque mi scriva per aiutarmi

    Se ho detto qualche cavolata.. Sono all'inizio del mio studio, quindi cercate di capirmi

    Grazie.
    Ciao Tommaso,
    Riguardo la prima domanda: hai perfettamente ragione, inserendo tutti i dati da console puoi benissimo usare il costruttore predefinito.
    Riguardo la seconda: potresti fornire l'output del programma?
    Piccolo consiglio, nel main chiedi di inserire la targa ma poi salvi l'input nel field marca... è intenzionale? Ti consiglio sempre di assegnare alle variabili nomi consoni alla loro funzione.

    Inviato dal mio Nexus 5 utilizzando Tapatalk
Devi accedere o registrarti per scrivere nel forum
1 risposte