Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]da ArrayList ad array

    Ciao devo creare una classe Tavolo contente un arrayList<VoceDiMenu>; il problema mi chiede di creare un metodo VoceDiMenu[] Getordinazioni()... ho conevrtito quindi un ArrayList in un array usando il metodo toArray(T[]a) della classe arrayList..il problema è che non riesco a stampare tutti gli elementi dell'array:

    codice:
    import java.util.*;
    class Tavolo{
    
    ArrayList<VoceDiMenu> ordinazioni;
    VoceDiMenu[] stringArray;
    Tavolo(){
        ordinazioni=new ArrayList<VoceDiMenu>();
    }
    public void aggiungi(VoceDiMenu m){
        ordinazioni.add(m);
    }
    
    public void conto(){ //stampo tuttte le ordinazioni eed il prezzo totale;
        int somma=0;
        for(VoceDiMenu  m: ordinazioni){
            somma+=m.getprezzo();
            
    }
    System.out.println(Getordinazioni().toString()); 
    System.out.println("ho speso in totale: "+somma+ " euro");
    
    }
    VoceDiMenu[] Getordinazioni(){
    stringArray = ordinazioni.toArray(new VoceDiMenu[ordinazioni.size()]);
        return  stringArray;
    }
    
    public String toString(){
        String h="";
        for(int pos=0;pos<stringArray.length;pos++){
        h+=stringArray[pos];
        }
        return h;
    }
    public static void main(String[] args){
        Tavolo t=new Tavolo();
        t.aggiungi(new Carne(2));
        t.aggiungi(new Pesce(3));
        t.aggiungi(new Carne(1));
        t.conto();
        
    }
    }

    Il compilatore stampa..una riga tipo [LVoceDiMenu;@c3c749 (non riconosce il toString()) e poi il prezzo totale...come faccio a stampare tutte le ordinazioni dal metodo VoceDiMenu[] Getordinazioni()?
    Ultima modifica di LeleFT; 31-07-2015 a 15:35 Motivo: Sistemata chiusura tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da el92 Visualizza il messaggio
    Il compilatore stampa..una riga tipo [LVoceDiMenu;@c3c749 (non riconosce il toString())
    Nel codice c'è parecchia confusione!

    Innanzitutto quando fai:
    System.out.println(Getordinazioni().toString());

    il toString() che sta usando è quello dell'oggetto array (non quello di Tavolo). Il toString() degli array fornisce quella forma lì che hai indicato ... non lo puoi ridefinire.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2024 vBulletin Solutions, Inc. All rights reserved.