Bonjour, je suis actuellement entrain de coder un programme en java capable de lire une date, pour l'instant j'en suis au début mais je rencontre un problème :
Voici mon code :
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
package pro;
 
import java.util.Scanner;
 
public class main {
 
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
 
		char caractere = 0, verif = 0;
		String date, annees = ("123456789");
		int j;
 
		System.out.println("Bonjour, veuillez entrer une date : ");
		date = sc.nextLine();
		System.out.println("Vous avez saisi date : " +date);
 
		for (int i = 0; i < 4; i++){
			System.out.println("Vous avez saisi date : " +date);
			caractere = date.charAt(i);
			System.out.println("Vous avez saisi caractere: " +caractere);
			j = 0;
			while (verif != caractere){
				verif = annees.charAt(j);
				System.out.println("Vous avez saisi verif : " +verif);
				j++;
			}
		}
		if (caractere != verif){
			System.out.println("Il y a une erreur.\n");
		}
		else{
			System.out.println("La date est bonne.\n");
		}
	}
}
Mon soucis se trouve dans la boucle while : la variable "j" ne prends jamais la valeur 0 alors que je l'initialise à chaque tour de ma boucle for. Or une variable de type char comprend les valeurs entre 0 à 65535. Je ne vois donc pas pourquoi ma variable ne prends pas la valeur 0. Si on peut m'expliquer pourquoi, merci bien