Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5

    [Java] Problema creazione arrays e popolamento

    Giorno ragazzi, complimenti per il forum lo seguo da molto infatti mi ha aiutato in parecchie difficoltà
    Passiamo al mio problema ho un compito da fare chiede(naturalmente non vi chiedo di farmelo perchè voglio imparare sulla mia pelle chiedo solo dei suggerimenti quando mi trovo in difficolta quindi credo k man mano aggiornerò il mio codice):

    1. definire un array di oggetti CD i cui attributi sono:
    -titolo, durata (in minuti), prezzo, autore.
    2.effettuare il popolamento automatico dell'array con un apposito metodo
    della classe di collaudo, inserendo i seguenti oggetti:
    ("The Fame Monster", 118, 20.72, "Lady Gaga");
    ("Track 2 Inediti", 95, 16.72, "Vasco Rossi");
    ("If", 100, 17.52, "Mario Biondi");
    ("Laura Live Tour 2009", 98, 19.50, "Laura Pausini");
    ("Crazy Love", 90, 20.40, "Michael Bublè");
    ("This is It", 120, 21.90, "Michael Jackson");
    3. visualizzare i dati dei CD che abbiano durata entro un intervallo stabilito dall'utente.
    4. dare la possibilità di ordinare l'array in base alla durata
    -in maniera crescente o decrescente (occorre implementare entrambe le possibilità).
    usare i commenti per indicare il metodo di ordinamento implementato dal candidato.
    dare la possibilità di scegliere questa funzionalità più volte.
    5. visualizzare l'array prima e dopo l'ordinamento
    6.(opzionale) implementare un metodo booleano che controlli lo stato di ordinamento
    dell'array.


    Per quanto riguarda i primi due punti ho risolto così:

    CdProva.java:
    codice:
    public class CdProva 
    {
    	String Nome;
    	int Minuti;
    	double Prezzo;
    	String Autore;
    	
    	public CdProva(String aNome, int aMin, double aPrize, String aAuctor)
    	{
    		Nome=aNome;
    		Minuti=aMin;
    		Prezzo=aPrize;
    		Autore=aAuctor;
    	}
    	
    	public static void CreaArray(Cd[] a)
    	{
    		int i;
    		for (i=0;i<a.length;i++);	
    	}
    }
    CdProvaTester:
    codice:
    public class CdProvaTester 
    {
    	public static void main(String[]args)
    	{
    			int n = 6;
    			Cd[] finale = new Cd[n];
    			
    			finale[0] = new Cd("The Fame Monster", 118, 20.72, "Lady Gaga");
    			finale[1] = new Cd("Track 2 Inediti", 95, 16.72, "Vasco Rossi");
    			finale[2] = new Cd("If", 100, 17.52, "Mario Biondi");
    			finale[3] = new Cd("Laura Live Tour 2009", 98, 19.50, "Laura Pausini");
    			finale[4] = new Cd("Crazy Love", 90, 20.40, "Michael Bublè");
    			finale[5] = new Cd("This is It", 120, 21.90, "Michael Jackson");
    			
    		System.out.println(finale);
    	} 
    }
    Putroppo mi esce una cosa strana xD
    Spero mi aiutate perchè sulla mia testa incombe un esame Grazie in anticipo per tutti quelli che rispondono

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ciao è benvenuto. Qualcuno qualche giorno fa ha postato un thread praticamente identico (magari è del tuo stesso corso): è già qualcosa perché il thread aveva ricevuto delle risposte e potrebbero a loro volta rispondere a certi tuoi dubbi.

    L'errore grossolano che compi qui è innanzitutto il voler istanziare l'array di CD nella classe CD. E' come voler istanziare un autosalone in una classe macchina.

    L'altro errore è nella classe collaudo: il System.out.println(array_cd) non riporterà niente di utile.

    A voler fare le cose fatte "un po'" a modo:

    - usa nomenclatura standard (perché i nomi di "variabili" con la lettera maiuscola?): è pura cosmesi, ma a lungo andare aiuta.
    - il costruttore "va bene", i campi però dovrebbero essere privati e prevedere appositi metodi "getter" e "setter" per accedere e/o modificare i campi della classe Cd
    - il metodo CreaArray non c'azzecca, per quanto detto sopra.


    fatto ciò, manca tutta la ciccia: ordinamento, etc etc.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5
    Grazie innanzitutto della risposta putroppo ho cercato su google ma riguardo questo esercizio ho trovato sl domande senza risposte...Allora:

    Il tutto diventerebbe così:
    codice:
    public class CdProva 
    {
    	String eNome;
    	int eMinuti;
    	double ePrezzo;
    	String eAutore;
    	
    	public CdProva(String aNome, int aMin, double aPrize, String aAuctor)
    	{
    		eNome=aNome;
    		eMinuti=aMin;
    		ePrezzo=aPrize;
    		eAutore=aAuctor;
    	}
    }
    Non capisco cosa intendi per metodi getter e setter se per favore mi spieghi
    Per quanto riguarda il popolamento mi chiede di farlo nella classe test quindi sta bene??

    Per quanto riguardo tutto il resto("la ciccia ")xD compilero il programma a pezzi e quindi aggiornerò il codice man mano che vado avanti
    Scusami se ti sembro un imbranato ma ho una confusione in testa

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    il thread a cui mi riferivo:

    http://forum.html.it/forum/showthrea...readid=1493364

    Senza salir in cattedra, visto che manco faccio il programmatore, men che meno il professore di fondamenti 001 di java: quando si crea una classe, a meno che non ci sia una qualche ragione specifica (che tu solo puoi sapere, la pigrizia non è una risposta), i vari campi normalmente non sono direttamente accessibili:

    codice:
    public class Cd {
      
      private String titolo, autore;
      private int durata;
      private double prezzo;
    
      public Cd(String titolo, String autore, int durata, double prezzo) {
        this.titolo = titolo;
        ...
        ...
      }
    
    // setter titolo
      public void setTitolo (String titolo) {
        this.titolo = titolo;
      }
    
    // getter titolo
      public String getTitolo() {
        return titolo;
      }
    
    //altri setter e getter per gli altri campi omissis
    
    
    // toString per comoda rappresentazione
      public String toString() {
        return titolo + " - " + autore + " - " + durata + " - " + prezzo;
      }
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5
    Quindi il tutto deve venire così:
    codice:
    public class Cd
    {
    	private String author;
    	private String title;
    	private int time;
    	private double price;
    
    	public Cd(String author, String title, int time, double price)
    	{
    		this.author = author;
    		this.title = title;
    		this.time = time;
    		this.price = price;
    	}
    
    	public String getAuthor()
    	{
    		return author;
    	}
    
    	public void setAuthor(String author)
    	{
    		this.author = author;
    	}
    
    	public String getTitle()
    	{
    		return title;
    	}
    
    	public void setTitle(String title)
    	{
    		this.title = title;
    	}
    
    	public int getTime()
    	{
    		return time;
    	}
    
    	public void setTime(int time)
    	{
    		this.time = time;
    	}
    
    	public double getPrice()
    	{
    		return price;
    	}
    
    	public void setPrice(double price)
    	{
    		this.price = price;
    	}
    
    	@Override
    	public String toString()
    	{
    		return String.format("%s, %s - %d (%f)", title, author, time, price);
    	}
    }
    Vabbè apparte i this. che a parer della prof non piacciono non capisco come in questo caso debba inserire dei metodi getter e setter quando in un esercizio simile siamo passati subito all ordinamento senza definire questi metodi O.o
    E comunque grazie dell'aiuto

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.