Pages

Total Pageviews

Wednesday, August 21, 2019

Project #4 at Java Programming

import java.util.Random;
import java.util.Scanner;
import java.util.InputMismatchException;
// This program was made by Erdogan Akbiyik

/* Project 4 Guess Program - Guess is a program to predict a number.
The computer randomly sets a number between 1-100 and asks users to estimate this number.
*/

public class Guess {
 
   public static int high_or_low(int numberToGuess, int newGuess, int min, int max)
   {
      return newGuess - numberToGuess;
   }

    public static void main(String[] args) {

        Random random = new Random();
        Scanner key = new Scanner(System.in);
       
        int numberOfTries = 0;
        int numberOfValidTries = 0;
        int min = 1;
        int max = 100;
        int numberToGuess=random.nextInt(100) + 1; //Since  random.nextInt(100) returns 0 to 99 we add 1 to find 1 to 100     
     
        System.out.println("Welcome to 'Guess The Number Game'");    //Welcome messages
        System.out.println("We pick a number between 1 and 100, can you guess it?");

        while (true) {     
            try {
               numberOfTries++;                                            //Increment number of tries in all cases

               System.out.print("Enter " + min +" to " + max + ": ");
               int newGuess = key.nextInt();
             
               if(newGuess < min || newGuess > max) {                      // If the entered value is out of range throw exception     
                  throw new Exception("Value is outside of range, Try again!");
               }
             
               numberOfValidTries++;                                       // If value is in valid range and valid format increment valid tries
             
               int diff = high_or_low(numberToGuess, newGuess, min, max);
             
               if(diff < 0)      // If guess is lower than the picked number
               {               
                  System.out.println("Good guess but your value is too low, Try again!");
                  min = newGuess;
               }
               else if(diff > 0) // If guess is higher than the picked number
               {
                  System.out.println("Good guess but your value is too high, Try again!");
                  max = newGuess;
               }
               else              // If guess is correct
               {
                  System.out.println("That is the correct number!  It took you "+numberOfValidTries+" valid guesses, "+numberOfTries+" in total.");
                  break;         // we found the answer, so break the while loop and show the user
               }
            }
            catch (InputMismatchException e) {
             
               System.out.println("Inputs must be numerical, Try again!");
               key.next();  // bad input is removed from buffer
            }
            catch (Exception e) {             
               System.out.println(e.getMessage()); // Writes the exception message to screen
            }
        }       
        System.out.println("Thanks for using my program!");    //Thank you and good bye message
    }

}


import java.util.Scanner;
// This program was made by Erdogan Akbiyik

/* Project 4 Hangman Program - Hangman program is a program that follows the correct and inaccuracy of the letters of the word requested from the users.
*/

public class Hangman {

private static String[] words = {"terminator", "love",  "banana", "computer", "java", "cow", "rain", "water" }; // The words to be guessed from users are as follows.
private static String word = words[(int) (Math.random() * words.length)];
private static String asterisk = new String(new char[word.length()]).replace("\0", "*");
private static int count = 0;

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

while (count < 7 && asterisk.contains("*")) {
System.out.println("Guess any letter in the word");
System.out.println(asterisk);
String guess = sc.next();
hang(guess);
}
sc.close();
}

public static void hang(String guess) {
String newasterisk = "";
for (int i = 0; i < word.length(); i++) {
if (word.charAt(i) == guess.charAt(0)) {
newasterisk += guess.charAt(0);
} else if (asterisk.charAt(i) != '*') {
newasterisk += word.charAt(i);
} else {
newasterisk += "*";
}
}

if (asterisk.equals(newasterisk)) {
count++;
hangmanImage();
} else {
asterisk = newasterisk;
}
if (asterisk.equals(word)) {
System.out.println("Correct! You win! The word was " + word);
         System.out.println("Thanks for using my program!");
}
}

// Visual graphics with false answers consist of view. In this way, users do not intend to see how close they are.

