Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Metodo generico array di T[]

    Ciao ragazzi,

    Anche oggi ho un problema da esporre alla Vs enorme conoscenza di Java:-)

    Devo scrivere un metodo generico che possa ricevere in input un array di qualunque tipo e restituisca un array similare composto però solo dagli elementi pari dell'array iniziale.

    Di seguito quanto scritto:

    codice:
    public static T[] soloPari( T[] x) { T[] risultato =new T[1000](); int i2=0; for(int i=0;i<x.length;i=i+2) { risultato[i2]=x[i]; i2++; } return risultato; }
    Mi da tuttavia errore nella creazione del nuovo array risultato, nel senso che mi chiede un ; tra [1000] e le parentesi tonde. Ho provato in tutti i modi a istanziare l'array ma continua a darmi errore.

    Help me please. Tks.

  2. #2

    Re: Metodo generico array di T[]

    Originariamente inviato da roby492
    ...mi chiede un ; tra [1000] e le parentesi tonde.
    Infatti le tonde non ci vogliono. Stai istanziando un array non un oggetto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Leggi qui
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Ragazzi ho fatto numerose prove, ora sono in stallo in questa situazione...

    codice:
    @SuppressWarnings({"unchecked"}) public class OttoUndici<T> { T[] a = (T[])new Object[]{"3","2","1","0"}; public static void main(String[] args){ T[] c=(T[])new Object[10]; c=soloPari(a); } public T[] soloPari(T[] a){ T[] risultato=(T[])new Object[10]; int i2=0; for(int i=0;i<a.length;i=i+2) { risultato[i2]=a[i]; i2++; } return risultato; } }
    Mi da 4 errori di compilazione dovuti al fatto che utilizzo una variabile non-stati e non puoi riferirsi a un contenuto statico. (??)

    Grazie mille

  5. #5
    Lo stacktrace magari. Grazie!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    In allegato a questo post :-)

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da roby492
    In allegato a questo post :-)
    Non vedo nulla allegato...
    Ad ogni modo lo stacktrace è del semplice testo, fai copia&incolla
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Cavolo! In ogni modo, non chiedermi perchè, non riesco a fare copia/incolla ma stavo tentando di allegare uno screenshot.

    Vediamo se ora lo prende senza fare storie...

    Grazie
    Immagini allegate Immagini allegate

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da roby492
    Ragazzi ho fatto numerose prove, ora sono in stallo in questa situazione...

    codice:
    @SuppressWarnings({"unchecked"}) public class OttoUndici<T> { T[] a = (T[])new Object[]{"3","2","1","0"}; 
    
    public static void main(String[] args){ 
    T[] c=(T[])new Object[10]; c=soloPari(a); } public T[] soloPari(T[] a){ T[] risultato=(T[])new Object[10]; int i2=0; for(int i=0;i<a.length;i=i+2) { risultato[i2]=a[i]; i2++; } return risultato; } }
    Mi da 4 errori di compilazione dovuti al fatto che utilizzo una variabile non-stati e non puoi riferirsi a un contenuto statico. (??)

    Grazie mille
    Ho notato ora che quella riga compatta è il tuo programma...


    L'errore è banale: il main è un metodo statico (può essere chiamato senza dover creare un'istanza di una classe). a e soloPari NON SONO "statici". Ergo, o crei un'istanza di OttoUndici<T> e accedi da quella oppure li dichiari entrambi static...

    Stai studiando su un manuale?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: Re: Metodo generico array di T[]

    Originariamente inviato da satifal
    Infatti le tonde non ci vogliono. Stai istanziando un array non un oggetto.
    Non c'entra, non sono le tonde a caratterizzare gli oggetti, infatti gli array sono oggetti.
    Per ovvi motivi alcuni oggetti sono sintatticamente supportati dal linguaggio in maniera particolare, un po' come gli oggetti di tipo String o i "wrapper" dei tipi primitivi.

    http://java.sun.com/docs/books/jls/t...ml/arrays.html

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.