Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The assignment i\'ve been given tells me to ask the user for their: first name m

ID: 3625216 • Letter: T

Question

The assignment i've been given tells me to ask the user for their:

first name
middle name
last name
age
lucky number
and favorite color

From that i'm suppose to output something that looks like this:

Matthew Stern is 18 years old.
The initials of Matthew Sulivan Stern are MSS.
MSS's favorite color is blue and their lucky number is 29.

The problem that i'm having is that the initials appear in unicode and I don't know how to turn them in to characters. Instead of the above statement, I get something like:

Matthew Stern is 18 years old.
The initials of Matthew Sulivan Stern are 243.
243's favorite color is blue and their lucky number is 29.

I used charAt to get the initials from the user. What can I do to get rid of the unicode? Here is my code, message me if something I said isn't clear. Cramster keeps on reformatting my text..:

 

// Story code

import java.util.Scanner;


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

   String first; // User's first name
   String middle; // User's middle name
   String last; // User's last name
   String color; // User's favorite color
   int age; // User's age
   int number; // User's lucky number

   // Get the user's name
   System.out.println("What is your first name? ");
   first = keyboard.nextLine();
   System.out.println("What is your middle name? ");
   middle = keyboard.nextLine();
   System.out.println("What is your last name? ");
   last = keyboard.nextLine();

   // Get the user's age and lucky number
   System.out.println("How old are you? ");
   age = keyboard.nextInt();
   System.out.println("What is your lucky number? ");
   number = keyboard.nextInt();

   // Consume the remaining newline
   keyboard.nextLine();

   // Get the user's favorite color
   System.out.println("What is your favorite color? ");
   color = keyboard.nextLine();

   // Discern the users intials and capitalize letters
   String bigFirst = first.toUpperCase();
   String bigMiddle = middle.toUpperCase();
   String bigLast = last.toUpperCase();

   char firstletter = bigFirst.charAt(0); // User's first name initial
   char middleletter = bigMiddle.charAt(0); // User's middle name initial
   char lastletter = bigLast.charAt(0); // User's last name initial

   // Display to user
   System.out.println(""+first+" "+last+" is "+age+" years old. ");
   System.out.print("The initials of "+first+" "+middle+" "+last+" are ");
   System.out.println(firstletter + middleletter + lastletter + ". ");
   System.out.print(firstletter + middleletter + lastletter + "'s favorite color is");
   System.out.println(" "+color+" and their lucky number is "+number+"");
   }
}

Explanation / Answer

here is your deadly mistake lines System.out.println(""+first+" "+last+" is "+age+" years old. "); System.out.print("The initials of "+first+" "+middle+" "+last+" are "); System.out.println(firstletter +""+ middleletter+"" + lastletter + ". "); System.out.print(firstletter + middleletter + lastletter + "'s favorite color is"); System.out.println(" "+color+" and their lucky number is "+number+""); remember that char is unicode as u said it, so when you write .... System.out.println( firstleeter + middleletter + lastletter ); you are adding the value of the letters... like 1 + 2 + 3 = 6 so the system.out.print is printing 6 you must use System.out.println(firstletter +" "+ middleletter+" " + lastletter + ". "); means that u are printing a char + another char + another char

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote