Advertisement
Guest User

Untitled

a guest
Oct 25th, 2018
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.50 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class PartyInvitation {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         String input = scanner.nextLine();
  7.         int numberOfNames = 0;
  8.         int validNames = 0;
  9.         int invalidNames = 0;
  10.  
  11.         while (!input.equals("Statistic")) {
  12.             numberOfNames++;
  13.             if (isValid(input)) {
  14.                 validNames++;
  15.                 String properName = input.substring(0, 1).toUpperCase() + input.substring(1).toLowerCase(); //https://stackoverflow.com/questions/3904579/how-to-capitalize-the-first-letter-of-a-string-in-java/44472200
  16.                 System.out.println(properName);
  17.             } else {
  18.                 invalidNames++;
  19.                 System.out.println("Invalid name!");
  20.             }
  21.             input = scanner.nextLine();
  22.         }
  23.         System.out.printf("Valid names are %.2f%% from %d names.", (double) validNames / numberOfNames * 100, numberOfNames);
  24.         System.out.println();
  25.         System.out.printf("Invalid names are %.2f%% from %d names.", (double) invalidNames / numberOfNames * 100, numberOfNames);
  26.     }
  27.  
  28.     private static boolean isValid(String name) {
  29.         boolean isValid = true;
  30.         for (int i = 0; i < name.length(); i++) {
  31.             Character currentChar = name.charAt(i);
  32.             if (!Character.isLetter(currentChar)) {
  33.                 isValid = false;
  34.                 break;
  35.             }
  36.         }
  37.         return isValid;
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement