JAVA I TY.....

  • Nie jeste¶ zalogowany.
  • Polecamy: Gry

#1 2011-02-03 17:18:04

michal8m

Administrator

Zarejestrowany: 2011-02-03
Posty: 45
Punktów :   

9

Dany jest ci±g liczb zapisany w pliku. Napisz program, który będzie umożliwiał wypisanie statystyki liczb tam zapisanych: ilo¶ci liczb, sumy, maksimum i minimum. Poszczególne obliczenia wykonaj za pomoc± odpowiednich funkcji.

Offline

 

#2 2011-02-03 23:41:49

joasia.b

Nowy użytkownik

Zarejestrowany: 2011-02-03
Posty: 1
Punktów :   

Re: 9

heh... jak już widzę wyraz ci±gi to mnie....xd
A tak przy okazji super forum;d

Offline

 

#3 2011-02-07 16:31:49

michal8m

Administrator

Zarejestrowany: 2011-02-03
Posty: 45
Punktów :   

Re: 9

import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
import java.io.File;

public class kopa {

    public static void main(String[] args) {
        kopa qq = new kopa();
        String n="nowy.txt";
        Scanner s = new Scanner(System.in);
        boolean trwanie = true;
        do{System.out.println("Menu:");
        System.out.println("1.Zapis do pliku liczb");
        System.out.println("2.Znalezieni sumy liczb z pliku");
        System.out.println("3.Znalezienie Maksimum w liczbach z pliku");
        System.out.println("4.Znalezienie Minimum w liczbach z pliku");
        System.out.println("5.Koniec");
        int decyzja = s.nextInt();
        switch(decyzja){

            case 1: System.out.println("Czy chcesz zapsać do pliku domyślnego??");
            boolean de = s.nextBoolean();
            if(de){qq.zapis(n);}
                else{
                System.out.println("Podaj nazwe pliku do którego pragniesz zapisać:");
                s = new Scanner(System.in);
                n = s.nextLine();
                qq.zapis(n);
                }break;
            case 2:  System.out.println("Czy chcesz sumowac liczby z pliku domyślnego??");
            boolean dec = s.nextBoolean();
            if(dec){ System.out.println("Suma liczb to: "+qq.suma(n));}
                else{
                System.out.println("Podaj nazwe pliku z którego pragniesz sumować:");
                s = new Scanner(System.in);
                n = s.nextLine();
                File d = new File(n);
                if(d.exists()){ System.out.println("Suma liczb to: "+qq.suma(n));}
                    else
                 {
                    System.out.println("Brak pliku " + n);
                }
                }break;
            case 3:  System.out.println("Czy chcesz znaleść maksimum w pliku domyślnym??");
            boolean deq = s.nextBoolean();
            if(deq){System.out.println("Maksmum w pliku to : "+qq.max(n));}
                else{
                System.out.println("Podaj nazwe pliku :");
                s = new Scanner(System.in);
                n=s.nextLine();
                File d = new File(n);
                if(d.exists()){System.out.println("Maksmum w pliku to : "+qq.max(n)) ;}
                    else
                 {
                    System.out.println("Brak pliku " + n);
                }
                }break;
            case 4:  System.out.println("Czy chcesz znaleść minimum w pliku domyślnym??");
            boolean dek = s.nextBoolean();
            if(dek){System.out.println("Minimum w pliku to :"+qq.min(n));}
                else{
                System.out.println("Podaj nazwe pliku:");
                s = new Scanner(System.in);
                n=s.nextLine();
                File d = new File(n);
                if(d.exists()){System.out.println("Minimum w pliku to : "+qq.min(n)) ;}
                    else
                 {
                    System.out.println("Brak pliku " + n);
                }
                }break;
            case 5: trwanie = false;  break;
            default:System.out.println("Zły wybór : "); break;

        }
}while(trwanie);
    }



    void zapis(String nazwa_pliku){
        Scanner s = new Scanner(System.in);
    System.out.println("Ile liczb pragniesz wprowadzić do pliku? ");
        int ilosc =s.nextInt();
        try{
            File fr = new File(nazwa_pliku);
            fr.delete();
            fr.createNewFile();
            RandomAccessFile f=new RandomAccessFile(nazwa_pliku, "rw");

            for(int i=0;i<=ilosc;i++){
            System.out.println("Wprowadz liczbę do zapisu : ");
            int hk = s.nextInt();
            f.writeInt(hk);
        }
            f.close();
            System.out.println("Zakonczylem zapis...");
        }catch(IOException e){System.out.println("Zakonczyłem zapis z błędem: "+e.toString());}


}

    long suma(String nazwa_pliku){
long suma = 0L;
try{
RandomAccessFile f=new RandomAccessFile(nazwa_pliku, "rw");
    long poz=0L;
    long dl =f.length();
    f.seek(0);
while(poz<dl){
    int pomodcz = f.readInt();
    suma +=pomodcz ;
    poz = f.getFilePointer();
}
f.close();
}catch(IOException e){System.out.println("Zakonczyłem sumowanie z błędem : "+e.toString());}
return suma;
    }

    int min(String nazwa_pliku){
int mini=0;
try{
RandomAccessFile f=new RandomAccessFile(nazwa_pliku, "rw");
mini=f.readInt();f.close();
    f=new RandomAccessFile(nazwa_pliku, "rw");
    long poz=0L;
    long dl =f.length();
    f.seek(0);
while(poz<dl){
    int hk = f.readInt();
    poz = f.getFilePointer();
if(hk<mini){mini=hk;}
}f.close();
}catch(IOException e){System.out.println("Zakonczyłem szukanie minimum z błędem : "+e.toString());}
return mini;
    }

    int max(String nazwa_pliku){
int maxi = 0;
try{
RandomAccessFile f=new RandomAccessFile(nazwa_pliku, "rw");
maxi=f.readInt();f.close();
f=new RandomAccessFile(nazwa_pliku, "rw");
    long poz=0L;
    long dl =f.length();
    f.seek(0);
while(poz<dl){
    int hk = f.readInt();
    poz = f.getFilePointer();
if(hk>maxi){maxi=hk;}
}f.close();
}catch(IOException e){System.out.println("Zakonczyłem szukanie maksimum z błędem : "+e.toString());}
return maxi;
    }
}

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
Przysucha szamba Проживание Германия spa ciechocinek cennik