Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    13

    Problema con metodo in Java

    ciao a tutti sto facendo un esercizio in java e non riesco a fare un metodo....vi posto tutti i file dell'esercizio per primo vi metto quello contenente il metodo che non riesco a fare...

    codice:
    import java.util.*;
    import java.lang.String;
    
    
    public class MP3Player {
    
        private SimpleID3[] list;
    
        public MP3Player() {
            list = null;
        }
    
        /*
        ** Il seguente metodo deve restituire una playlist
        ** contenente tutti i brani  in list  dell'artista
        ** passato come parametro. Si utilizzi  il  metodo
        ** sameArtist di SimpleID3 allo scopo.
        */
        public SimpleID3[] getPlayList(String artist){
    
    
    }
    
        public void createList() {
            list = new SimpleID3[
                UtilLeggiTastiera.leggiInteroPositivoDaTastiera("Quanti elementi vuoi inserire?")
            ];
            for (int i = 0; i < list.length; i++)
                list[i] = new SimpleID3(
                    UtilLeggiTastiera.leggiStringaDaTastiera("Artist: "),
                    UtilLeggiTastiera.leggiStringaDaTastiera("Album: "),                 
                    UtilLeggiTastiera.leggiInteroPositivoDaTastiera("Year: ")
                 );       
        }
    
        public String toString() {
            String temp = "Contenuto del player:\n";
            temp +=       "---------------------\n";
            for (int i=0; i<list.length; i++)
                temp += list[i] + "\n"; 
            temp +=       "---------------------";
            return temp;
        }
    
    }

    questo è il primo file dove c'è il metodo che non riesco a fare ovvero : public SimpleID3[] getPlayList(String artist)



    codice:
    public class MyMP3Player {
    
        public static void main(String[] args) {
       
            MP3Player ipod = new MP3Player();
    
            /*
            ** Creare una lista, 
            */
            ipod.createList();
      
            /*
            ** Stampare la lista, 
            */
            System.out.println(ipod);
    
            /*
            ** Estrarre una playlist in base a un artista e
            ** quindi stamparla
            */
            SimpleID3[] playList = ipod.getPlayList("neffa");
    
            for (int i=0; i<playList.length; i++)
                System.out.println(playList[i]);
    
        }
    
    }


    codice:
    import java.util.*;
    import java.lang.String;
    
    
    public class SimpleID3 {
    
        private String artist;
        private String album;
        private int year;
    
        public SimpleID3(String artist, String album, int year) {
            this.artist = artist;
            this.album = album;
            this.year = year;
        }
    
        /*
        ** Il seguente metodo restituisce true se il campo
        ** artist  di questo  oggetto e`  uguale a  quello
        ** passato come parametro.
        */
        public boolean sameArtist(String artist) {
    
    if(this.artist.equals(artist))
    return true;
    else{
    return false;
    
    }
    }
    
          
        public String getArtist() {
            return artist;
        }
    
        public String getAlbum() {
            return album;
        }
    
        public int getYear() {
            return year;
        }
    
        public String toString() {
            String temp = "";
            temp += "Artist: " + artist + "\n";
            temp += "Album:  " + album + "\n";
            temp += "Year:   " + year;
            return temp;
        }
    
    }


    codice:
    import java.util.Scanner;
    
    class UtilLeggiTastiera {
    
        public static int leggiInteroDaTastiera(String messaggio) {
    
            Scanner tastiera = new Scanner(System.in);
        
            System.out.print(messaggio);
            while(!tastiera.hasNextInt()) {
                tastiera.next();
                System.out.print("Immetti un intero, per favore: ");
            }
    
            return tastiera.nextInt();
    
        }
    
        public static int leggiInteroPositivoDaTastiera(String messaggio) {
    
            int numero = leggiInteroDaTastiera(messaggio);
            while (!(numero >= 0)) {
                System.out.println("Immetti un intero positivo: ");
                numero = leggiInteroDaTastiera(messaggio);
            }
            return numero;
    
        }
    
        public static String leggiStringaDaTastiera(String messaggio) {
    
            Scanner tastiera = new Scanner(System.in);
        
            System.out.print(messaggio);
    
            return tastiera.nextLine();
            
        }
    
    }
    chiedo il vostro aiuto grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    L'esercizio ti vincola ad usare gli array? Altrimenti io userei delle strutture dinamiche tipo ArrayList o Vector. In ogni caso per l'ultimo metodo hai gia' scritto la soluzione nel commento sopra. Scorri la lista, per ogni elemento fai list[i].sameArtist se e' true lo inserici, se e' false no.

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.