cs_salatino
Messages postés2Date d'inscriptionjeudi 20 décembre 2007StatutMembreDernière intervention26 janvier 2008
-
26 janv. 2008 à 14:29
Utilisateur anonyme -
26 janv. 2008 à 15:45
/* SVP aider moi à rendre cet code exécutable. J'ai essayé et je n'ai pas réussi*/
import java.io.*;
import java.util.*;
public class FormatDate {
/* Dans Ce programme il nous faut 8 Méthodes
* 1-Méthode ExtraireFormat1(int) pour renvoi le mois
* 2-Méthode Format1 pour changer la Format de xx/xx/xxxx à xx "xxxxx" xxxx
* 3-Méthode ExtraireFormat2(String) pour renvoi l'ordre de mois
* 4-Méthode ExtraireMois(String) renvoi le Mois à partir d'un String saisé
* 5-Méthode Forma2(String) pour mettre le format xx "xxxx" xxxx au xx/xx/xxxx
* 6-Méthode pour controler la siasie isDate1(String) pour la format xx/xx/xxxx
* 7-Méthode pour controler la siasie isDate2(String) pour la format xx "xxxxx" xxxx
* 8-Méthode pour controler la saisie par isDate1() ET isDate2() en même temps
*/// ET le main(String) bien sûr public static String ExtraireFormat1(int Ordre){//cette Methode renvoi Le mois a partir son ordre
String Mois[]=new String[13];
Mois[0]="NoMonth";
Mois[1]="Janvier";
Mois[2]="Février";
Mois[3]="Mars";
Mois[4]="Avril";
Mois[5]="Mai";
Mois[6]="Juin";
Mois[7]="Juillet";
Mois[8]="Août";
Mois[9]="Septembre";
Mois[10]="Octobre";
Mois[11]="Novembre";
Mois[12]="Décembre";
return Mois[Ordre];
}
public static String Format1(String str){/*cette méthode renvoi la Format de Date comme
xx "xxxxxx" xx*/ StringBuffer st=new StringBuffer(str);
int OrderDate=Integer.parseInt(st.substring(3,5));
st.delete(3,5);
st.insert(3,ExtraireFormat1(OrderDate));
st.setCharAt(st.indexOf("/"),' ');
st.setCharAt(st.indexOf("/"),' ');
return st.toString();
}
public static int ExtraireFormat2(String str){/*cette methode renvoi l'Ordre de Mois*/
String Mois_=ExtraireMois(str);
int j=0;
String Mois[]=new String[13];
Mois[0]="NoMonth";
Mois[1]="Janvier";
Mois[2]="Février";
Mois[3]="Mars";
Mois[4]="Avril";
Mois[5]="Mai";
Mois[6]="Juin";
Mois[7]="Juillet";
Mois[8]="Août";
Mois[9]="Septembre";
Mois[10]="Octobre";
Mois[11]="Novembre";
Mois[12]="Décembre";
for(int i=0;i<Mois.length;i++){
if(Mois_.equalsIgnoreCase(Mois[i])){
j=i;
break;
}
}
return j;
}
public static String Format2(String str){//methode pour convertir au format xx/xx/xxxx
StringBuffer st=new StringBuffer(str);
String OrdreDate="";
if(ExtraireFormat2(str)<10){ OrdreDate="0"+ExtraireFormat2(str);
}else{
OrdreDate=OrdreDate.valueOf(ExtraireFormat2(str));
}
st.delete(2,3);
st.delete(2,st.indexOf(" "));
st.insert(3,OrdreDate);//ExtraireFormat2();
st.insert(5,'/');st.setCharAt(2,'/');
return st.toString();
}
public static boolean isDate1(String str){
boolean isDate=false;
int NombreSeparateur=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)=='/'){
NombreSeparateur++;
}
}
if(NombreSeparateur==2 && str.length()==10 && str.charAt(2)=='/' && str.charAt(5)=='/'){
isDate=true;
}else{
isDate=false;
}
return isDate;
}
public static boolean isDate2(String str){
String Mois_=ExtraireMois(str);
boolean Trouve=false;
String Mois[]=new String[13];
Mois[0]=null;
Mois[1]="Janvier";
Mois[2]="Février";
Mois[3]="Mars";
Mois[4]="Avril";
Mois[5]="Mai";
Mois[6]="Juin";
Mois[7]="Juillet";
Mois[8]="Août";
Mois[9]="Septembre";
Mois[10]="Octobre";
Mois[11]="Novembre";
Mois[12]="Décembre";
for(int i=0;i<Mois.length;i++){
if(Mois_.equalsIgnoreCase(Mois[i])){
Trouve=true;
break;
}else{
Trouve=false;
}
}
return Trouve;
}
public static String ExtraireMois(String str){/*Cette methode renvoi le mois a partir
d'un date saisé c'est-à-dire le date xx "xxxxx" xx elle me renvoi la String "xxxxx" */ StringTokenizer stk=new StringTokenizer(str," ");
String st0=stk.nextToken();
st0.concat("SubZéro");
String st1=stk.nextToken();
return st1 ;
}
public static boolean isDate(String str){
boolean IsTheTrueDate=false;
if(isDate1(str) || isDate2(str)){
IsTheTrueDate=true;
}else{
IsTheTrueDate=false;
}
return IsTheTrueDate;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String str;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
try{
do{
System.out.println("Saisir Une Date");
str=in.readLine();
}
while(!isDate(str));
if(str.charAt(2)=='/'){
System.out.print("Le Date est : "+Format1(str));
}
else{
System.out.print("Le Date est : "+Format2(str));
}
}
catch(IOException e){
System.err.println("Erreur s\'est produit :"+e);
}
}
}
Tu as oublié une ligne juste après tes 10 lignes de commentaire au début :
public static String ExtraireFormat1(int Ordre){
Après, ça compile.
Je trouve que ton programme est mal écrit, c'est loin d'être optimisé, c'est sale et bourré de fautes d'orthographe. Tu crées 3 fois le tableau contenant les mois de l'année alors que tu aurais pu le mettre en champ statique et alors ne le déclarer qu'une seule fois. Bon courage quand même.