[java]Exception in thread "main"
Résolu
domxaline
-
domxaline -
domxaline -
Bonjour,
en compilant mon prg,j'ai un erreur message suivante:
Enter code number
1001
Enter number of items
193
Enter cost
452
Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:197)
at java.io.DataInputStream.readLong(DataInputStream.java:416)
at java.io.DataInputStream.readDouble(DataInputStream.java:468)
at Inventory.main(Inventory.java:37)
veuillez m'aidez svp
en compilant mon prg,j'ai un erreur message suivante:
Enter code number
1001
Enter number of items
193
Enter cost
452
Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:197)
at java.io.DataInputStream.readLong(DataInputStream.java:416)
at java.io.DataInputStream.readDouble(DataInputStream.java:468)
at Inventory.main(Inventory.java:37)
import java.util.*
import java.io.*;
public class Inventory
{
static DataInputStream din=new DataInputStream(System.in);
static StringTokenizer st;
public static void main(String[]args)throws IOException
{
DataOutputStream dos=new DataOutputStream (new FileOutputStream("invent.dat"));
System.out.println("Enter code number");
st=new StringTokenizer(din.readLine());
int code=Integer.parseInt(st.nextToken());
System.out.println("Enter number of items");
st=new StringTokenizer(din.readLine());
int items=Integer.parseInt(st.nextToken());
System.out.println("Enter cost");
st=new StringTokenizer(din.readLine());
double cost=new Double(st.nextToken()).doubleValue();
dos.writeInt(code);
dos.write(items);
dos.writeDouble(cost);
dos.close();
DataInputStream dis=new DataInputStream(new FileInputStream ("invent.dat"));
int codeNumber=dis.readInt();
int totalItems=dis.readInt();
double itemCost=dis.readDouble();
double totalCost=totalItems*itemCost;
dis.close();
System.out.println("Code Number:"+codeNumber);
System.out.println("Item Cost:"+itemCost);
System.out.println("Total Items:"+totalItems);
System.out.println("Total Cost"+totalCost);
}
}
veuillez m'aidez svp
A voir également:
- [java]Exception in thread "main"
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Il faut être cohérent dans le format de fichier !
Tu as "dos.write(items);" et "totalItems=dis.readInt();" qui ne correspondent pas.
Il faudrait plutôt écrire dos.writeInt(items);
PS : DataInputStream(System.in) c'est suspect, ajouté à ça le StringTokenizer et ça devient carrément moche ! Utilises plutôt la classe Scanner. Exemple :
Tu as "dos.write(items);" et "totalItems=dis.readInt();" qui ne correspondent pas.
Il faudrait plutôt écrire dos.writeInt(items);
PS : DataInputStream(System.in) c'est suspect, ajouté à ça le StringTokenizer et ça devient carrément moche ! Utilises plutôt la classe Scanner. Exemple :
private static Scanner clavier = new Scanner(System.in); System.out.print("Enter code number : "); int code = clavier.nextInt(); ...