Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Java è pass-by-value, questo significa che per gli array passa solo il riferimento cioè tu puoi cambiare i valori al suo interno ma non il puntatore, fai qualcosa del genere:
    codice:
    public static int [] arrayMax(int[]a, int[]b){
            return a.length > b.length ? a : b;
        }

  2. #2
    Quote Originariamente inviata da RoTeam Visualizza il messaggio
    Java è pass-by-value, questo significa che per gli array passa solo il riferimento cioè tu puoi cambiare i valori al suo interno ma non il puntatore, fai qualcosa del genere:
    codice:
    public static int [] arrayMax(int[]a, int[]b){
            return a.length > b.length ? a : b;
        }
    Purtroppo a livello didattico non sono ancora arrivato al significato dell'istruzione ? a:b.
    In qualunque caso, mi è stata consigliata la seguente alternativa (la tua è sicuramente più breve, scrivo comunque nel caso qualcuno fosse interessato e come me non conosce quella notazione):

    codice:
    public static int [] arrayMax(int[]a, int[]b){
          if (a.length>b.length){
                int [] temp = null;
                temp = a;
                a = b;
                b = temp;
          }
          return b;
    }

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Giammarco18 Visualizza il messaggio
    In qualunque caso, mi è stata consigliata la seguente alternativa
    La tua alternativa ha poco senso. Non devi "scambiare" un bel niente. Se la lunghezza di a è maggiore della lunghezza di b, allora restituisci a altrimenti (else) restituisci b. Se entrambi hanno lunghezza uguale, puoi stabilire tu quale dei due restituire.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

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.