2013-11-22 32 views
0
public Ticketmachine(boolean openAutomat, String nameMachine, int ticketprice) 
{ 
    if(openMachine == true){ 
     Scanner reader = new Scanner(nameMachine+".txt"); 
     String x = reader.nextLine(); 
     String y = reader.nextLine(); 
     String z = reader.nextLine(); 
     int u = Integer.parseInt(x); 
     int v = Integer.parseInt(y); 
     int w = Integer.parseInt(z); 
     price = u; 
     paid = v; 
     sum = w; 
    } 

每次我打开一个新的类,并把openMachine为true, 它应该从前三行的三个数字。 txt文件 并将它们放入变量x,y和z中。 这些将被转换为数据类型整数,然后 他们将被放入变量价格,支付和总和。 现在,当我做openMachine真正发生了什么,而不是, 是,它显示了folllowing错误:Java错误号线发现

java.util.NoSuchElementException: No line found

,标志着第九行:

int v = Integer.parseInt(y); 

将是很好,如果有人能告诉我答案:D

+1

请张贴您的输入文件。它看起来像你的输入文件中没有3行。 – nook

+0

您确定该txt文件中至少有3行?在尝试存储值之前,您应该检查该值。 –

+1

你确定这是它标记的线吗?这似乎是你的'扫描仪'错误 – Savv

回答

1

如果使用字符串构造扫描器,则它使用该字符串作为源。您需要将一个File对象传递给Scanner构造函数。

Scanner reader = new Scanner(new File(nameMachine+".txt"));