Java eclipse

Fermé
mimi - 29 mai 2015 à 13:53
KX Messages postés 16740 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 26 mai 2024 - 1 juin 2015 à 07:01
Bonjour,


j'ai une base de donnée d'ou je récupere mes données qui sont de tupe string mais afin de contunier mon travaille je dois convertire ce type en entier .j'ai éssayé avec perstint mais ya tjr un erreur ?
esk ya d'autre fonctions ou instructions qui peuvent faire cette transfert !
Merci bcp
A voir également:

1 réponse

KX Messages postés 16740 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 26 mai 2024 3 016
29 mai 2015 à 19:55
Bonjour,

"j'ai éssayé avec perstint mais ya tjr un erreur ? "
Quel est le message d'erreur exact et le code correspondant ?
0
voici un fraguement du code source :d'ou j'oubtiens mes données de la table dans un base de données mais les données sont de type String je veux les convertir en entier :
if(res.getString("Nom").equals(textField.getText()) && res.getString("num_compte").equals(ch.ChiffrementAES(textField_1.getText(),textField.getText())))
{ String s=ch.déchiffrementAES(res.getString("solde_c"),res.getString("Prénom"));

Integer g=Integer.getInteger(s);
}

mais ya un erreur dans le input et il selection cette instruction(Integer g=Integer.getInteger(s);)
aidez moi svp
0
KX Messages postés 16740 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 26 mai 2024 3 016
30 mai 2015 à 23:26
Il faut regarder la documentation des méthodes pour savoir ce qu'elles font.

public static Integer getInteger(String nm)
Determines the integer value of the system property with the specified name.

Toi ce que tu veux ce n'est pas récupérer une propriété système, c'est faire la conversion d'une valeur String en int... donc getInteger ne fait pas du tout ça :

La bonne méthode tu l'indiquais toi même même hier : "j'ai éssayé avec perstint"
Il faut bien sûr l'écrire correctement, là encore la documentation est utile :

public static int parseInt(String s) throws NumberFormatException
Parses the string argument as a signed decimal integer.
0
donc vous dite perseInt c'est la solution je vais l'éssayer et te répondre ... merci bcp merci :)
0
ca ne marche pas aussi et voici l'erreur !
<<Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "65000000>>
sachant que le nbmr que je veux convertir est 65000000 mais l'orsque je l'asffiche ;il s'apparait comme ça '65000000 avec des petit carrés ????
SVP aidez moi
et merciiiiiii
0
KX Messages postés 16740 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 26 mai 2024 3 016
1 juin 2015 à 07:01
Techniquement ça marche bien, le problème n'est pas dans la conversion, mais dans le String que tu lui passes. Comme il ne représentes pas un entier, il ne peut pas être converti correctement.

C'est donc probablement tes opérations de chiffrement/déchiffrement AES qui sont corrompus et ne renvoient pas la bonne chose.
Je t'invite à afficher le contenu des String, octet par octet avant et après tes chiffrements :

import java.util.Arrays;

if(res.getString("Nom").equals(textField.getText()) && res.getString("num_compte").equals(ch.ChiffrementAES(textField_1.getText(),textField.getText()))) 
{
    String solde_c = res.getString("solde_c");
    System.out.println(Arrays.toString(solde_c.getBytes());
    String prenom = res.getString("Prénom");
    System.out.println(Arrays.toString(prenom.getBytes());
    String s=ch.déchiffrementAES(solde_c ,prenom); 
    System.out.println(Arrays.toString(s.getBytes());
    int g=Integer.getInteger(s); 
    System.out.println(g);
}
0