Bonjour,

Je suis débutant en JAVA, et on nous à demander de tester des bouts de codes chez nous.

Le code à tester est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
public class test
{
 
   public static void main(String[] args)
   {
  char c = 'a';
  c = c +  'a';
  System.out.print(c);
  }
 }
Mais ca ne compile pas l'erreur est la suivante :

test.java:7: possible loss of precision
found : int
required: char
c = c + 'a';
^
1 error

Alors j'ai fait d'autres tests et j'ai trouvé deux autres codes qui marchent :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
public class test
{
 
   public static void main(String[] args)
   {
  char c = 'a';
  c += 'a';
  System.out.print(c);
  }
 }
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
public class test
{
 
   public static void main(String[] args)
   {
  char c = 'a';
  c = (char) (c +'a');
  System.out.print(c);
  }
 }
Et finalement ma question c'est que je ne comprends pas l'erreur du premier code. Pourquoi est-ce qu'il me dit que il trouve un integer alors que j'ai déclaré la variable "c" en char 1 ligne plus haut ? Et que la lettre a est entre simple quotte ce qui doit faire d'elle un type "char".

Merci de vos futurs réponses,

Bye bye