Fusion tableau(java)

bouchrot Messages postés 394 Statut Membre -  
bouchrot Messages postés 394 Statut Membre -
Bonjour,
salut j'ai fait un exercice de fusion de 2tableau en java mais ça n'a pas marcher
s'il vous plait que quelqu'un corrige ma solution

package fusion.tableau;
import java.util.*;

public class FusionTableau {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//declaration
int tab1[],tab2[],i,j,T,tab3[];
//la taille de tab1
System.out.println("entré la taille du tableau1");
T = scan.nextInt();
//declaration de tab 1
tab1 = new int[T];
//remplissage
for(i = 0;i<tab1.length;i++){
System.out.println("entré l'element"+(i+1) );
tab1[i] = scan.nextInt();
}
//affichage
for(i=0;i<tab1.length;i++){
System.out.println("l'élément"+":"+tab1[i]+"\n");
}
//taille de tab2
System.out.println("entré la taille du tableau2");
T = scan.nextInt();
//declaration de tab 2
tab2 = new int[T];
//remplissage
for(i=0;i<tab2.length;i++){
System.out.println("entré l'élément"+(i+1));
tab2[i] = scan.nextInt();
//affichage
}
for(i=0;i<tab2.length;i++){
System.out.println("l'element"+":"+tab2[i]+"\n");
}
tab3 = new int[T];
for(i=0;i<T;i++)
{
tab3=tab1;
}
for(j=0;j<T;j++)
{
tab3=tab2;
}
System.out.println(tab3);
}
}

A voir également:

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Il faut que tu divises ton code, pour avoir une méthode pour rentrer les données, une autre pour faire la fusion, enfin une dernière pour afficher le résultat.
On ne mets jamais tout dans le main !

public class FusionTableau
{
    public static int[] lire();
    public static int[] fusionner(int[] tab1, int[] tab2);
    public static void afficher();

    public static void main(String...args)
    {
        int[] tab1 = lire();
        int[] tab2 = lire();
        int[] tab3 = fusionner(tab1,tab2);
        afficher(tab3);
    }
}

Organises ton code comme ça, mets des commentaires sur ce que font chaque ligne (ce qu'elles sont censés faire au moins), ce sera beaucoup plus simple à relire et à recorriger.
Et si tu n'y arrives toujours pas, colles ton nouveau code, sans oublier les balises de code pour conserver l'indentation (le bouton est à côté des boutons gras, italique, souligné)
0
bouchrot Messages postés 394 Statut Membre 6
 
je crois qu'ont peut met tous dans une main ,et ton idée veut dire que je doit appliquer les constructeurs mais c'est difficile
et a propos des commentaire
j'ai mis les commentaire les plus nécessaire
0
KX Messages postés 19031 Statut Modérateur 3 020
 
"je doit appliquer les constructeurs"
Non pas besoin de constructeur, toutes les méthodes que j'ai mises sont static. Le main tu ne devrais pas avoir à le modifier (et il n'y a pas de new donc pas de constructeur !)

"On peut tout mettre dans le main"
Oui, mais non. Ce n'est pas propre. Voir que tu fais copier-coller pour remplir ton tableau1 puis ton tableau2, c'est vraiment horrible. Heureusement qu'on ne t'as pas demander de fusionner 15 tableaux ! Moi si je dis ça c'est parce que c'est beaucoup plus simple à lire et à corriger.

"j'ai mis les commentaire les plus nécessaire"
Mauvaise habitude ! Plus tu mets de commentaires mieux c'est. Là encore ça t'aidera à corriger...
0
bouchrot Messages postés 394 Statut Membre 6
 
j'ai compris si notre code est top gros c'est catastrophique mais pas mal , fusion de 2 tableau
0
bouchrot Messages postés 394 Statut Membre 6
 
malheureusement c'est tout ce que je sais si vous avez une autre solution aide moi s'il vous plait
0