簡體   English   中英

Infile僅輸出1行

[英]Infile Outputting only 1 line

我控制讀取數據文件的外循環是不正確的,有人可以向我解釋如何獲得循環以打印整個數據文件,而不僅僅是打印數據文件中的第一個單詞嗎?

public static void display() throws IOException, FileNotFoundException {
    Scanner infile = new Scanner(new FileReader("G:\\DataFileDS.txt")); 
    StringTokenizer token = new StringTokenizer(infile.nextLine());
    StringElement str = new StringElement();

    while(token.hasMoreTokens()) {
        str.setString(token.nextToken());
        stringList.insert(str);
    }

    stringList.print();

    int n = stringList.listSize();
    for(int i = 0; i < n - 1; ++i) {
        System.out.println(stringList.retrieveAt(i) + " " + stringList.retrieveAt(i+1));
    }
} 

我猜想while循環會首先運行,一旦完成,它將輸出值。 然后,您的for循環僅運行一次,因為listsize可能是一個。 嘗試打印列表大小。 由於我無法測試此代碼。

可能是這樣的:

public static void Display()throws IOException, FileNotFoundException
   {
      Scanner infile = new Scanner(new FileReader("G:\\DataFileDS.txt")); 
      StringTokenizer token = new StringTokenizer(infile.nextLine());
      StringElement str = new StringElement();

      while(token.hasMoreTokens())
      {
         str.setString(token.nextToken());
         stringList.insert(str);
         int n = stringList.listSize();
         for(int i=0; i<n-1; i=i+1)
         {
            System.out.println(stringList.retrieveAt(i) + " " + stringList.retrieveAt(i+1));
         }
          stringList.print();
      }


   } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM