renforcé l'algorithme pour éviter toute casse

This commit is contained in:
as704245 2019-10-10 14:36:33 +02:00
parent d2e900a78b
commit e1f3fe111d

View File

@ -1,4 +1,4 @@
package config;
package config;
import java.io.*;
import java.util.*;
@ -85,17 +85,18 @@ public class Config {
// ce caractere apparait uniquement en debut de fichier
if (ligne.startsWith("\uFEFF"))
ligne = ligne.substring(1);
while (ligne.equals("")) // on saute les lignes vides si elles sont au debut du fichier
ligne = scan.nextLine();
while (scan.hasNext()) {
if (!(ligne.substring(0, 1).equals("#"))) // si ligne commence par un # c'est un commentaire, donc on
while (scan.hasNext() || !ligne.isEmpty() || ligne.equals(System.lineSeparator())) {
if (!ligne.equals("")) {
if (!(ligne.substring(0, 1).equals("#"))) // si ligne commence par un # c'est un commentaire, donc
// on
// l'ignore
{
if (ligne.substring(0, 1).equals("*")) // si ligne commence par une *, c'est une question
{
q = makeQuestion(ligne);
ligne = scan.nextLine(); // on scan la prochaine ligne
while (!ligne.equals("")) // tant que la ligne n'est pas vide, on lit la suite qui est supposé
while (!ligne.equals("")) // tant que la ligne n'est pas vide, on lit la suite qui est
// supposé
// etre les reponses
{
q.addReponse(ligne);
@ -107,6 +108,7 @@ public class Config {
lireParam(ligne);
}
}
}
ligne = scan.nextLine();
while (ligne.equals("")) // on saute les lignes vides avant de recommencer la boucle while
ligne = scan.nextLine();
@ -154,15 +156,18 @@ public class Config {
public void lireParam(String s) {
int n = s.indexOf(":"); // recherche de position du premier ":" pour pouvoir separer le nom du param de
// sa valeur
if (n != -1) // si -1 alors il n'y a pas de : et donc ce n'est pas un paramètre
{
String spl[] = { s.substring(0, n), s.substring(n + 1, s.length()) };
while (spl[1].substring(0, 1).equals(" "))
spl[1] = spl[1].substring(1, spl[1].length());
spl[0] = spl[0].toUpperCase(); // pour eviter la casse, on met tout en upper case
spl[0] = spl[0].toUpperCase().trim(); // pour eviter la casse, on met tout en upper case
switch (spl[0]) // chaque case correspond é un parametre, pour le moment on ignore tout
// parametre qui n'est pas utile au programme.
{
case "PAPERSIZE":
setPaperSize(spl[1]);
break;
case "CODE":
@ -207,6 +212,7 @@ public class Config {
default: // parametre mal tapé ou non utile (pour le moment) au programme, on l'ignore
}
}
}
// liste des set de chaque valeur de parametre
// actuellement, uniquement les parametres de l'étape 1 sont traités