public static void hangmanImage() {
if (count == 1) {
System.out.println("Wrong guess, try again");
System.out.println();
System.out.println();
System.out.println();
System.out.println();
System.out.println("___|___");
System.out.println();
}
if (count == 2) {
System.out.println("Wrong guess, try again");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("___|___");
}
if (count == 3) {
System.out.println("Wrong guess, try again");
System.out.println("   ____________");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("   | ");
System.out.println("___|___");
}
if (count == 4) {
System.out.println("Wrong guess, try again");
System.out.println("   ____________");
System.out.println("   |          _|_");
System.out.println("   |         /   \\");
System.out.println("   |        |     |");
System.out.println("   |         \\_ _/");
System.out.println("   |");
System.out.println("   |");
System.out.println("   |");
System.out.println("___|___");
}
if (count == 5) {
System.out.println("Wrong guess, try again");
System.out.println("   ____________");
System.out.println("   |          _|_");
System.out.println("   |         /   \\");
System.out.println("   |        |     |");
System.out.println("   |         \\_ _/");
System.out.println("   |           |");
System.out.println("   |           |");
System.out.println("   |");
System.out.println("___|___");
}
if (count == 6) {
System.out.println("Wrong guess, try again");
System.out.println("   ____________");
System.out.println("   |          _|_");
System.out.println("   |         /   \\");
System.out.println("   |        |     |");
System.out.println("   |         \\_ _/");
System.out.println("   |           |");
System.out.println("   |           |");
System.out.println("   |          / \\ ");
System.out.println("___|___      /   \\");
}
if (count == 7) {
System.out.println("GAME OVER!");
System.out.println("   ____________");
System.out.println("   |          _|_");
System.out.println("   |         /   \\");
System.out.println("   |        |     |");
System.out.println("   |         \\_ _/");
System.out.println("   |          _|_");
System.out.println("   |         / | \\");
System.out.println("   |          / \\ ");
System.out.println("___|___      /   \\");
System.out.println("GAME OVER! The word was " + word);
         System.out.println("Thanks for using my program!");
}
}
}

import java.util.Random;  //import random class
import java.util.*;
// This program was made by Erdogan Akbiyik

/* Project 4 MaxArray Program - This program is made to generate random numbers according to the indexes created according to the values in a given number of digits.
*/

public class MaxArray
{
   static void labeledBubbleSort(int[] labels, int[] val) {
     int n = labels.length;
     int temp = 0;
      for(int i=0; i < n; i++){
              for(int j=1; j < (n-i); j++){
                       if(val[labels[j-1]] < val[labels[j]]){ // compare values array
                              //swap in labels array not in values array so order the labels
                              temp = labels[j-1];
                              labels[j-1] = labels[j];
                              labels[j] = temp;
                      }
                     
              }
      }

    }
 
   public static void main(String[] arr)
   {
      int array[] = new int[1000];     // Random numbers array
      int histogram[] = new int[50];   // Number counts array
      int labels[] = new int[50];      // Number labels array, which later will be used in ordering
   
      Random rand = new Random(1);     //create random object and sets seed to one//create random object and sets seed to one
   
      // Initializing array with random numbers
      for(int i = 0; i < array.length; i++)
      {
         array[i] = rand.nextInt(50) + 1; // returns a single random integer between 1 and 50
      }
   
      // Initializing histogram and labels arrays
      for(int i = 0; i < histogram.length; i++)
      {
         histogram[i] = 0;
         labels[i] = i;
      }
   
      // we create the histogram (counts) of the array
      for(int i = 0; i < array.length; i++)
      {
         histogram[array[i]-1]++;
      }
   
      // use a modified version of bubble sort algorithm to order the array
      // classic bubble sort algorithm orders the values of the array
      // in this modification algorithm there is a label and a value array
      // label array contains the label values 0-49
      // values array (histogram) contains the counts of the numbers in the random array
      // labeledBubble sort will order the labels according to values array
      labeledBubbleSort(labels, histogram);
   
   
      System.out.println("Welcome to random array counter and reporter");
      System.out.println("1000 numbers between 1-50 are randomly created. ");
      System.out.println("Here is the most frequently picked 10 random numbers:");
      //Printing most occuring 10 numbers   
      for(int i=0; i < 10; i++)
      {
         System.out.println("Number: " + (labels[i]+1) + ", Count: " + histogram[labels[i]]);
      }
      System.out.println("Thanks for using my program!");
   }
}


No comments:

Post a Comment