2014-11-09 1 views
-1

im работает над программой, которая читает текстовый файл, показывающий банковские транзакции, а затем отображает количество действительных транзакций, где в текстовом файле и сколько там недействительно. Текстовый файл выглядит следующим образом:Выходное число допустимых и недопустимых строк в текстовом файле, прочитанное java

W>10>12/11/2014 
D>200>14/9/2014 
W>1299>12/4/2013 
D:345>12/3/2014 
W10>14/9/2012 

Лучшие 3 сделки справедливы все дно 2 являются invalid.This мой код до сих пор:

public void Tranctions(){ 

     String separator = ">"; 
     File inputfile = new File ("bank.txt"); 

     String[] Token; 
     String aLine = ""; 

     System.out.println("Type"+"\tAmount"+"\t Date\n========================================="); 

     try { 
      Scanner filescan = new Scanner(inputfile); 
      while (filescan.hasNext()){ 
       aLine = filescan.nextLine(); 

       Token = aLine.split(separator); 

       if (Token.length == 3){ 
        System.out.println(Token[0]+"\t €" +Token [1]+"\t"+Token[2]); 
       } else { 
        throw new IllegalArgumentException("String "+ aLine + "does not contain "+separator); 
       } 
      } 

      filescan.close(); 
      System.out.println("End of transaction \n================================\n\n"); 

     } 

     catch (FileNotFoundException e) 
     { 
      System.out.println("problem "+e.getMessage()); 
     } 


    } 

}

Я хочу, чтобы выход чтобы выглядеть примерно так:

W  €10  12/11/2014 
D  €200  14/9/2014 
D  €1299 12/3/2014 

Valid transactions : 3 
Invalid transactions : 2 

Был попыткой заставить это работать, но не может понять это и не может найти ma нить, покрывающая это. Спасибо заранее!

+1

Не ожидайте, что мы скомпилируем и запустим ваш код, чтобы узнать, в чем проблема. Расскажите нам, в чем проблема, в том числе сообщения об ошибках, фактический вывод и ожидаемый результат и т. Д. –

+0

Не беспокойтесь, теряя время, комментируя, если вы собираетесь бесполезно. – djchrisj

ответ

0

, если у вас нет других проблем, я имею в виду компиляции или аварии, то это будет то, что вам нужно

я возьму блок попытки {} и добавить/удалить код.

int totalValid=0,totalInvalid=0; 

try { 
      Scanner filescan = new Scanner(inputfile); 
      while (filescan.hasNext()){ 
       aLine = filescan.nextLine(); 

       Token = aLine.split(separator); 

       if (Token.length == 3){ 
        System.out.println(Token[0]+"\t €" +Token [1]+"\t"+Token[2]); 
        ++totalValid; 
       } else { 
        //REMOVED THE throw new IllegalArgumentException(
        ++totalInvalid; 
       } 
      } 

       System.out.println("Valid transactions : " + totalValid); 
       System.out.println("Invalid transactions : " + totalInvalid); 

      filescan.close(); 
      System.out.println("End of transaction \n================================\n\n"); 

     } catch (FileNotFoundException e) 
    { 
     System.out.println("problem "+e.getMessage()); 
    } 
+0

Спасибо большое :) – djchrisj