2013-09-24 56 views
1

继续在java.util.Scanner上java.util.Scanner.next(Unknown Source)处发生java.util.Scanner.throwFor(Unknown Source)错误java.util.InputMismatchException .nextInt(来源不明)在java.util.Scanner.nextInt(来源不明)
文件顺序:串串INT INTJava:加载记录文件数组时遇到问题

import java.util.Scanner; 
import java.io.*; 

class PlayerStats 
{  
    public String name; 
    public String team; 
    public int games_ply; 
    public int goals_mde; 
} 

public class Program3 
{ 
    public static void main(String[] args) 
    {  

    PlayerStats[] players = new PlayerStats[100]; 
    int nPlayers; 
    int opt; 
    Scanner in = new Scanner (System.in 
    nPlayers = loadPlayers (players); 
    } 

    private static int loadPlayers (PlayerStats[] players) 
    { 
     int nPlayers = 0; 
     try 
     { 
     File file = new File ("/temp/Program3/Player.txt"); 
     Scanner inFile = new Scanner (file); 
     do 
     { 
       players[ nPlayers ] = new PlayerStats(); 
      players[ nPlayers ].name = inFile.next(); 
      players[ nPlayers ].team = inFile.next(); 
      players[ nPlayers ].games_ply = inFile.nextInt(); 
      players[ nPlayers ].goals_mde = inFile.nextInt(); 
      ++nPlayers; 
     } while (players [nPlayers-1].goals_mde != 0); 
    --nPlayers; 
     } 
     catch (IOException ioe) 
     { 
      System.out.print("\n\n\t\tFile access error!"); 
     nPlayers = 0; 
     } 
     return nPlayers; 
    } 
} 
+0

它看起来像o那些int的ne不是一个真正的int。 –

+0

你能提供文件内容吗? – user2259824

+0

文件内容 - 字符串字符串int int - 例如:LebronJames MiamiaHeat 88 356 – user2810123

回答

0

我猜你应该使用ObjectOutputStream写你serialized玩家反对的文件,并使用ObjectInputStream(new FileInputStream(new File(players.txt))).readObject来读取对象,并且不要忘记将它投射到玩家