I.S.I.L - Institut Supérieur des Ingénieurs Liégeois

Nous vous souhaitons la bienvenue et une bonne visite sur le forum de
I.S.I.L - Institut Supérieur des Ingénieurs Liégeois

Merci de vous connecter ou vous inscrire.
I.S.I.L - Institut Supérieur des Ingénieurs Liégeois

Forum d'entraide


    Exercice Java 3

    Partagez
    avatar
    Gilles M
    Admin

    Messages : 93
    Date d'inscription : 05/02/2009

    Exercice Java 3

    Message par Gilles M le Dim 31 Oct - 16:54

    Voilà je viens de le terminer.

    Tout correspond à l'énoncer. SAUF, il me manque la limitation à 2 décimales.. Un connerie mais je vois pas où le mettre.

    Voila mon code. Je n'ai pas mis de commentaire désolé.

    Main.java
    Code:
    package exercice3;

    import java.util.Arrays;
    import java.util.Random;
    import javax.swing.JOptionPane;


    public class Main {

        public static void main(String[] args)
        {
            int n=0,i,j;
            int mat[][];
            String str,m1Str,m2Str,vStr,str2;

            do
            {
                str=JOptionPane.showInputDialog("Entrez n?");
                n=Integer.parseInt(str);
            }while(n>5 || n<0);

            if (n!=0)
            {
                mat=new int[n][n+2];

                for(i=0;i<n;i++)
                {
                    for(j=0;j<(n+2);j++)
                    {
                        Random valAl= new Random();
                        mat[i][j]=valAl.nextInt(100);
                    }
                }

                m1Str=Lib.matToStr(mat);
             
                Lib.permutColMat(mat);
                m2Str=Lib.matToStr(mat);
               
                float vect[]=new float[n];
                vect=Lib.initVect(mat, vect);

                vStr=Arrays.toString(vect);
                str2="Voici la matrice\n"+m1Str+"\nVoici la matrice permutée\n"+m2Str+"\nVoici le vecteur\n"+vStr;
                JOptionPane.showMessageDialog(
                      null,
                      str2
                    );
            }
        }
    }


    Lib.java
    Code:
    package exercice3;

    import java.util.Arrays;


    public class Lib {

        public static String matToStr(int mat[][])
        {
            int i;
            String str;

            str=Arrays.deepToString(mat);
            str = str.replace("], ", "\n");
            str = str.replace("[","");
            str = str.replace("]","");
            return str;
        }

        public static int[][] permutColMat(int mat[][])
        {
            int i,tmp;

            int n=(mat.length)+1;

            for(i=0;i<mat.length;i++)
            {
                tmp=mat[i][0];
                mat[i][0]=mat[i][n];
                mat[i][n]=tmp;
            }
            return mat;
        }

        public static float[] initVect(int mat[][],float vect[])
        {
            int i,j;
            float somme=0;

            for(i=0;i<mat.length;i++)
            {
                for(j=0;j<mat[i].length;j++)
                {
                    somme=somme+mat[i][j];
                }
                vect[i]=(somme/j);
            }

            return vect;
        }
    }
    avatar
    PierreC
    Ingénieur
    Ingénieur

    Messages : 366
    Date d'inscription : 04/02/2009

    Re: Exercice Java 3

    Message par PierreC le Lun 1 Nov - 7:29

    à la fin de ton code lib pour les 2 décimales,

    tu as "vect[i]=(somme/j);"
    tu peux mettre
    vect[i]=(float)((int)((somme/j)*100))/100;





    avatar
    Gilles M
    Admin

    Messages : 93
    Date d'inscription : 05/02/2009

    Re: Exercice Java 3

    Message par Gilles M le Lun 1 Nov - 13:08

    Ok merci. En effet ca ne garde que 2décimales.

    Par contre ce que je cherchais a la base c'est une façon de mettre sous le formal : 34,00 même si c'est entier.
    Enfin toujours merci

    Lodwig
    Apprenti
    Apprenti

    Messages : 22
    Date d'inscription : 23/09/2009

    Re: Exercice Java 3

    Message par Lodwig le Lun 1 Nov - 14:32

    Utilise alors DecimalFormat :
    DecimalFormat arrondi = new DecimalFormat(#,00);
    System.out.println(arrondi.format(variable));
    avatar
    PierreC
    Ingénieur
    Ingénieur

    Messages : 366
    Date d'inscription : 04/02/2009

    Re: Exercice Java 3

    Message par PierreC le Mar 2 Nov - 17:11

    Oui mais le décimal format ne pourra pas aller dans le vecteur... decimalformat renvoi une string






    Contenu sponsorisé

    Re: Exercice Java 3

    Message par Contenu sponsorisé


      La date/heure actuelle est Dim 26 Mar - 7:14