2015-03-17 3 views
1

Я создал небольшую программу сканера, которая удаляет гласные введенной фразы. Он отлично работает, но теперь мне нужно добавить строку с простой статистикой, но я не знаю с чего начать.Java - Добавление базовой статистики в мою программу

То, что я в настоящее время:

public static void main(String[] args) { 
    new Disemvoweler(); 
} 

public Disemvoweler() { 
    System.out.println("Welcome to the disemvoweling utility!\n"); 
    Scanner in = new Scanner(System.in); 
    System.out.println("Enter your phrase: "); 
    String input = in.nextLine(); // Take in the input. 
    in.close(); // Close the scanner. 

    System.out.println("\nYour disemvoweled phrase: "+input.replaceAll("[aeoiu]", "")); 

Выход:

Добро пожаловать в disemvoweling полезности!

Введите фразу: Благодарим за помощь!

Ваша фраза, обозначенная словом: Thnk y fr yr hlp!

То, что я пытаюсь добавить к выходу:

Снижения от й до й символов. Скорость Снижение хх%

+0

Хорошо, что вы пытались до сих пор для достижения этой цели? – tnw

+0

Это очень простой вопрос: просто сравните длину ввода и результирующую строку. – Andremoniy

ответ

1

Кто-то иногда должен ответить на такой вопрос :) Не забудьте сказать, привет от меня к своему учителю :)

String reduced = input.replaceAll("[aeoiu]", ""); 
System.out.println("\nYour disemvoweled phrase: "+reduced); 
System.out.println("Reduced from " + input.length() + " to " + reduced.length() +" characters. Reduction rate of " + ((double) reduced.length()/input.length() * 100)+"%"); 
0

1) Count the number of vowels, затем

2) calculate the percentage difference между original и modified струны ...

import java.util.Scanner; 
class Disemvoweler { 
public static void main(String[] args) { 
    new Disemvoweler(); 
} 

public Disemvoweler() { 
    System.out.println("Welcome to the disemvoweling utility!\n"); 
    Scanner in = new Scanner(System.in); 
    System.out.println("Enter your phrase: "); 
    String input = in.nextLine(); // Take in the input. 
    int inputLength = input.length(); 
    in.close(); // Close the scanner. 
    int count = 0; 
       int vowels = 0; 
       int consonants = 0; 
       for (int i = 0; i < input.length(); i++) 
       { 
         char ch = input.charAt(i); 
         if (ch == 'a' || ch == 'e' || ch == 'i' || 
             ch == 'o' || ch == 'u') 
         { 
           vowels++; 
         } 
       } 
        System.out.println("\nYour disemvoweled phrase: "+input.replaceAll("[aeoiu]", "")); 
        String disemvoweled = input.replaceAll("[aeoiu]", ""); 
        int disemvoweledLength = disemvoweled.length(); 
        double percent = Math.abs(100*((double)disemvoweledLength-(double)inputLength)/(double)inputLength); 
        System.out.println("Reduced from: " + inputLength + " to " + disemvoweledLength + " characters. Reduction rate of " + percent + "%"); 
     } 
} 

ВХОД:

asda alsdkaslkd asdasda aldasdjadqweeq asdoiqowie 

ВЫВОД:

Your disemvoweled phrase: sd lsdkslkd sdsd ldsdjdqwq sdqw 
Reduced from: 49 to 31 characters. Reduction rate of 36.734693877551024%