Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Passaggio di stringhe

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    codice:
    public void  set_nome(String   nome,int i){
    this.nome=new String[200];
    
    this.nome[i]=nome;
    }
    Io praticamente ad esempio nella posizione o ci passo set_nome("1",0) e set_cogome("2",1);

    Ora mi stampa sia nella posizione 0 null e nella posizione 1 "2". invece io penso che dovrebbe stampare 1 e 2 perchè lo salvato in posiizone diverse
    Così c'è un problema: riassegni sempre un nuovo array.
    Quando invochi set_cogome("2",1), quello che hai settato in precedenza es. all'indice 0 sparisce (torna a null perché hai istanziato un nuovo array).

    Dubito sia quello che volevi .....


    P.S. scusa ma vedo ora: set_nome e set_cogome sono due metodi distinti o hai sbagliato solo qui il nome? E se sono distinti, operano entrambi su this.nome ?
    Ultima modifica di andbin; 10-06-2014 a 14:11
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Così c'è un problema: riassegni sempre un nuovo array.
    Quando invochi set_cogome("2",1), quello che hai settato in precedenza es. all'indice 0 sparisce (torna a null perché hai istanziato un nuovo array).

    Dubito sia quello che volevi .....


    P.S. scusa ma vedo ora: set_nome e set_cogome sono due metodi distinti o hai sbagliato solo qui il nome? E se sono distinti, operano entrambi su this.nome ?
    no ho sbagliato e solo il nome e non operano su this.nome

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    residenza
    Ancona, Italia
    Messaggi
    16
    codice:
    publicvoid  set_nome(String   nome,int i){
    this.nome=newString[200];
    
    this.nome[i]=nome;
    }
    //basta questo senza il new String[200]
    this.nome[i] = nome;

    Se fai new String[200] sostituisci il riferimento ogni volta che invochi set_nome() ad un array di 200 record VUOTO.

    Quindi o lo istanzi nella classe e poi lo inizializzi nel costruttore, oppure lo inizializzi e lo riempi man mano che esegui i set_nome.
    Magari stai attento ai limiti di indice.

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