# Java String Introduction - HackerRank Solution with Explanation

## Java String Introduction - Hacker Rank Solution

Hello Friends, How are you? Today I am going to solve the HackerRank Java String Introduction Problem with a very easy explanation. In this article, you will get more than one approach to solve this problem. So let's start-

### HackerRank Java String Introduction - Problem Statement

"A string is traditionally a sequence of characters, either as a literal constant or as some kind of variable." — Wikipedia: String (computer science)

This exercise is to test your understanding of Java Strings. A sample String declaration:

String myString = "Hello World!" {codeBox}

The elements of a String are called characters. The number of characters in a string is called the length, and it can be retrieved with the String.length() method.

Given two strings of lowercase English letters, A and B, perform the following operations:
1. Sum the lengths of A and B.
2. Determine if A is lexicographically larger than B (i.e.: does B come before A in the dictionary?).
3. Capitalize the first letter in A and B and print them on a single line, separated by a space.

Input Format

The first line contains a string A. The second line contains another string B. The strings are comprised of only lowercase English letters.

Output Format

There are three lines of output:
For the first line, sum the lengths A of and B.
For the second line, write Yes if A is lexicographically greater than B otherwise print No instead.
For the third line, capitalize the first letter in both A and B and print them on a single line, separated by a space.

Sample Input

hello java {codeBox}

Sample Output

9 No Hello Java {codeBox}

Explanation

String A is "hello" and B is "java".

A has a length of 5, and B has a length of 4; the sum of their lengths is 9.
When sorted alphabetically/lexicographically, "hello" precedes "java"; therefore, A is not greater than B and the answer is No.

When you capitalize the first letter of both A and B and then print them separated by a space, you get "Hello Java".

### Java String Introduction - Hacker Rank Solution

Approach I:

```import java.io.*;
import java.util.Scanner;

public class Solution {
public static void main(String[] args) {
/* Save input */
Scanner scan = new Scanner(System.in);
String A = scan.next();
String B = scan.next();
scan.close();

/* Sum lengths */
System.out.println(A.length() + B.length());

/* Compare lexicographical ordering */
System.out.println(A.compareTo(B) > 0 ? "Yes" : "No");

/* Print the Strings in desired format */
System.out.println(capFirstLetter(A) + " " + capFirstLetter(B));
}

private static String capFirstLetter(String str) {
if (str == null || str.length() == 0) {
return "";
} else {
return str.substring(0,1).toUpperCase() + str.substring(1);
}
}
}
```

Approach II:

```import java.io.*;
import java.util.*;

public class Solution {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);
String A=sc.next();
String B=sc.next();

/* Enter your code here. Print output to STDOUT. */
System.out.println(A.length()+B.length());
System.out.println( A.compareTo(B)>0 ? "Yes" : "No" );
System.out.println( A.substring(0,1).toUpperCase()+A.substring(1,A.length())+" "+B.substring(0,1).toUpperCase()+B.substring(1,B.length()) );

}
}
```

Approach III:

```import java.io.*;
import java.util.*;

public class Solution {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);
String A=sc.next();
String B=sc.next();
int x=A.length()+B.length();
System.out.println(x);
int y=A.compareTo(B);
if(y>0)
System.out.println("Yes");
else
System.out.println("No");

String ab=A.substring(0,1).toUpperCase();
String ab1=B.substring(0,1).toUpperCase();
System.out.println(ab+A.substring(1)+" "+ab1+B.substring(1));
}
}
```

Approach IV:

```import java.io.*;
import java.util.*;

public class Solution {

public static String AIsLarger(String A, String B) {
return A.compareTo(B) > 0 ? "Yes" : "No";
}

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);
String A=sc.next();
String B=sc.next();

/* Enter your code here. Print output to STDOUT. */
System.out.println((A.length() + B.length()));
System.out.println(AIsLarger(A, B));

System.out.println(A.substring(0, 1).toUpperCase() + A.substring(1) + " " + B.substring(0, 1).toUpperCase() + B.substring(1));

}
}
```