3.15 Program: Text message expander (Java)

  • Context: Java 
  • Thread starter Thread starter zatawave
  • Start date Start date
  • Tags Tags
    Java Program Text
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 replies · 7K views
zatawave
Messages
2
Reaction score
0
I'm having issues with this code, here are the parameters and results.

Create a program using conditional logic and string operations that does the following using your NetBeans IDE and upload it here:

(1) Use scnr.nextLine(); to get a line of user input into a string. Output that line. (1 pt)

Ex:

Enter text: IDK how that happened. TTYL.
You entered: IDK how that happened. TTYL.

(2) Expand common text message abbreviations. Output a message for each abbreviation that is expanded, then output the expanded line. Note: Check for abbreviations in the order provided below. (5 pts)

Support these abbreviations (you only need to support these):

BFF -- best friend forever
IDK -- I don't know
JK -- just kidding
TMI -- too much information
TTYL -- talk to you later
Ex:

Enter text: IDK how that happened. TTYL.
You entered: IDK how that happened. TTYL.

Replaced "IDK" with "I don't know".
Replaced "TTYL" with "talk to you later".

Expanded: I don't know how that happened. talk to you later.

My Code:

Code:
import java.util.Scanner;

public class TextMsgExpander {

   public static void main(String[] args)
   {
       String txtMsg,mesg,replaced ;

        Scanner scnr = new Scanner(System.in);

       String BFF="best friend forever";
       String IDK="I don't know";
       String TMI="too much information";
       String LOL="laughing out loud";
       String IMHO="in my humble opinion";
       String TTYL="talk to you later";

       System.out.println("Enter text: ");
       txtMsg=scnr.nextLine();
         
       System.out.println("You entered: "+txtMsg);
  
       if(txtMsg.contains("BFF"))
       {
           txtMsg=txtMsg.replace("BFF",BFF);
           System.out.println("Replaced 'BFF' with "+BFF);
       }
         
       if(txtMsg.contains("IDK"))
       {
           txtMsg=txtMsg.replace("IDK",IDK);
           System.out.println("Replaced 'IDK' with ""+IDK+""");
       }
         
       if(txtMsg.contains("TMI"))
       {
           txtMsg=txtMsg.replace("TMI",TMI);
           System.out.println("Replaced 'TMI' with ""+TMI+""");
       }
         
       if(txtMsg.contains("LOL"))
       {
           txtMsg=txtMsg.replace("LOL",LOL);
           System.out.println("Replaced 'LOL' with ""+LOL+""");
       }
         
       if(txtMsg.contains("IMHO"))
       {
           txtMsg=txtMsg.replace("IMHO",IMHO);
           System.out.println("Replaced 'IMHO' with ""+IMHO+""");
       }
         
       if(txtMsg.contains("TTYL"))
       {
           txtMsg=txtMsg.replace("TTYL",TTYL);
           System.out.println("Replaced 'TTYL' with ""+TTYL+""");
       }
 
        System.out.println("Expanded: "+txtMsg);
    
     return;

Sorry the post is so long, does anyone have any pointers?

Thank you,

Dave
 
Last edited by a moderator:
on Phys.org
Your [m]println[/m] statements have different stricture as far as quotation marks go. One is

[m]System.out.println("Replaced 'BFF' with "+BFF);[/m]

and the next is

[m]System.out.println("Replaced 'IDK' with ""+IDK+""");[/m]

Could you explain why you made them different? What is the structure of the second line? For example: This argument of [m]println[/m] is the concatenation of three strings. The first is "Replaced 'IDK' with "; the second is...

And, of course, you code needs two closing curly braces in the end.

The first [m]System.out.println("Enter text: ");[/m] should in fact be [m]print[/m] instead of [m]println[/m] because the example in the assignment does not have a new line:

Enter text: IDK how that happened. TTYL.