CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Fonction qui retourne un tableau;

Quintoff
Quintoff
Niveau 10
25 janvier 2006 à 14:39:56

Salut,

J´ai une fonction qui doit modifier un tableau 3D et pour cela, j´utilise 2 boucles "for" imbriquées pour parcourir le tableau dans ses 2 première dimension. Et pour la 3eme dimension j´utilise une fonction qui retourne un tableau 1D.

Est-ce que le fonction va me retourner la valeur du tableau ou alors la référence ?

Pour vous éclairer voici mon code (simplifié) :

for(int i=0;i<largeurTableau;i++)
for(int j=0;j<hauteurTableau;j++)
tableau[i][j] = getTile(i, j);

et la fontion getTile :

private int[] getTile(int xLocation, int yLocation) {
...
return Tile; // tile est un tableau 1D
}

Merci d´avance :ok:

_Xaar
_Xaar
Niveau 10
25 janvier 2006 à 15:06:27

Tu ne peut pas faire un test en disant au programme d´afficher tableau[i][j] à l´écran juste après le retour de getTile pour voir si cà correspond à ce que tu attends? C´est ce que je fais quand je ne suis pas sûr de ce qu´il y a dans une donnée.

Quintoff
Quintoff
Niveau 10
25 janvier 2006 à 15:11:04

Oauis mais tu vois ici le problème c´est que si ça me retourne une référence, ça "fonctionnera" quand même au niveau technique, mais le problème c´est que comme la référence pointerait vers un tableau définit dans une fonction locale (donc temporaire) c´est que il est possible qu´un autre programme réécrive sur cette référence mais on ne sait pas dire quand :) .

Donc si ça ne fonctionnait pas comme je le voudrais, je pourrais ne pas le voir pendant des heures et de test ou le voir ou bout d´une demi-seconde :)

Quintoff
Quintoff
Niveau 10
25 janvier 2006 à 15:12:31

il est possible qu´un autre programme réécrive sur cette référence

Je m´exprime mal, je veux dire par la qu´un autre programme peut réécrire sur l´emplacement mémoire qui est pointé par la référence.

guyver2
guyver2
Niveau 10
25 janvier 2006 à 15:28:08

il n´y a pas de pointeur en java donc je ne pense pas qu´il y ai de probleme de référence ou pas référence (comme en C). Et je ne pense pas qu´il y ai de probleme de durée de vie de ton tableau. lors du retour de ta fonction getTile tu renvoi un tableau et pas un pointeur donc (a mon avis) aucun probleme.

Quintoff
Quintoff
Niveau 10
25 janvier 2006 à 15:33:22

Ok merci guyver.

Mais bon il à quand même des références en Java :)

Exemple :
Objet objet1 = new Objet();
Objet objet2 = objet1;

objet1 fait référence à un objet et quand tu fais objet2=objet1 tu attribue à objet2 la même référence. Donc objet1 et objet2 font référence au même objet :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment