Advertisement
Anonymus_Soul

Untitled

May 17th, 2020
1,633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.78 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package tesztverseny.cnd;
  7.  
  8. import java.util.*;//importok
  9. import java.io.*;
  10.  
  11. /**
  12.  *
  13.  * @author user
  14.  */
  15. public class repeat {
  16.  
  17.     /**
  18.      * @param args the command line arguments
  19.      */
  20.     public static void main(String[] args) throws IOException {//esemény kezelés az exceptionok miatt amit a bufferreader dobhat
  21.         BufferedReader valtozo = new BufferedReader(new FileReader("valaszok.txt"));//file megynitás olvasásra
  22.         int n = 500; //tömb elemszám inicializálása
  23.         String versenyzo[] = new String[n];//tároló tömb inicializálása
  24.         String valaszok[] = new String[n];//tároló tömb inicializálása
  25.         String sor;//változó amibe beolvasod az active sort
  26.         String DBS[];//az a tomb amiben a sor változót spliteled
  27.         int counter = 0;//léptető számláló
  28.         String one = valtozo.readLine();//első sor beolvasása
  29.         while ((sor = valtozo.readLine()) != null) {//beolvasás indítása amig a fileban a sor nem üres
  30.             DBS = sor.split(" ");//beolvasott sor tördelése a zárójelben megatott argomentum alapján
  31.             versenyzo[counter] = DBS[0];//tárolás
  32.             valaszok[counter] = DBS[1];//tárolas
  33.             counter++; //sorszamlalo
  34.  
  35.         }
  36.  
  37.         valtozo.close();//beolvasás lezárása
  38.         for (int i = 0; i < counter; i++) {//ciklus inditása a kiiratásnak
  39.             System.out.println(versenyzo[i] + " " + valaszok[i]);//kiiratás
  40.         }
  41.         System.out.println("2.feladat");
  42.         System.out.println("versenyzo" + counter);//file sorainak kiiratása
  43.         System.out.println("3.feladat");
  44.         Scanner be = new Scanner(System.in);//billenyűzetről való adat bekérés
  45.         String en = be.nextLine();//szöveg beolvasása és tárolása Scanner változóba
  46.         String e = null; //üres string létrehozása
  47.         for (int i = 0; i < 500; i++) {//ciklus indítása
  48.             if (versenyzo[i].equals(en)) {//aktuális tömb aktuális elemények vizsgálata az equals() függvénynel syn:op1.equals(op2)
  49.                 System.out.println(" A versenyzo azonositoja: " + " valasz: " + valaszok[i]);//kiiratás
  50.                 e = valaszok[i];//aktuális elem eltárolása az üres változóba
  51.                 break;//megszakítás vagy kitörés
  52.             }
  53.         }
  54.         System.out.println("4.feladat");
  55.  
  56.         System.out.println(one); //file első sorának
  57.         for (int i = 0; i < 14; i++) {//ciklus indítása
  58.             if (e.charAt(i) == one.charAt(i)) {//string charakterenkénti összehasonlítása
  59.  
  60.                 System.out.print("+");//igaz ág
  61.  
  62.             } else {
  63.                 System.out.print(" ");//hamis ág
  64.             }
  65.  
  66.         }
  67.         System.out.println();//sortörés
  68.         System.out.println(e);//változó értékének kiiratása
  69.         System.out.println("5.feladat");
  70.         int p = 0;
  71.         Scanner feladatsorszam = new Scanner(System.in);//billenyűzetről való adat bekérés
  72.         System.out.print("A feladat sorszáma= ");
  73.         int sorok = feladatsorszam.nextInt() - 1; //beolvasott változó eltárolása kiegészitve a helyes indexeléssel
  74.         for (int i = 0; i < counter; i++) {//ciklus indítása
  75.             if (one.charAt(sorok) == valaszok[i].charAt(sorok)) {//String vizsgálata charakterek alapján [összehasonlítás]  --> syn:Stringváltozó.charAt(charakter index)
  76.                 p++;//1 el való léptetés
  77.             }
  78.  
  79.         }
  80.  
  81.         float szazalek = ((float) p) / counter * 100;//% számítás
  82.         System.out.println("A feladatra " + p + "fo, A versenyzok:");//kiiratás
  83.         System.out.printf("%.2f", szazalek);//2 tizedesjegyre kerekített kiiratás
  84.         System.out.println("%-a adott helyes valaszt");//kiiratás
  85.         System.out.println("6.feladat");
  86.         FileWriter pont = new FileWriter("pontok.txt");//file megnyítása írásra
  87.         for (int i = 0; i < counter; i++) {//ciklus indítása
  88.             int emb = 0;//minden i-re külön számláló létrehozása
  89.             for (int j = 0; j < 14; j++) {//vizsgálati ciklus indítása
  90.                 if (one.charAt(j) == valaszok[i].charAt(j)) {//string charakterenkénti vizsgálata
  91.                
  92.                 if (j < 6) {
  93.                     emb = emb + 3;//változó 3-al való léptetése
  94.                     //emb +=3; valtozomat 3al léptettem  
  95.  
  96.                 } else if (5 < j && j < 11) {//elágazásba épített elégazás
  97.                     emb += 4;
  98.  
  99.                 } else if (10 < j && j < 14) {//elágazásba épített elégazás
  100.                     emb += 5;
  101.                 } else {
  102.                     emb += 6;
  103.                 }
  104.             }
  105.             } pont.write (versenyzo[i] + " " + emb + " \n");//file ba íratás
  106.            
  107.         } pont.close();//file írás lezárása NEM KIHAGYHATÓ!!!!!
  108.         System.out.println("7.feladat");
  109.          BufferedReader helyezes = new BufferedReader (new FileReader("pontok.txt"));//file megnyitása olvasásra
  110.         String azonosito[] = new String[n] ;//tároló tömb inicializálása
  111.         int pontok [] = new int [n] ;  //tároló tömb inicializálása
  112.         String sor1; //változó a sorbeolvasásnak
  113.         String DBS1[]; //sor változó splitelése miatt tömb létrehozása és tárolás
  114.         counter = 0;//már korábban létrehozott léptető ki 0-ázása a további használat miatt
  115.         while ( (sor1 = helyezes.readLine())!= null) {         //beolvasás indítása amig a fileban a sor nem üres
  116.             DBS1 = sor1.split(" ");//sorváltozó splitelése szóköz alapján
  117.             azonosito[counter] = DBS1 [0];//tárolás
  118.             pontok[counter]= Integer.parseInt(DBS1[1]);//tárolás
  119.             counter++;
  120.         }
  121.         helyezes.close();  //file olvasásásának lezárása
  122.          Arrays.sort (azonosito);//sorbarendezés
  123.          Arrays.sort (pontok);//sorbarendezés
  124.          int ponts[] = new int[n];//tároló tömb inicializálása
  125.         System.out.println("A verseny legjobbjai:");//kiiratás
  126.         for (int i = 0; i < counter; i++) {//ciklus indítás
  127.             System.out.println(azonosito[i] + " " + pontok[i]);//kiiratás
  128.              if (! Arrays.asList(ponts).contains(pontok[i])); {//tömb konverálása listává alakítás és elem vizsgálat hogy az  adott elem benne van e a listában
  129.                 ponts[i] = pontok[i];//elemek másolása
  130.                 if (ponts.length == 3 ) {//if ami addig fut amig a tömb mérete el nem éri a 3at
  131.                 break;//kitörés
  132.             }
  133.             }
  134.         }for (int i = 0; i <ponts.length; i++) {//ciklus indítása a tömb méretéig
  135.             int pontindex = Arrays.asList(ponts).indexOf(i);//tömb listává alakítása elem indexhelyének meghatározása miatt
  136.             if (pontindex == -1) {//ha az adott index -1 akkor az nem eleme a listának
  137.             break;//kitörés
  138.         }else
  139.              System.out.println(pontindex + 1 + " dij"+ p);//kiiratás
  140.         }
  141.         System.out.println("8.feladat");
  142.         int[] num = new int[10];
  143.         RandFel(num);//paraméteres függvény hívás
  144.     }
  145.      public static void RandFel(int[] tomb) {//függvény fejlece MINDIG A MAIN-EN KÍVŰL!!!!!
  146.          for (int i = 0; i < tomb.length; i++) {//cilkus indítása a paraméterben megkapott tömb méretéig
  147.              i = (int)(Math.random()*41)+10;  //random szám generálása syn:Math.random()*(felsohatar-alsohatar+1)+alsohatar
  148.              System.out.println(i);//aktuális eléem kiiratása
  149.          }
  150.     }
  151.  
  152. }//összehasonlítás if ben
  153. /*
  154.  * string.equals(string)
  155.  * int == int
  156. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement