Wczytywanie liczb z pliku tekstowego StringTokenizer

0

Witam,

Programik ma wczytywać podane w pliku liczby, ale przerywać ich sumowanie gdy zostanie osiągnięty lub przekroczony limit.

Mam następujący kod który się kompiluje jednak przy uruchomieniu wyskakuje błąd:

Exception in thread "main" java.lang.NumberFormatException: For input string: "C:\Users\Pancio/Test/iter.txt"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at zad41.Main.main(Main.java:18)
import java.util.StringTokenizer;

public class Main {

  public static void main(String[] args) {
    String fname = System.getProperty("user.home") + "/Test/iter.txt";            
    StringTokenizer st = new StringTokenizer(fname);

    int start = Integer.parseInt(st.nextToken());
    int end = Integer.parseInt(st.nextToken());
    int limit = Integer.parseInt(st.nextToken());
    int sum = 0;

    for (int i = start; i <= end && sum <= limit; i++)
                    sum += i;

    System.out.println(sum);

  }
}

Proszę o wskazówki co jest nie tak z wczytywaniem danych z pliku...
W całym zadaniu obligatoryjny jest wiersz:

String fname = System.getProperty("user.home") + "/Test/iter.txt";

dodanie znacznika <code> - furious programming

0
  1. Czytasz parametry ze Stringa: System.getProperty("user.home") + "/Test/iter.txt"; (a nie z pliku o takiej nazwie).
  2. Za późno przerywasz sumowanie, dopiero wtedy gdy zostanie przekroczony limit.
0

Dziękuję za sugestie co do punktu 2 wszystko jest jasne, ale co do pierwszego nie bardzo wiem jak wczytać zawartość pliku może jakaś mała wskazówka...

1

Np. tak

Scanner sc = new Scanner(new File(System.getProperty("user.home") + "/Test/iter.txt"));
int start = sc.nextInt();
...
sc.close();

Konieczna będzie jeszcze obsługa wyjątków.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0