Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.StringTokenizer;
- public class Metodai {
- //metodas skaito duomenis is failo
- public static Gyvunas[] skaityti_sar (File file, int n){
- Gyvunas A[] = new Gyvunas [n]; //sukuriamas masyvo objektas
- String eilute; // kintamasis 1 eilutei skaityti
- int sk = 0; //rasymo i masyva skaitliukas
- String pav, salis;
- int amzius;
- double svoris;
- try {
- BufferedReader file_in = new BufferedReader (new FileReader(file));
- while (true){
- if ((eilute = file_in.readLine()) == null) break;
- StringTokenizer st = new StringTokenizer(eilute);
- pav = st.nextToken();
- amzius = Integer.parseInt(st.nextToken());
- svoris = Double.parseDouble(st.nextToken());
- salis = st.nextToken();
- A[sk]= new Gyvunas (pav, amzius, svoris, salis);
- sk ++;
- if (sk==n) break;
- }
- }
- catch (IOException e) {System.out.println("Ivedimo klaida");}
- catch (IndexOutOfBoundsException e) {System.out.println("Masyvo ribu klaida");}
- return A;
- }
- //metodas suskaiciuoja kiek faile yra irasu eiluciu
- public static int skaiciuotiEilutes (File file) {
- int sk = 0;
- try {
- BufferedReader file_in = new BufferedReader (new FileReader (file));
- while (true){
- if ((file_in.readLine()) == null){
- file_in.close();
- return sk;}
- sk++;
- }
- }
- catch (IOException e) {System.out.println("Skaitymo is failo klaida");}
- return sk;
- }
- //metodas sukuria nauja, vienetu didesni masyva, nei buvo pries iterpima
- //ir i ji perkopijuoja pradinio masyvo duomenis
- public static Gyvunas[] kopijuotiMas(Gyvunas A[], int n){
- Gyvunas A2[] = new Gyvunas[n];
- for (int i=0; i<n-1; i++ )
- A2[i]=A[i];
- return A2;
- }
- public static Gyvunas[] iterpti(Gyvunas G[], int n){
- BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
- String pav, salis;
- int amzius;
- double svoris;
- int vieta;
- while (true){
- System.out.println("Iveskite gyvuno pavadinima:");
- try {
- pav = in.readLine();
- break;
- }
- catch (IOException e) {System.out.println("Ivedimo klaida");}
- }
- while (true){
- System.out.println("Iveskite gyvuno amziu:");
- try {
- amzius = Integer.parseInt(in.readLine());
- break;
- }
- catch (IOException e) {System.out.println("Ivedimo klaida");}
- catch (NumberFormatException e) {System.out.println("Ivedet ne sveika skaiciu!");}
- }
- while (true){
- System.out.println("Iveskite gyvuno svori:");
- try {
- svoris = Double.parseDouble(in.readLine());
- break;
- }
- catch (IOException e) {System.out.println("Ivedimo klaida");}
- catch (NumberFormatException e) {System.out.println("Ivedet ne skaiciu!");}
- }
- while (true){
- System.out.println("Iveskite gyvuno kilmes sali:");
- try {
- salis = in.readLine();
- break;
- }
- catch (IOException e) {System.out.println("Ivedimo klaida");}
- }
- Gyvunas naujas = new Gyvunas(pav, amzius, svoris, salis);
- while (true){
- System.out.println("Masyve yra " + (n-1) + " elementu. Iveskite i kuria vieta iterpti nauja gyvuna(1 - "+ n +"):");
- try {
- vieta = Integer.parseInt(in.readLine());
- if (vieta > n) System.out.println("Ivedete per dideli skaiciu!");
- else if (vieta < 1) System.out.println("Ivedete per maza skaiciu!");
- else break;
- }
- catch (IOException e) {System.out.println("Ivedimo klaida");}
- catch (NumberFormatException e) {System.out.println("Ivedet ne sveika skaiciu!");}
- }
- for (int i=n-1; i>vieta-1; i--)
- G[i]=G[i-1];
- G[vieta-1]=naujas;
- return G;
- }
- public static Gyvunas[] salinti(Gyvunas G[], int n, int vieta){
- for (int i=vieta; i<n; i++)
- G[i]=G[i+1];
- return G;
- }
- //Metodas suranda sunkiausia gyvuna ir ji iraso naujame masyve
- public static Gyvunas[] surasti (Gyvunas G[], int n){
- Gyvunas A[] = new Gyvunas[1]; //sukuriam nauja 1 iraso masyva, nes surasim tik 1 gyvuna
- Gyvunas max = G[0];
- for (int i=1; i<n; i++)
- if (max.gautiSvori()<G[i].gautiSvori()) max = G[i];
- A[0]=max;
- return A;
- }
- public static void spausdinti_sar_faile (PrintWriter rasyti, Gyvunas [] A, int n) {
- if (n > 0) {
- spausdinti_antraste_faile (rasyti);
- rasyti.println("*************************************************************");
- for (int i=0; i<n; i++) {
- rasyti.println("* " + prailginti((i+1)+"", 3) +" * "+prailginti(A[i].gautiPav(),15)+ " * "+ prailginti(A[i].gautiAmziu()+"", 6)+
- " * " + prailginti(A[i].gautiSvori()+"", 6) + " * " + prailginti(A[i].gautiSali(), 15) + " *");
- }
- rasyti.println("*************************************************************");
- }
- else rasyti.println("Masyvas tuscias!");
- }
- public static void spausdinti_antraste_faile (PrintWriter rasyti){
- rasyti.println("*************************************************************");
- rasyti.println("* Nr. * Pavadinimas * Amzius * Svoris * Kilmes salis *");
- }
- public static void spausdinti_sar_ekrane ( Gyvunas [] A, int n) {
- if (n > 0) {
- spausdinti_antraste_ekrane ();
- System.out.println("*************************************************************");
- for (int i=0; i<n; i++) {
- System.out.println("* " + prailginti((i+1)+"", 3) +" * "+prailginti(A[i].gautiPav(),15)+ " * "+ prailginti(A[i].gautiAmziu()+"", 6)+
- " * " + prailginti(A[i].gautiSvori()+"", 6) + " * " + prailginti(A[i].gautiSali(), 15) + " *");
- }
- System.out.println("*************************************************************");
- }
- else System.out.println("Masyvas tuscias!");
- }
- public static void spausdinti_antraste_ekrane (){
- System.out.println("*************************************************************");
- System.out.println("* Nr. * Pavadinimas * Amzius * Svoris * Kilmes salis *");
- }
- public static String prailginti (String reiksme, int ilgis){
- for (int i=reiksme.length(); i<ilgis; i++)
- reiksme += " ";
- return reiksme;
- }
- //Metodas suranda sunkesnius gyvunus uz duota svori
- public static Gyvunas[] surastiGyvunus (Gyvunas[] A,int n){
- BufferedReader in = new BufferedReader (new InputStreamReader(System.in));
- double minSvoris;
- while (true) {
- System.out.println("Iveskite gyvuno svori:");
- try {
- minSvoris = Double.parseDouble(in.readLine());
- break;
- } catch (IOException e) {
- System.out.println("Ivedimo klaida");
- } catch (NumberFormatException e) {
- System.out.println("Ivedet ne skaiciu!");
- }
- }
- int naujasKiekis = 0;
- for (int i=n-1; i>=0; i--){
- if (A[i].gautiSvori()>=minSvoris) {
- naujasKiekis++;
- }
- }
- int j=0;
- Gyvunas[] B = new Gyvunas[naujasKiekis];
- for (int i=n-1; i>=0; i--){
- if (A[i].gautiSvori()>=minSvoris) {
- B[j]= A[i];
- j++;
- }
- }
- return B;
- }
- public static void meniu () {
- //Isvalom ekrana
- /*for (int i =0; i<=80; i++ )
- System.out.println("\n");*/
- System.out.println("Programos Lab1 veiksmu meniu");
- System.out.println("----------------------------");
- System.out.println("1. Skaityti duomenis.");
- System.out.println("2. Spausdinti i faila.");
- System.out.println("3. Iterpti.");
- System.out.println("4. Istrinti.");
- System.out.println("5. Surasti.");
- System.out.println("6. SurastiGyvunus.");
- System.out.println("7. Baigti darba.");
- System.out.println("----------------------------");
- System.out.println("Iveskite pasirinkto veiksmo nr.:");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement