idzik icon

Matura/2014/CiekaweNapisy.java

idzik | PRO | 02/02/16 02:26:30 PM UTC | 0 ⭐ | 260 👁️ | Never ⏰ | []
Java |

2.14 KB

|

None

|

0 👍

/

0 👎

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
public class CiekaweNapisy {
    public static boolean czyPierwsza(int liczba) {
        for (int i = 2; i < liczba; i++) {
            if (liczba % i == 0)
                return false;
        }
        return true;
    }
 
    public static int sumaKodow(String napis) {
        int suma = 0;
        for (int i = 0; i < napis.length(); i++) {
            suma = suma + (int) napis.charAt(i);
        }
        return suma;
    }
 
    public static void main(String[] args) throws FileNotFoundException {
 
        ArrayList<String> lista = new ArrayList<String>();
        Scanner skan = new Scanner(new File("NAPIS2.TXT"));
        PrintWriter plik = new PrintWriter("ZADANIE5.TXT");
        while (skan.hasNextLine()) {
            lista.add(skan.nextLine());
        }
        // szukanie napisów pierwszych
        int sumaNapisow = 0;
        for (int i = 0; i < lista.size(); i++) {
            int sumaKodowAscii = 0;
            for (int j = 0; j < lista.get(i).length(); j++) {
                sumaKodowAscii = sumaKodowAscii + (int) lista.get(i).charAt(j);
            }
            if (czyPierwsza(sumaKodowAscii)) {
                sumaNapisow++;
            }
        }
        System.out.println(sumaNapisow);
        plik.println("a)");
        plik.println(sumaNapisow);
        plik.println("\nb)");
        // wyświetlenie napisów rosnących
        for (int i = 0; i < lista.size(); i++) {
            boolean czyRosnie = true;
 
            for (int j = 0; j < lista.get(i).length() - 1; j++) {
                if (lista.get(i).charAt(j + 1) <= lista.get(i).charAt(j)) {
                    czyRosnie = false;
                }
            }
            if (czyRosnie) {
                System.out.println(lista.get(i));
                plik.println(lista.get(i));
            }
        }
        // wyświetlanie tych, które wystepują więcej niż jeden raz
        Collections.sort(lista);
        plik.println("\nc)");
        int i = 0;
        while (i < lista.size() - 1) {
            // System.out.println("Przeglądam wyraz "+lista.get(i));
            String wyraz = lista.get(i);
            int ileWyraz = 1;
            if (lista.get(i).equals(lista.get(i + 1))) {
                ileWyraz++;
            }
            if (ileWyraz > 1) {
                System.out.println("Wiecej niż raz" + lista.get(i));
                plik.println(lista.get(i));
            }
            i++;
        }
        plik.close();
    }
}

Comments