package sudoku; public class Symbole { private final String valeur; public Symbole(String symbole) { this.valeur = symbole; } // Factory methods pour différents types public static Symbole of(String s) { return new Symbole(s); } public static Symbole of(int n) { return new Symbole(String.valueOf(n)); } public static Symbole of(char c) { return new Symbole(String.valueOf(c)); } public boolean isInt() { try { Integer.parseInt(valeur); return true; } catch (NumberFormatException e) { return false; } } public boolean isLetter() { return valeur.length() == 1 && Character.isLetter(valeur.charAt(0)); } @Override public String toString() { return valeur; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null || getClass() != obj.getClass()) return false; Symbole symbole = (Symbole) obj; return valeur.equals(symbole.valeur); } }