Sumowanie liczb w linii

Sumowanie liczb w linii

Program: sumujący wszystkie liczby w linii z pliku.

Program sumuje wszystkie liczby oddzielone spacjami z poszczególnych linii danego pliku „input.txt” oraz znajdujący największą sumę.

Wykorzystane dane wejściowe:

22 32 214 321 12

Kompilator: Eclipse

Galeria:

Program w akcji.

Kod programu:

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;
public class glowna {
	//Program sumujący liczby ustawione w linii.
        public static void main(String[] args) {        
                try {
                   FileReader sc= new FileReader("input.txt");
                        BufferedReader plik = new BufferedReader(sc);
                     int najwieksza_suma=0,suma=0;
                        String linia=plik.readLine();
                        StringTokenizer tok = new StringTokenizer(linia, " ");
                        int iTK=tok.countTokens();
                        int ciag[]= new int[iTK]; 
                        int i=0;
                        while(tok.hasMoreTokens()){
                                ciag[i]=Integer.parseInt(tok.nextToken());
                                i++;
                        }
                        int pSC=0,kSC = 0;
                        for(i=0;i<iTK;i++){
                               for(int k=i;k<iTK;k++){ 
                                        suma+=ciag[k];
                                         if(suma>najwieksza_suma){
                                                 najwieksza_suma=suma;
                                                pSC=i;
                                                kSC=k;
                                        }
                                }       
                                suma=0;
                        }
                        for(int k=pSC;k<=kSC;k++){
                                System.out.print(ciag[k]);
                                if(k!=kSC) System.out.print(" + ");
                        }
                        System.out.print(" = "+najwieksza_suma);
                        plik.close();
                } catch (Exception e) {
                        e.printStackTrace();    
                }
        }
}