IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Tableau de String en tableau d'entiers


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Tableau de String en tableau d'entiers
    Bonjour tous le monde,
    j ai un projet qui consiste a calculer le CRC d'une chaîne de caractère entrée par l'utilisateur. donc je vous explique le fonctionnement de mon programmes.
    en premier, l'utilisateur fait entrer un message que le programme devrait le convertir en binaire, après il doit nous demander de faire entrer le polynôme générateur, ensuite il devra faire la division binaire et nous donner le CRC aupres de la suite binaire convertie ultérieurement. Donc, mon problème c'est que après conversion de la chaîne de caractère qui est en String je la convertie en tableau de String pour que je puisse la convertir en tableau d'entiers, mais syntaxiquement mon programme Eclipse ne détecte aucune erreur, mais lors de l’exécution, la c est autre chose il me donne que j ai une faute dans la conversion de du tableau String en Tableau d'entiers. Pour cela je mets a votre disposition mon code Java, espérant d'avoir une réponse ou bien une solution a mon problème, et Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    public class Crc1 {
    	public static int[] convertStringArraytoIntArray(String[] sarray) throws Exception {
    		if (sarray != null) {
    		int intarray[] = new int[sarray.length];
    		for (int i = 0; i < sarray.length; i++) {
    		intarray[i] = Integer.parseInt(sarray[i].toString());
     
    		}
    		return intarray;
    		}
    		return null;
    		}
    	public static void main(String[] args) throws IOException {
    		int a=0;
    		  System.out.println("taper votre chaine");
    		    BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
    		    String s = buff.readLine();
    		    String binaire;
     
    		    byte[] bytes = s.getBytes();
    		    StringBuilder binary = new StringBuilder();
    		    for (byte b : bytes) {
    		     int val = b;
    		     for (int i = 0; i < 8; i++) {
    		      binary.append((val & 128) == 0 ? 0 : 1);
    		      val <<= 1;
    		      a = a + 1;
    		     }
     
    		    }
    		    System.out.println(binary);
    		    //System.out.println("le nombre de bit est :" binary.length());
    		    binaire=binary.toString();
    		    System.out.println(binaire);
    		    String[] result = binaire.split("");
    		    int [] data;
    		    int [] resultat;
    		    int data_bits=result.length;
    		    data= new int [data_bits];
    		    resultat =convertStringArraytoIntArray(result);
    		    for(int i=0;i<result.length;i++){
    		    	data[i]=resultat[i];
     
    		    }
    		    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    	        int[] div;
    	        int[] divisor;
    	        int[] rem;
    	        int[] crc;
    	         int divisor_bits, tot_length;
    	        System.out.println("entre le nombre de bits a diviser : ");
    	        divisor_bits=Integer.parseInt(br.readLine());
    	        divisor=new int[divisor_bits];
    	        System.out.println("entre la suite a diviser : ");
    	        for(int i=0; i<divisor_bits; i++)
    	            divisor[i]=Integer.parseInt(br.readLine());
                   tot_length=data_bits+divisor_bits-1;
     
    	        div=new int[tot_length];
    	        rem=new int[tot_length];
    	        crc=new int[tot_length];
    	    /*------------------ CRC GENERATION-----------------------*/    
    	        for(int i=0;i<data.length;i++)
    	            div[i]=data[i];
     
    	        System.out.print("Dividend (after appending 0's) are : ");
    	        for(int i=0; i< div.length; i++)
    	            System.out.print(div[i]);        
    	        System.out.println();
     
    	        for(int j=0; j<div.length; j++){
    	              rem[j] = div[j];
    	        }
     
    	        rem=divide(div, divisor, rem);
     
    	        for(int i=0;i<div.length;i++)           
    	        {
    	            crc[i]=(div[i]^rem[i]);
    	        }
     
    	        System.out.println();
    	        System.out.println("CRC code : ");    
    	        for(int i=0;i<crc.length;i++)
    	            System.out.print(crc[i]);
    	    }
     
     
    	    static int[] divide(int div[],int divisor[], int rem[])
    	    {
    	        int cur=0;
    	        while(true)
    	        {
    	            for(int i=0;i<divisor.length;i++)
    	                rem[cur+i]=(rem[cur+i]^divisor[i]);
     
    	            while(rem[cur]==0 && cur!=rem.length-1)
    	                cur++;
     
    	            if((rem.length-cur)<divisor.length)
    	                break;
    	        }
    	        return rem;
    	    }
    }

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2013
    Messages : 76
    Points : 143
    Points
    143
    Par défaut
    (Pas tout à fait le forum java )

    Sinon, en dotnet on peut utiliser la méthode ToCharArray() de la classe string.

    Après, le cast de Char en int ne pose pas de soucis.

    Sinon, tu peux parcourir le (la?) string octet par octet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach(byte b in System.Text.Encoding.UTF8.GetBytes(str.ToCharArray()))
        Console.Write(b.ToString());
    Après, tu dois pouvoir trouver les équivalents en java assez facilement

Discussions similaires

  1. Tableau de String en tableau d'entiers
    Par keyser9 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 28/04/2013, 17h52
  2. Remplissage d'un tableau à partir d'un tableau de String
    Par aljessy dans le forum Composants
    Réponses: 4
    Dernier message: 18/08/2012, 13h27
  3. [XL-2003] Tableau de String en tableau d'Integer
    Par brownthefou dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/04/2012, 14h49
  4. Ajouter un tableau de string à un tableau de string
    Par nodules dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 22/07/2010, 17h04
  5. conversion d'un tableau de string en tableau de file
    Par sroux dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 01/12/2006, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo