2015-05-14 2 views
0

Я работаю над проблемами на шеф-поваре кода. Я застрял в проблеме, и все это говорит о том, что у меня неправильный ответ. Я хочу проверить мою программу, чтобы увидеть его выход, но он считывает входные данные из текстового файла, и я не могу понять, как сделать это с затмением, мой код ниже: папкаКак читать txt-файл как мой system.in с помощью eclipse

import java.io.*; 
class Holes { 

public static void main(String[] args) throws IOException{ 
    // TODO Auto-generated method stub 
    BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); 
    int testCases = Integer.parseInt(r.readLine()); 

    for (int i =0; i<testCases; i++) 
    { 
     int holes = 0; 
     String s = r.readLine(); 
     for (int j= 0; j< s.length(); j++) 
     { 
      char c = s.charAt(j); 
      if (c == 'B') 
       holes += 2; 
      else if (c== 'A' || c== 'D' ||c== 'O' ||c== 'P' ||c== 'Q' ||c== 'R') 
      { 
       holes +=1; 
      } 
      System.out.println(holes); 
     } 
    } 
} 

} 
+0

Существует аналогичный вопрос с 2008 года, что в основном говорит лучший способ - использовать командную строку, но я надеялся, что затмение добавило эту функцию с тех пор. –

+0

Посмотрите на filereader и сканер для ввода файлов. http://stackoverflow.com/questions/4716503/best-way-to-read-a-text-file – HyperZ

+0

im using System.in not console.in ?? –

ответ

1

добавить к вашему затмение проекта в этой папке добавьте свой входной файл, а затем прочитайте его с помощью BufferReader следующим образом: BufferedReader br = null;

try { 

    String sCurrentLine; 

    br = new BufferedReader(new FileReader("yourFolder/theinputfile.txt")); 

    while ((sCurrentLine = br.readLine()) != null) { 
     System.out.println(sCurrentLine); 
    } 

} catch (IOException e) { 
    e.printStackTrace(); 
} finally { 
    try { 
     if (br != null)br.close(); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } 
} 

это один из способов другой путь, чтобы пройти путь в качестве аргумента в программу , как это показано ниже

try { 

     String sCurrentLine; 

     br = new BufferedReader(new FileReader(args[0])); 

     while ((sCurrentLine = br.readLine()) != null) { 
      System.out.println(sCurrentLine); 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (br != null)br.close(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 

, как сделать это, когда ваш запустить приложение бегут конфигурации и там вы найдете арг вы можете добавить, что когда-либо путь в ней, например, C: \ myinput.txt надеюсь, это поможет

+0

, поэтому, используя ваш первый пример, я бы изменил: BufferedReader r = new BufferedReader (новый InputStreamReader (System.in)); to: br = new BufferedReader (новый FileReader ("yourFolder/theinputfile.txt")); смена каталога, конечно. –

+0

да, что заставит его работать –

+0

получил это благодаря работе –

1
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 

public class BufferedReaderExample { 

    public static void main(String[] args) { 

     BufferedReader br = null; 

     try { 

      String sCurrentLine; 

      br = new BufferedReader(new FileReader("C:\\testing.txt")); 

      while ((sCurrentLine = br.readLine()) != null) { 
       System.out.println(sCurrentLine); 
      } 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       if (br != null)br.close(); 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 

    } 
} 
Смежные вопросы