Advertisement
Talar97

Lab05

Nov 17th, 2017
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.25 KB | None | 0 0
  1. package com.Talar;
  2.  
  3. import java.io.*;
  4. import java.util.NoSuchElementException;
  5. import java.util.Scanner;
  6. import java.io.FileNotFoundException;
  7. import java.io.PrintWriter;
  8.  
  9.  
  10. public class Main {
  11.  
  12.     public static void main(String[] args) throws FileNotFoundException{
  13.         //Niektóre zadania mogą nie działać bez stworzonych plików w odpowiedniej lokalizacji
  14.         //Zapoznaj sie z trescia zadania i zobacz, czy wszystko jest tak jak powinno z plikami .txt
  15.         WyborZadania();
  16.     }
  17.  
  18.     private static void WyborZadania() throws FileNotFoundException {
  19.         Scanner inp = new Scanner(System.in);
  20.         System.out.println("Dostępne zadania:\n1-5. Pliki, wyjątki");
  21.         System.out.print("Przejdż do zadania: ");
  22.         int wybor = inp.nextInt();
  23.  
  24.         switch (wybor) {
  25.             case 1:
  26.                 Zad1();
  27.                 break;
  28.             case 2:
  29.                 Zad2();
  30.                 break;
  31.             case 3:
  32.                 Zad3();
  33.                 break;
  34.             case 4:
  35.                 Zad4();
  36.                 break;
  37.             case 5:
  38.                 Zad5();
  39.                 break;
  40.             default:
  41.                 WyborZadania();
  42.                 break;
  43.         }
  44.     }
  45.  
  46.     private static void Zad1() throws FileNotFoundException {
  47.         File plik = new File("/Users/talar/IdeaProjects/Lab05/src/com/Talar/zad1.txt");
  48.         Scanner in = new Scanner(plik);
  49.         String zdanie = "";
  50.         int posredni[] = new int[3];
  51.         int wynik[] = new int[3];
  52.  
  53.         while(true){
  54.             try{
  55.                 zdanie = in.nextLine();
  56.                 System.out.println(zdanie);
  57.                 posredni = liczZnakiSlowa(zdanie);
  58.             }
  59.             catch(NoSuchElementException e) { break; }
  60.             for(int i = 0; i < posredni.length; i++){
  61.                 wynik[i] += posredni[i];
  62.             }
  63.         }
  64.  
  65.         for(int x = 0; x < wynik.length; x++){
  66.             System.out.print(wynik[x] + ", ");
  67.         }
  68.     }
  69.  
  70.     private static int[] liczZnakiSlowa(String text){
  71.         int wynik[] = new int[3];
  72.         wynik[2] = 1;
  73.  
  74.         for(int x : wynik){
  75.             wynik[x]=0;
  76.         }
  77.  
  78.         for(int i = 0; i < text.length(); i++){
  79.             if(Character.isWhitespace(text.charAt(i))){
  80.                 wynik[1]++;
  81.             }
  82.             else{
  83.                 wynik[0]++;
  84.             }
  85.         }
  86.  
  87.         for(int i = 1; i < text.length(); i++){
  88.             if(Character.isWhitespace(text.charAt(i)) && Character.isLetter(text.charAt(i-1)) ){
  89.                 wynik[2]++;
  90.             }
  91.         }
  92.  
  93.         return wynik;
  94.     }
  95.  
  96.     private static void Zad2() throws FileNotFoundException{
  97.         // Sciezka We - /Users/talar/IdeaProjects/Lab05/src/com/Talar/zad2.txt
  98.         // Sciezka Wy - /Users/talar/IdeaProjects/Lab05/src/com/Talar/zad2Wy.txt
  99.  
  100.         Scanner inp = new Scanner(System.in);
  101.         System.out.print("Podaj scieżkę pliku wejscia: "); String inputFilePath = inp.nextLine();
  102.         System.out.print("Podaj scieżkę pliku wyjscia: "); String outputFilePath = inp.nextLine();
  103.         System.out.print("Podaj łancuch do wyszukania: "); String text = inp.nextLine();
  104.  
  105.         szukaj(inputFilePath, outputFilePath, text);
  106.     }
  107.  
  108.     private static void szukaj(String plikWe, String PlikWy, String slowo) throws FileNotFoundException{
  109.         File plik = new File(plikWe);
  110.         PrintWriter zapis = new PrintWriter(PlikWy);
  111.         Scanner in = new Scanner(plik);
  112.         String zdanie = "";
  113.  
  114.         while(true){
  115.             try{
  116.                 zdanie = in.nextLine();
  117.                 if(strFind(zdanie, slowo)){
  118.                     System.out.println(zdanie);
  119.                     zapis.println(zdanie);
  120.                 }
  121.             }
  122.             catch(NoSuchElementException e) { break; }
  123.         }
  124.         zapis.close();
  125.     }
  126.  
  127.     private static boolean strFind(String gdzie, String co){
  128.         boolean wynik = false;
  129.  
  130.         if(gdzie.indexOf(co)!= -1) wynik = true;
  131.         else wynik = false;
  132.         return wynik;
  133.     }
  134.  
  135.     private static void Zad3() throws FileNotFoundException{
  136.         // liczby - /Users/talar/IdeaProjects/Lab05/src/com/Talar/zad3.txt
  137.         Scanner inp = new Scanner(System.in);
  138.         System.out.print("Podaj scieżkę pliku wejscia: "); String path = inp.nextLine();
  139.         sumujIZapisz(path);
  140.     }
  141.  
  142.     private static void sumujIZapisz(String path) throws FileNotFoundException{
  143.         File plik = new File(path);
  144.         Scanner in = new Scanner(plik);
  145.         String l = ""; int wynik = 0;
  146.  
  147.         while(true){
  148.             try{
  149.                 l = in.nextLine();
  150.                 System.out.println(l);
  151.                 try{
  152.                     wynik += Integer.parseInt(l);
  153.                 }
  154.                 catch(NumberFormatException x){ break; }
  155.  
  156.             }
  157.             catch(NoSuchElementException e) { break; }
  158.         }
  159.  
  160.         try{
  161.             FileWriter zapis = new FileWriter(path, true);
  162.             if(wynik==0){ zapis.write("1"); }
  163.             else { zapis.write("\n"+ String.valueOf(wynik)); }
  164.             zapis.close();
  165.         }
  166.         catch(IOException ioe) { System.out.print("Error"); }
  167.  
  168.  
  169.         System.out.println("Suma: " + wynik);
  170.     }
  171.  
  172.     private static void Zad4() throws FileNotFoundException{
  173.         // emerytury - /Users/talar/IdeaProjects/Lab05/src/com/Talar/zad4.txt
  174.         emerytura("/Users/talar/IdeaProjects/Lab05/src/com/Talar/zad4.txt");
  175.     }
  176.  
  177.     private static void emerytura(String path) throws FileNotFoundException{
  178.         String defaultPath = "/Users/talar/IdeaProjects/Lab05/src/com/Talar/";
  179.         File plik = new File(path);
  180.         Scanner in = new Scanner(plik);
  181.         String l = ""; String[] wynik = new String[4];
  182.         int roznica = 0;
  183.  
  184.         while(true){
  185.             try{
  186.                 l = in.nextLine();
  187.                 wynik = podzielNaSlowa(l);
  188.                 if(wynik[2].equals("K")){
  189.                     roznica = 60 - Integer.parseInt(wynik[3]);
  190.                     try{
  191.                         FileWriter zapis = new FileWriter(defaultPath+"kobiety.txt", true);
  192.                         zapis.write(wynik[0] + " " + wynik[1] + " " + wynik[2] + " " +roznica + "\n");
  193.                         zapis.close();
  194.                     }
  195.                     catch(IOException e) { System.out.print("Error"); }
  196.                 }
  197.                 else if(wynik[2].equals("M")){
  198.                     roznica = 65 - Integer.parseInt(wynik[3]);
  199.                     try{
  200.                         FileWriter zapis = new FileWriter(defaultPath+"mezczyzni.txt", true);
  201.                         zapis.write(wynik[0] + " " + wynik[1] + " " + wynik[2] + " " +roznica + "\n");
  202.                         zapis.close();
  203.                     }
  204.                     catch(IOException e) { System.out.print("Error"); }
  205.                 }
  206.             }
  207.             catch(NoSuchElementException e) { break; }
  208.         }
  209.     }
  210.  
  211.     private static String[] podzielNaSlowa(String text){
  212.         String[] wynik = new String[wordCount(text)];
  213.         int j = 0;
  214.  
  215.         for(int k = 0; k < wynik.length; k++){
  216.             wynik[k] = "";
  217.         }
  218.  
  219.         for(int i = 0; i < text.length(); i++){
  220.             if(Character.isWhitespace(text.charAt(i))){
  221.                 j++;
  222.             }
  223.             else{
  224.                 wynik[j] += text.charAt(i);
  225.             }
  226.         }
  227.  
  228.         return wynik;
  229.     }
  230.  
  231.     private static int wordCount(String text){
  232.         int wynik = 1;
  233.  
  234.         for(int i = 1; i < text.length(); i++){
  235.             if(Character.isWhitespace(text.charAt(i)) || Character.isLetter(text.charAt(i-1))){
  236.                 wynik++;
  237.             }
  238.         }
  239.  
  240.         return wynik;
  241.     }
  242.  
  243.     private static void Zad5() throws FileNotFoundException{
  244.  
  245.         String defaultPath = "/Users/talar/IdeaProjects/Lab05/src/com/Talar/";
  246.         File plik = new File(defaultPath+"zad5.txt");
  247.         Scanner in = new Scanner(plik);
  248.  
  249.         String l = ""; String posredni="";
  250.         String[] wynik = new String[4];
  251.  
  252.         try{
  253.             FileWriter zapis = new FileWriter(defaultPath+"index.html", true);
  254.             zapis.write("<html>\n\t<head>\n\t\t<title>Tabelka</title>\n\t\t<link rel=\"stylesheet\" type=\"text/css\" href=\"main.css\">\n\t</head>\n\t<body>\n\t\t<table>\n");
  255.             zapis.close();
  256.         }
  257.         catch(IOException e) { System.out.print("Error"); }
  258.  
  259.         while(true){
  260.             try{
  261.                 l = in.nextLine();
  262.                 wynik = podzielNaSlowa(l);
  263.                 try{
  264.                     FileWriter zapis = new FileWriter(defaultPath+"index.html", true);
  265.                     zapis.write("\t\t\t<tr><td>"+wynik[0] + "</td><td>" + wynik[1] + "</td><td>" + wynik[2] + "</td><td>" +wynik[3] + "</td></tr>\n");
  266.                     zapis.close();
  267.                 }
  268.                 catch(IOException e) { System.out.print("Error"); }
  269.  
  270.             }
  271.             catch(NoSuchElementException e) { break; }
  272.         }
  273.  
  274.         try{
  275.             FileWriter zapis = new FileWriter(defaultPath+"index.html", true);
  276.             zapis.write("\t\t</table>\n\t</body>\n</html>");
  277.             zapis.close();
  278.         }
  279.         catch(IOException e) { System.out.print("Error"); }
  280.     }
  281. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement