52 lines
1.1 KiB
Java
52 lines
1.1 KiB
Java
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);
|
|
}
|
|
}
|