Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Collections;
- public class Main
- {
- public static void main(String[] args) throws IOException
- {
- FileReader file;
- BufferedReader reader;
- String line;
- ArrayList<Integer> numbers = new ArrayList<>();
- //files with data
- String[] fileNames = new String[] {"dane5-1.txt", "dane5-2.txt", "dane5-3.txt"};
- for (String name : fileNames)
- {
- //load single file
- file = new FileReader("/path/to/file/" + name);
- reader = new BufferedReader(file);
- line = reader.readLine();
- while (line != null)
- {
- //append all numbers in file to an ArrayList
- numbers.add(Integer.parseInt(line.trim()));
- line = reader.readLine();
- }
- System.out.println("Największa suma w pliku " + name + " jest równa " + getBestSum(numbers)); //call a function with ArrayList as parameter
- numbers.clear();
- }
- }
- public static int getBestSum(ArrayList<Integer> numbers)
- {
- ArrayList<Integer> sums = new ArrayList<>(); //storage for all sums
- int sum = 0;
- for (int i = 0; i < numbers.size(); i++) //left index
- {
- for (int j = numbers.size() - 1; j >= i; j--) //right index
- {
- for (int k = j; k >= i; k--) //addition numbers in a range from right index to left index
- {
- sum += numbers.get(k);
- // System.out.print((numbers.get(k)) > 0 ? "+" + numbers.get(k) : numbers.get(k));
- }
- // System.out.print("=" + sum+ '\n');
- sums.add(sum); //append sum to an array
- sum = 0; //reset sum variable
- }
- }
- return Collections.max(sums);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment