[java] Format numérique incorrect

Fermé
domxaline - 3 juil. 2014 à 15:10
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 4 juil. 2014 à 19:47
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

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
je suis qu'un débutant,peut être mon erreur est basique pour vous,
veuillez m'aidez sans se fâcher svp
0
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
4 juil. 2014 à 19:47
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