[java] Format numérique incorrect

domxaline -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
lors exécution mon programme, il s' affiche "Format numérique incorrect"
pourriez vous m'aider svp

public class Test3
{
public static void main(String[] args)
{
System.out.println("Saissisez la quantité de saisies:");
int t=Lire.entierInt();
double[]saisies=new double[t];
double[] tab=saisies;
for(int i=0;i<tab.length-1;i++)
{
for(int j=0;j<tab.length-1;j++)
{
if(tab[j]>tab[j+1])
{
int temp=(int) tab[i];
tab[i]=tab[i+1];
tab[i+1]=temp;
}
}
}
for(int i=0;i<tab.length;i++)
{
System.out.print(tab[i]+"-");
}
}
}

A voir également:

4 réponses

domxaline
 
la classe Lire:

import java.io.*;
public class Lire
{
// Cette fonction permet de saisir au clavier une variable de type String
public static String chaine()
{
String tmp = "";
char C='\0';
try
{
while ((C=(char) System.in.read()) !='\n')
{
if (C != '\r') tmp = tmp+C;

}
}
catch (IOException e)
{
System.out.println("Erreur de frappe");
System.exit(0);
}
return tmp;
}

// Cette fonction permet de saisir au clavier une variable entière de type byte
public static byte entierByte()
{
byte x=0;
try
{
x = Byte.parseByte(chaine());
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

// Cette fonction permet de saisir au clavier une variable entière de type Short
public static short entierShort()
{
short x=0;
try
{
x=Short.parseShort(chaine());
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

// Cette fonction permet de saisir au clavier une variable entière de type int
public static int entierInt()
{
int x=0;
try
{
x=Integer.parseInt(chaine());
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

// Cette fonction permet de saisir au clavier une variable entière de type long
public static long entierLong()
{
long x=0;
try
{
x=Integer.parseInt(chaine());
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

// Cette fonction permet de saisir au clavier une variable réelle double
public static double reelDouble()
{
double x=0.0;
try
{
x=Double.valueOf(chaine()).doubleValue();
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

// Cette fonction permet de saisir au clavier une variable réelle float
public static float reelFloat()
{
float x=0.0f;
try
{
x=Double.valueOf(chaine()).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Format numérique incorrect");
System.exit(0);
}
return x ;
}

// Cette fonction permet de saisir au clavier une variable de type char
public static char caractere()
{
String tmp=chaine();
if (tmp.length()==0)
{
return '\n';
}
else
{
return tmp.charAt(0);
}
}
}



0
domxaline
 
je suis qu'un débutant,peut être mon erreur est basique pour vous,
veuillez m'aidez sans se fâcher svp
0
domxaline
 
même en écrivant ainsi:

double tab=saisies;

toujours tab.length est soulingné

for(int i=0;i<tab.length-1; i++)
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Bonjour,

Il ne faut pas masquer les exceptions, sinon tu ne peux pas savoir quelle est le problème. Donc supprimes tout tes try/catch ils ne servent à rien.
Si il y a une exception le programme s'arrêter, exactement de la même manière que lorsque tu fais ton System.exit(0), sauf qu'en plus tu auras le détail de l'erreur, qui te manque pour comprendre ce qui ne vas pas...

Ceci étant dit, je n'ai pas d'erreur avec ton code. J'ai fait un copier coller, compiler, exécuter, et ça n'affiche pas d'erreur !

Saissisez la quantité de saisies:
5
0.0-0.0-0.0-0.0-0.0-

Remarque : la classe Scanner permet déjà de faire toutes tes lectures sans avoir à tout recoder à chaque fois.

Scanner CLAVIER = new Scanner(System.in);
String line = CLAVIER.nextLine();
int n = CLAVIER.nextInt();
long m = CLAVIER.nextLong();
...
0