2013-11-26 52 views
0

如果我有一个通过文件并打印数字的while循环,我将如何将它打印到只打印最后一个数字的地方。仅从循环中打印最后一个数字

0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 

这是我目前得到的输出。我怎样才能让它到达只打印出来的地方19

我怎样才能让它工作到数字从1开始而不是从0开始?

目前我的循环看起来像这样:

if (math == last){ 
     System.out.println(Score++); 
    } 

数学是计算方程的另一种方法,并且最后是从一个文件inputed的答案,如果数学中在输入的答案相匹配的循环目前只是检查为了“分级”问题。

我不能使用数组,try/catch或正则表达式。

回答

2

只需通过文件正常读取并将每行存储在一个临时变量中。一旦阅读器完成阅读,打印出临时变量。

public class ReaderExample { 

    public static void main(String[] args) throws IOException { 

     File file = new File("input.txt"); 
     BufferedReader br = new BufferedReader(new FileReader(file)); 

     String line = ""; 
     String copy = ""; 
     while((line = br.readLine())!= null){ 
       copy = line; 
     } 
     System.out.println(copy); 
    } 
} 

使用扫描仪

同样的原则也适用于与Scanner

public class ReaderExample { 

    public static void main(String[] args) throws IOException { 
     Scanner in = new Scanner(new FileReader("input.txt")); 

     String line = ""; 
     while(in.hasNext()){ 
      line = in.nextLine(); 
     } 
     System.out.println(line); 
    } 
} 

,而不必调用扫描仪

public String getLast(Scanner scanner){ 
      String line = ""; 
      while(in.hasNext()){ 
       line = in.nextLine(); 
      } 
      return line; 
} 
+0

有没有办法做到这一点不一个BufferedReader? – CherryBomb95

+0

@ CherryBomb95有很多方法可以读取文件,你目前如何做? –

+0

目前,我只是使用扫描仪来导入它。 – CherryBomb95