Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1.  
  2. package wisielec;
  3. import java.util.Scanner;
  4. /**
  5.  *
  6.  * @author student
  7.  */
  8. public class Wisielec {
  9.  
  10.     // funkcja ta zwraca ile razy uzytkownik pomylil sie przy zgadywaniu liter
  11.     public static int zgadnijslowo(String slowo) {
  12.        
  13.         Scanner odczyt = new Scanner(System.in);
  14.        
  15.         int dlugosc = slowo.length();    //odczytuje jaka dlugosc ma podane slowo
  16.        
  17.         char wyjscie[] = new char[dlugosc];
  18.        
  19.         int odkryte = 0; //zmienna mowiaca ile liter udalo sie odkryc
  20.         int chybione = 0;
  21.        
  22.         for (int i = 0; i < dlugosc; i++) {
  23.             wyjscie[i] = '*';
  24.         }       //wyswietla tyle gwiazdek ile liter ma podane na wejsciu slowo
  25.  
  26.         while (odkryte < dlugosc) {
  27.             System.out.print("Zgaduj litery w wyrazie: ");
  28.             for (int i = 0; i < dlugosc; i++)
  29.                 System.out.print(wyjscie[i]);
  30.             System.out.print(": ");
  31.            
  32.             // pobiera jedna litere od uzytkownika
  33.             char literka = odczyt.next().charAt(0);
  34.  
  35.             boolean zgodnosc = false;
  36.             for (int i = 0; i < dlugosc; i++) {
  37.                 // literka matches a letter in slowo,
  38.                 // also it is not odkryte yet.
  39.                 if ((literka == slowo.charAt(i)) && (wyjscie[i] == '*')) {  //jezeli jeszcze litera nie byla odkryta
  40.                     wyjscie[i] = slowo.charAt(i);
  41.                     odkryte++;
  42.                     zgodnosc = true;   //jezeli zachodzi zgodnosc z podana litera przez uzytkownika i odpowiednia litera w wyrazie
  43.                 }
  44.             }
  45.             if (!zgodnosc)  //jezeli litery nie ma w wyrazie, liczba chybionych prob wzrasta o 1
  46.                 chybione++;
  47.         }
  48.         System.out.println("Udalo sie! Slowo to \"" + slowo + "\"");
  49.         return chybione; //zwraca liczby chybionych prob
  50.     }
  51.  
  52.  
  53.     /**
  54.      * @param args the command line arguments
  55.      */
  56.     public static void main(String[] args) {
  57.         // TODO code application logic here
  58.        
  59.         String wyraz; //wyraz ktory bedzie zgadywany (string)
  60.         Scanner odczyt = new Scanner(System.in);
  61.  
  62.         wyraz = odczyt.nextLine();
  63.         System.out.println("Chybiles " + zgadnijslowo(wyraz) +
  64.                 " razy odgadujac to slowo.");
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement