166 votes

Convertir un int en char en java

Vous trouverez ci-dessous un extrait de code,

int a = 1;
char b = (char) a;
System.out.println(b);

Mais ce que j'obtiens est une sortie vide.

int a = '1';
char b = (char) a;
System.out.println(b);

Je vais obtenir 1 comme résultat.

Quelqu'un peut-il expliquer cela ? Et si je veux convertir un int en char comme dans le premier extrait, que dois-je faire ?

-1voto

Shivam Rai Points 21

Regardez le programme suivant pour le concept complet de conversion

class typetest{
    public static void main(String args[]){
        byte a=1,b=2;
        char c=1,d='b';
        short e=3,f=4;
        int g=5,h=6;
        float i;
        double k=10.34,l=12.45;
        System.out.println("value of char variable c="+c);
        // if we assign an integer value in char cariable it's possible as above
        // but it's not possible to assign int value from an int variable in char variable 
        // (d=g assignment gives error as incompatible type conversion)
        g=b;
        System.out.println("char to int conversion is possible");
        k=g;
        System.out.println("int to double conversion is possible");
        i=h;
        System.out.println("int to float is possible and value of i = "+i);
        l=i;
        System.out.println("float to double is possible");
    }
}

j'espère que cela aidera au moins quelque chose

-2voto

Si vous voulez convertir un caractère en son entier correspondant, vous pouvez faire quelque chose comme ceci :

int a = (int) 'a';
char b = (char) a;
System.out.println(b);

Cela se produit parce qu'en ASCII, il y a certains éléments qui ne peuvent pas être imprimés normalement.

Par exemple, les nombres 97 à 122 sont des entiers correspondant aux lettres minuscules de a à z.

-2voto

Akash Dhotre Points 1
public class String_Store_In_Array 
{
    public static void main(String[] args) 
    {
        System.out.println(" Q.37 Can you store string in array of integers. Try it.");

        String str="I am Akash";
        int arr[]=new int[str.length()];
        char chArr[]=str.toCharArray();
          char  ch;
        for(int i=0;i<str.length();i++)
        {

            arr[i]=chArr[i];
        }
        System.out.println("\nI have stored it in array by using ASCII value");
        for(int i=0;i<arr.length;i++)
        {

            System.out.print(" "+arr[i]);
        }
        System.out.println("\nI have stored it in array by using ASCII value to original content");
        for(int i=0;i<arr.length;i++)
        {
             ch=(char)arr[i];

            System.out.print(" "+ch);
        }
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X