Sauvegarder

jandarme Messages postés 3 Statut Membre -  
jandarme Messages postés 3 Statut Membre -
Bonjour,

voici mon probleme : je veux lire une fichier texte dans un code java et en meme temps je veux sauvegarder les
informations dans cette fichier dans les tableaux ou j'ai crer pouvez vous m'aider ?
voici mon code:
import javax.swing.*;
import java.io.*;

public class Projet2{

static int NMAX=100;
static String [][] nom = new String [NMAX][4];
static int [][] consommer = new int [NMAX][4];
static double [][] total = new double [NMAX][2];
static int TLocal =75;//initialer le tarif initial
static int TInt= 1000;//initialer la tarif international
static int i,j;
static int nb_elts=0;
static String num,name;
static String afficher="votre choix est invalide!";
static final String DB="java";

static int readint(String msg){

int a=Integer.parseInt(JOptionPane.showInputDialog(msg));
return a;
}

static int phoneNomExist(String num,String name,String nom[][])

{
for(i=0;i<nb_elts;i++)
{
if ((nom[i][3].equals(num))&&(nom[i][0].equals(name)))
return i;
}
return -1;
}

static int phoneExist(String num,String nom[][])

{
for(i=0;i<nb_elts;i++)
{
if (nom[i][3].equals(num))
return i;
}
return -1;
}

public static void Ajouter(){

do{
num=JOptionPane.showInputDialog("phone nb: ");
}while((phoneExist(num,nom))!=-1);
nom[nb_elts][3]=num;
nom[nb_elts][0]=JOptionPane.showInputDialog(" entrer le nom de client :");
nom[nb_elts][1]=JOptionPane.showInputDialog("Prenom: ");
nom[nb_elts][2]=JOptionPane.showInputDialog("Adresse: ");
consommer[nb_elts][0]=readint("nb de Communications local: ");
consommer[nb_elts][1]=readint("duree des communications locales: ");
consommer[nb_elts][2]=readint("nb des communications international: ");
consommer[nb_elts][3]=readint("duree des communications internationales: ");
total[nb_elts][0]=consommer[nb_elts][0]+consommer[nb_elts][2];
total[nb_elts][1] = consommer[nb_elts][1]*TLocal + consommer[nb_elts][3]*TInt;
nb_elts+=1;
}

public static void Modifier()

{
String phonem="Entrer le numero de telephon que vous veuliez modifier: ";
String nommo="Entrer le nom de la personne possedant ce numero: ";
String modify;
do{
int modifichoix=readint("entrer le type que vous voulez modifier"
+"\n1.Numero de Telephon.\n2.Nom.\n3.Prenom.\n4.Adresse."
+"\n5.Nombre et duree des communications locales."
+"\n6.Nombre et duree des communications internationales."
+"\nEntrer votre choix: ");
switch(modifichoix)
{
case 1:
do{
num=JOptionPane.showInputDialog(phonem);
name=JOptionPane.showInputDialog(nommo);
}while(phoneNomExist(num,name,nom)==-1);
nom[i][3]=JOptionPane.showInputDialog("nouveau phone nb: ");
break;

case 2:
do{
num=JOptionPane.showInputDialog(phonem);
name=JOptionPane.showInputDialog(nommo);
}while(phoneNomExist(num,name,nom)==-1);
nom[i][0]=JOptionPane.showInputDialog(" nouveau nom ");
break;

case 3:
do{
num=JOptionPane.showInputDialog(phonem);
name=JOptionPane.showInputDialog(nommo);
}while(phoneNomExist(num,name,nom)==-1);
nom[i][1]=JOptionPane.showInputDialog(" nouveau prenom: ");
break;

case 4:
do{
num=JOptionPane.showInputDialog(phonem);
name=JOptionPane.showInputDialog(nommo);
}while(phoneNomExist(num,name,nom)==-1);
nom[i][2]=JOptionPane.showInputDialog(" nouvel adresse: ");
break;
case 5:
do{
num=JOptionPane.showInputDialog(phonem);
name=JOptionPane.showInputDialog(nommo);
}while(phoneNomExist(num,name,nom)==-1);
consommer[i][0]=readint(" nouvelle valeur de communication local: ");
consommer[i][1]=readint("nouvelle valeur de duree de communication local: ");
total[i][0]=consommer[i][0]+consommer[i][2];
total[i][1]=consommer[i][1]*TLocal+consommer[i][3]*TInt;
break;
case 6:
do{
num=JOptionPane.showInputDialog(phonem);
name=JOptionPane.showInputDialog(nommo);
}while(phoneNomExist(num,name,nom)==-1);
consommer[i][2]=readint("nouvel nombre des communications internationales: ");
consommer[i][3]=readint("la nouvelle duree de communication internationales: ");
total[i][0]=consommer[i][0]+consommer[i][2];
total[i][1]=consommer[i][1]*TLocal+consommer[i][3]*TInt;
break;

default :JOptionPane.showMessageDialog(null,afficher);
}
modify=JOptionPane.showInputDialog("Voulez vou modifier autre chose?(y/n)");
}while (modify.equals("y"));
}

public static void Supprimer()

{
do{
num=JOptionPane.showInputDialog("Entrer le numero de telephon: ");
name=JOptionPane.showInputDialog("Entrer le nom: ");
}while(phoneNomExist(num,name,nom)==-1);

for(j=i+1;j<nb_elts;j++)
{
for(int t=0;t<nom.length;t++)
nom[i][t]=nom[j][t];
for(int h=0;h<consommer.length;h++)
consommer[i][h]=consommer[j][h];
for(int g=0;g<total.length;g++)
total[i][g]=total[j][g];
i++;
}
nb_elts--;
}

public static void gestion(){

String outputs;
outputs="1.Ajouter.\n2.Modifier"
+".\n3.Supprimer un numero de telephon "
+".\nEntrer votre choix: ";
int choice2=readint(outputs);
switch(choice2)
{
case 1:Ajouter();
break;
case 2:Modifier();
break;
case 3:Supprimer();
break;
default:

JOptionPane.showMessageDialog(null,afficher);
}
}

public static void phonetri(){

for(i=0;i<nb_elts-1;i++)
for(j=i+1;j<nb_elts;j++)
if(nom[i][3].compareTo(nom[j][3])<0)
{
String[][] tampon2=new String[1][4];
for(int k=0;k<tampon2[0].length;k++){
tampon2[0][k]=nom[i][k];
nom[i][k]=nom[j][k];
nom[j][k]=tampon2[0][k];
}
double[][] tampono2=new double[1][2];
for(int s=0;s<tampono2[0].length;s++){
tampono2[0][s]=total[i][s];
total[i][s]=total[j][s];
total[j][s]=tampono2[0][s];
}
int[][] tamponi2=new int [1][4];
for(int m=0;m<tamponi2[0].length;m++){
tamponi2[0][m]=consommer[i][m];
consommer[i][m]=consommer[j][m];
consommer[j][m]=tamponi2[0][m];
}
}
String output=" ";
for(i=0;i<nb_elts;i++)
output+="\nphone nb: "+nom[i][3]
+"\nNom: "+nom[i][0]
+"\nPrenom: "+nom[i][1]
+"\nAdresse: "+nom[i][2]
+"\nConsommation: "+total[i][0]
+"\nNombre des communications locales: "+consommer[i][0]
+"\nDuree des communications locales: "+consommer[i][1]
+"\nNombre des communications internationales: "+consommer[i][2]
+"\nDuree des communications internationales: "+consommer[i][3]
+"\nPaiement Total: "+total[i][1]+"\n";
JOptionPane.showMessageDialog(null,output);
}

public static void nomtri(){

for(i=0;i<nb_elts-1;i++)
for(j=i+1;j<nb_elts;j++)
if(nom[i][0].length()<nom[j][0].length())
{
String[][] tampon2=new String[1][4];
for(int k=0;k<tampon2[0].length;k++){
tampon2[0][k]=nom[i][k];
nom[i][k]=nom[j][k];
nom[j][k]=tampon2[0][k];
}
double[][] tampono2=new double[1][2];
for(int s=0;s<tampono2[0].length;s++){
tampono2[0][s]=total[i][s];
total[i][s]=total[j][s];
total[j][s]=tampono2[0][s];
}
int[][] tamponi2=new int [1][4];
for(int m=0;m<tamponi2[0].length;m++){
tamponi2[0][m]=consommer[i][m];
consommer[i][m]=consommer[j][m];
consommer[j][m]=tamponi2[0][m];
}
}
String output1=" ";
for(i=0;i<nb_elts;i++)
output1+="\n phone nb: "+nom[i][3]
+"\nNom: "+nom[i][0]
+"\nPrenom: "+nom[i][1]
+"\nAdresse: "+nom[i][2]
+"\nConsommation: "+total[i][0]
+"\nNombre des communications locales: "+consommer[i][0]
+"\nDuree des communications locales: "+consommer[i][1]
+"\nNombre des communications internationales: "+consommer[i][2]
+"\nDuree des communications internationales: "+consommer[i][3]
+"\ntotal a payer: "+total[i][1]+"\n";
JOptionPane.showMessageDialog(null,output1);

}

public static void totpaytri(){

for(i=0;i<nb_elts-1;i++)
for(j=i+1;j<nb_elts;j++)
if(total[i][1]<total[j][1])
{
String [][]tampon2=new String[1][4];
for(int k=0;k<tampon2[0].length;k++){
tampon2[0][k]=nom[i][k];
nom[i][k]=nom[j][k];
nom[j][k]=tampon2[0][k];
}
double[][] tampono2=new double[1][2];
for(int s=0;s<tampono2[0].length;s++){
tampono2[0][s]=total[i][s];
total[i][s]=total[j][s];
total[j][s]=tampono2[0][s];
}
int[][] tamponi2=new int [1][4];
for(int m=0;m<tamponi2[0].length;m++){
tamponi2[0][m]=consommer[i][m];
consommer[i][m]=consommer[j][m];
consommer[j][m]=tamponi2[0][m];
}
}

String output5=" ";
for(i=0;i<nb_elts;i++)
output5+="\n phone nb: "+nom[i][3]
+"\nNom: "+nom[i][0]
+"\nPrenom: "+nom[i][1]
+"\nAdresse: "+nom[i][2]
+"\nConsommation: "+total[i][0]
+"\nNombre des communications locales: "+consommer[i][0]
+"\nDuree des communications locales: "+consommer[i][1]
+"\nNombre des communications internationales: "+consommer[i][2]
+"\nDuree des communications internationales: "+consommer[i][3]
+"\ntotal a payer: "+total[i][1]+"\n";
JOptionPane.showMessageDialog(null,output5);
}

public static void sumconstri(){

for(i=0;i<nb_elts-1;i++)
for(j=i+1;j<nb_elts;j++)
if(total[i][0]<total[j][0]){
String[][] tampon2=new String[1][4];
for(int k=0;k<tampon2[0].length;k++){
tampon2[0][k]=nom[i][k];
nom[i][k]=nom[j][k];
nom[j][k]=tampon2[0][k];
}
double[][] tampono2=new double[1][2];
for(int s=0;s<tampono2[0].length;s++){
tampono2[0][s]=total[i][s];
total[i][s]=total[j][s];
total[j][s]=tampono2[0][s];
}
int[][] tamponi2=new int [1][4];
for(int m=0;m<tamponi2[0].length;m++){
tamponi2[0][m]=consommer[i][m];
consommer[i][m]=consommer[j][m];
consommer[j][m]=tamponi2[0][m];
}
}
String output4=" ";
for(i=0;i<nb_elts;i++)
output4+="\n phone nb: "+nom[i][3]
+"\nNom: "+nom[i][0]
+"\nPrenom: "+nom[i][1]
+"\nAdresse: "+nom[i][2]
+"\nConsommation: "+total[i][0]
+"\nNombre des communications locales: "+consommer[i][0]
+"\nDuree des communications locales: "+consommer[i][1]
+"\nNombre des communications internationales: "+consommer[i][2]
+"\nDuree des communications internationales: "+consommer[i][3]
+"\ntotal a payer: "+total[i][1]+"\n";
JOptionPane.showMessageDialog(null,output4);
}

public static void consloctri(){

for(i=0;i<nb_elts-1;i++)
for(j=i+1;j<nb_elts;j++)
if(consommer[i][1]<consommer[j][1])
{
String [][]tampon2=new String[1][4];
for(int k=0;k<tampon2[0].length;k++){
tampon2[0][k]=nom[i][k];
nom[i][k]=nom[j][k];
nom[j][k]=tampon2[0][k];
}
double[][] tampono2=new double[1][2];
for(int s=0;s<tampono2[0].length;s++){
tampono2[0][s]=total[i][s];
total[i][s]=total[j][s];
total[j][s]=tampono2[0][s];
}
int[][] tamponi2=new int [1][4];
for(int m=0;m<tamponi2[0].length;m++){
tamponi2[0][m]=consommer[i][m];
consommer[i][m]=consommer[j][m];
consommer[j][m]=tamponi2[0][m];
}
}
String output3=" ";
for(i=0;i<nb_elts;i++)
output3+="\n phone nb: "+nom[i][3]
+"\nNom: "+nom[i][0]
+"\nPrenom: "+nom[i][1]
+"\nAdresse: "+nom[i][2]
+"\nConsommation: "+total[i][0]
+"\nNombre des communications locales: "+consommer[i][0]
+"\nDuree des communications locales: "+consommer[i][1]
+"\nNombre des communications internationales: "+consommer[i][2]
+"\nDuree des communications internationales: "+consommer[i][3]
+"\ntotal a payer: "+total[i][1]+"\n";
JOptionPane.showMessageDialog(null,output3);

}

public static void consintri(){

for(i=0;i<nb_elts-1;i++)
for(j=i+1;j<nb_elts;j++)
if(consommer[i][3]<consommer[j][3])
{
String[][] tampon2=new String[1][4];
for(int k=0;k<tampon2[0].length;k++){
tampon2[0][k]=nom[i][k];
nom[i][k]=nom[j][k];
nom[j][k]=tampon2[0][k];
}
double[][] tampono2=new double[1][2];
for(int s=0;s<tampono2[0].length;s++){
tampono2[0][s]=total[i][s];
total[i][s]=total[j][s];
total[j][s]=tampono2[0][s];
}
int[][] tamponi2=new int [1][4];
for(int m=0;m<tamponi2[0].length;m++){
tamponi2[0][m]=consommer[i][m];
consommer[i][m]=consommer[j][m];
consommer[j][m]=tamponi2[0][m];
}
}
String output2=" ";
for(i=0;i<nb_elts;i++)
output2+="\n phone nb: "+nom[i][3]
+"\nNom: "+nom[i][0]
+"\nPrenom: "+nom[i][1]
+"\nAdresse: "+nom[i][2]
+"\nConsommation: "+total[i][0]
+"\nNombre des communications locales: "+consommer[i][0]
+"\nDuree des communications locales: "+consommer[i][1]
+"\nNombre des communications internationales: "+consommer[i][2]
+"\nDuree des communications internationales: "+consommer[i][3]
+"\ntotal apayer: "+total[i][1]+"\n";
JOptionPane.showMessageDialog(null,output2);

}

public static void triage()

{
int choixtri=readint(
"choisissez un type de triage:"
+"\n1.selon nb de phone."
+"\n2.selon le Nom."
+"\n3.selon le total a payer."
+"\n4.selon le somme de Consommation."
+"\n5.selon Duree des consommations locales."
+"\n6.selon Duree des communications internationales."
+"\nEntrer votre choix: ");
switch(choixtri)
{
case 1:
phonetri();
break;
case 2:
nomtri();
break;
case 3:
totpaytri();
break;
case 4:
sumconstri();
break;
case 5:
consloctri();
break;
case 6:
consintri();
break;
default:JOptionPane.showMessageDialog(null,afficher);
}
}

public static void Affichage()

{
do{
num=JOptionPane.showInputDialog
("Entrer le numero de telephon: ");
}while(phoneExist(num,nom)==-1);
String output="\n phone nb: "+nom[i][3]+
"\nNom: "+nom[i][0]+"\nPrenom: "+nom[i][1]+
"\nAdresse: "+nom[i][2]+
"\nConsommation en minutes: "+total[i][0]+
"\nNombre des communications locales: "+consommer[i][0]+
"\nDuree des communications locales: "+consommer[i][1]+
"\nNombre des communications internationales: "+consommer[i][2]+
"\nDuree des communications internationales: "+consommer[i][3]+
"\ntotal a payer: "+total[i][1];
JOptionPane.showMessageDialog(null,output);
}

public static int menu(){

int choix=readint(
" Menu \n 1. Gestion facture"+
" \n 2. Affichage des informations"
+" \n 3. triage "+
"\n 4. quitter le programme"
+" \n entrer votre choix :");
return choix;
}

public static void main(String[] args){

String chaine=" ";
String fichier="java.txt";
try{
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while ((ligne=br.readLine())!=null){
chaine+=ligne+"\n";
}
JOptionPane.showMessageDialog(null,chaine);
br.close();
}

catch (Exception e){

System.out.println(e.toString());
}

String continu;
do{
int choice=menu();

switch(choice)
{
case 1:gestion();
break;
case 2:Affichage();
break;
case 3:triage();
break;
case 4:

break;
default :JOptionPane.showMessageDialog(null,afficher);
}
continu=JOptionPane.showInputDialog("Est ce que vous voulez continuer?(y/n)");
}while (continu.equals("y"));
try {
FileWriter fw = new FileWriter (fichier);
BufferedWriter bw = new BufferedWriter (fw);
PrintWriter fichierSortie = new PrintWriter (bw);
for(int i=0;i<nb_elts;i++)
for(int j=0;j<nom[0].length;j++)
chaine+=" "+nom[i][j];
for(int k=0;k<nb_elts;k++)
for(int z=0;z<consommer[0].length;z++)
chaine+=" "+consommer[k][z];
for(int x=0;x<nb_elts;x++)
for(int y=0;y<total[0].length;y++)
chaine+=" "+total[x][y];
fichierSortie.println (chaine+"\n");
fichierSortie.close();
JOptionPane.showMessageDialog(null,"Le fichier " + fichier + " a été créé!");

}

catch (Exception e){

System.out.println(e.toString());
}

}

2 réponses

doctormad Messages postés 456 Statut Membre 99
 
Vous pouvez répéter la question ?
0
jandarme Messages postés 3 Statut Membre
 
j'ai un fichier texte dans je met des informations ce que je veux connait c'est comment je peux sauvegarder ses informations dans les tableaux dans le code par ex: si j'ai le nom michel dans le fichier ce nom doit etre dans le tableau nom[0][0]
0
doctormad Messages postés 456 Statut Membre 99
 
Il va me falloir les papiers de la machine et encore aujourd'hui je suis gentil je vous mettrais pas 3 points pour non respect du code du langage.
0
jandarme Messages postés 3 Statut Membre
 
je ne compris vous pouvez m'aider ou non
0