# (Solved Homework): Purpose: Use math functions, string manipulation and input/output to create an alternative to Twitter called Chipper.

Purpose: Use math functions, string manipulation and input/output to create an alternative to Twitter called Chipper.

Requirements:

1. Ask the user for 3 messages to send using the following characteristics:
1. Generate a random number to ask the user for a # of chars for the message. The random number should be between 1 and 50. Use Math.random to generate 3 numbers: rand1, rand2, rand3
2. Have the user type the strings into 3 separate variables
3. Find the length of the string and report if the string is too long, then truncate it and reassign it to the string
2. String variables: Keep track of all three messages in msg1, msg2, msg3 strings. Also combine (concatenate) all 3 messages into 1 string called msgAll
3. int variables: Keep track of the lengths of all three messages (after truncating) in msg1Length, msg2Length, msg3Length
4. Counters:
1. Count and report the total # of characters in msgAll.
2. Count and report the number of vowels in msgAll (this will require a loop).
3. Count and report the number of spaces in msgAll (this will require a loop).
5. Display msgAll backwards (this will require a loop).
6. Display msgAll Vertically (one char per line).

Sample Output (user input in bold): Note: The output is incomplete, just use as a reference.

Message #1: Enter a message with 18 chars or less:

This is a message to you!

Oops! Your message has more than 18 characters! It has been truncated to:
This is a message

Message #2: Enter a message with 40 chars or less:

…. Message ….

Message #3: Enter a message with 28 chars or less:

…. Message ….

Here is message 1: … Message …
Here is message 2: … Message …
Here is message 3: … Message …

Here are your three messages combined:
This is a message … Message … … Message …

Here are your messages in all uppercase:
THIS IS A MESSAGE … MESSAGE … … MESSAGE …

Here are your messages in all lowercase:
this is a message … message … … message …

The count of characters in all of your messages: 99
The number of vowels in all of your messages: 10
The number of spaces in all of your messages: 8

Here is your message backwards: xxxxxya aaks ss kdkl3

T
H
I
S

I
S

-Following is the combined code for the above requested functionalities. Comments are added at required places of the code.

-All of the functionalities are added to one class name Chipper only, the other class is simply the Main class that is creating an object and just calling in all the required functionalities of the Chipper class.

Chipper Class

import java.util.Random;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Chipper {

private String chat;

private String[] mgs; //Creating an array of String type to store all the msgs

Chipper(){
chat=null;
mgs=new String[3];
input();

}

public void input(){
Scanner scan=new Scanner(System.in); //To take in the input
Random ran=new Random(); //Using Random for creating a Random input size
for(int i=0;i<3;i++){
int length=ran.nextInt(51)+1; //Definining the max size of Randomness
System.out.println(“Message #”+(i+1)+”: Enter a message with “+length+” chars or less:”);
chat=scan.nextLine(); //taking the entire line as string input.

if(chat.length()>length){ //Checking the size of input
chat=chat.substring(0, length);
System.out.println(“Oops! Your message has more than “+length+” characters! It has been truncated to:”);
System.out.println(chat);
mgs[i]=chat;
}
else{
System.out.println(chat);
mgs[i]=chat;
}

}

}

public int countSpaces(){ //Counting the spaces in all of the 3 messages.
int count=0;

for(String str:mgs){

for(int i=0;i<str.length();i++){
if(Character.isWhitespace(str.charAt(i))){

count++;
}
}

}
return count;
}

public int countVowels(){ //Counting vowels in all of the messages
int count=0;
String regex=”[aeiou]”;//Defining the regular expression with one having [aeiou] characters
Pattern pat=Pattern.compile(regex); //using the pattern class to use the above pattern

for(String str:mgs){
Matcher mat=pat.matcher(str);

while(mat.find()){ //Counting the number of time vowels was encountered in the msg

count++;
}

}
return count;
}

public int countCharacter(){ //Counting Character in all of the msgs
int count=0;

for(String str:mgs){

for(int i=0;i<str.length();i++){

count++;

}

/*This calls in the spaces in the end to remove space count from the final
* character count */

}
return (count-this.countSpaces());
}

public void diplay(){
for(String str:mgs){
System.out.println(str);
}
}

public void toLowerCase(){
for(String str:mgs){
for(int i=0;i<str.length();i++){
System.out.print(Character.toLowerCase(str.charAt(i)));
}
System.out.println();
}
}

public void count(){
System.out.println(“The count of characters in all of your messages: “+this.countCharacter());
System.out.println(“The number of vowels in all of your messages: “+this.countVowels());
System.out.println(“The number of spaces in all of your messages: “+this.countSpaces());
}

public void displayBackwards(){
for(String str:mgs){
for(int i=str.length()-1;i>=0;i–){
System.out.print(str.charAt(i));
}
System.out.println();
}
}
public String combinedMsg(){
StringBuilder strx=new StringBuilder();
for(String str:mgs){
strx.append(str);
strx.append(” “);
}
return strx.toString();
}

public void verticalMsg(){
String stx=this.combinedMsg();

for(int i=0;i<stx.length();i++){
System.out.println(stx.charAt(i));
}

}
}

Main Class

public class ChipperMain {

public static void main(String[] args){
Chipper cp=new Chipper();

System.out.println(“————-Result————–“);
cp.toLowerCase();
cp.count();
cp.displayBackwards();
System.out.println(“Combined Msgs:”+cp.combinedMsg());
cp.verticalMsg();
}

}

The output generated in the dry run.

Order NOW for a 10% Discount
Pages (550 words)
Approximate price: -

Why Us?

Top Quality and Well-Researched Papers

All ourbpapers are written from scratch. In fact, Clients who ask for paraphrasing services are highly discouraged. We have writers ready to craft any paper from scratch and deliver quality ahead of time.

Our writers keeps you posted on your papers progress - providing you with paper outline/draft. You are also at liberty to communicate directly with your writer.

Free Unlimited Revisions

If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account or by contacting our support.

Prompt Delivery and 100% Money-Back-Guarantee

All papers are always delivered on time, in many cases quite ahead of time. In case we need more time to master your paper, we may contact you regarding the deadline extension. In case you cannot provide us with more time, a 100% refund is guaranteed.

Original & Confidential

We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text. We also promise maximum confidentiality in all of our services.

Our support agents are available 24 hours a day 7 days a week and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.

Try it now!

## Calculate the price of your order

Total price:
\$0.00

How it works?

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Our Services

No need to work on your paper at night. Sleep tight, we will cover your back. We offer all kinds of writing services.

## Essay Writing Service

No matter what kind of academic paper you need and how urgent you need it, you are welcome to choose your academic level and the type of your paper at an affordable price. We take care of all your paper needs and give a 24/7 customer care support system.