Showing posts with label Hacker Rank Solution. Show all posts
Showing posts with label Hacker Rank Solution. Show all posts
 Java Currency Formatter HackerRank Solutions

Java Currency Formatter HackerRank Solutions


 Java Currency Formatter

Java Currency Formatter

Given a double-precision number, payment, denoting an amount of money, use the NumberFormat class' getCurrencyInstance method to convert payment  into the US, Indian, Chinese, and French currency formats. Then print the formatted values as follows:

 

US: formattedPayment

India: formattedPayment

China: formattedPayment

France: formattedPayment

Where formattedPayment  is payment  formatted according to the appropriate Locale's currency.

 

Note: India does not have a built-in Locale, so you must construct one where the language is en (i.e., English).

 

Input Format

 

A single double-precision number denoting payment.

 

Constraints

0<=payment<=10^9

Output Format

 

On the first line, print US: u where u is payment  formatted for US currency.

On the second line, print India: i where i  is payment  formatted for Indian currency.

On the third line, print China: c where c  is payment formatted for Chinese currency.

On the fourth line, print France: f, where f is payment formatted for French currency.

 

Sample Input

 

12324.134

Sample Output

 

US: $12,324.13

India: Rs.12,324.13

China: 12,324.13

France: 12 324,13 €

Explanation

 

Each line contains the value of payment  formatted according to the four countries' respective currencies.


Solutions:

import java.util.Scanner;
import java.text.NumberFormat;
import java.util.Locale;

public class Solution {
    
    public static void main(String[] args) {
        /* Read input */
        Scanner scanner = new Scanner(System.in);
        double payment = scanner.nextDouble();
        scanner.close();

        /* Create custom Locale for India. 
          I used the "IANA Language Subtag Registry" to find India's country code */
        Locale indiaLocale = new Locale("en""IN");

        /* Create NumberFormats using Locales */
        NumberFormat us     = NumberFormat.getCurrencyInstance(Locale.US);
        NumberFormat india  = NumberFormat.getCurrencyInstance(indiaLocale);
        NumberFormat china  = NumberFormat.getCurrencyInstance(Locale.CHINA);
        NumberFormat france = NumberFormat.getCurrencyInstance(Locale.FRANCE);

        /* Print output */        
        System.out.println("US: "     + us.format(payment));
        System.out.println("India: "  + india.format(payment));
        System.out.println("China: "  + china.format(payment));
        System.out.println("France: " + france.format(payment));
    }
}
Java Date and Time Hacker Rank solution

Java Date and Time Hacker Rank solution

 

Java Date and Time Hacker Rank solution

The Calendar class is an abstract class that provides methods for converting between a specific instant in time and a set of calendar fields such as YEAR, MONTH, DAY_OF_MONTH, HOUR, and so on, and for manipulating the calendar fields, such as getting the date of the next week.

 

You are given a date. You just need to write the method, getDay, which returns the day on that date. To simplify your task, we have provided a portion of the code in the editor.

 

For example, if you are given the date  August 14th 2017, the method should return MONDAY  as the day on that date.


Solution:

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
import java.time.LocalDate;
class Result {

    /*
     * Complete the 'findDay' function below.
     *
     * The function is expected to return a STRING.
     * The function accepts following parameters:
     *  1. INTEGER month
     *  2. INTEGER day
     *  3. INTEGER year
     */

    public static String findDay(int monthint dayint year) {
        return LocalDate.of(year, month, day).getDayOfWeek().name();

    }

}

public class Solution {
    public static void main(String[] argsthrows IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

        String[] firstMultipleInput = bufferedReader.readLine().replaceAll("\\s+$""").split(" ");

        int month = Integer.parseInt(firstMultipleInput[0]);

        int day = Integer.parseInt(firstMultipleInput[1]);

        int year = Integer.parseInt(firstMultipleInput[2]);

        String res = Result.findDay(month, day, year);

        bufferedWriter.write(res);
        bufferedWriter.newLine();

        bufferedReader.close();
        bufferedWriter.close();
    }
}

Static initialization blocks - hacker Rank Solution

Static initialization blocks - hacker Rank Solution


Static initialization blocks.

Static initialization blocks are executed when the class is loaded, and you can initialize static variables in those blocks. 

You are given a class Solution with the main method. Complete the given code so that it outputs the area of a parallelogram with breadth B and height H. You should read the variables from the standard input.

 

If  B<=0 or H<=0, the output should be "java.lang.Exception: Breadth and height must be positive" without quotes.

 

Input Format

 

There are two lines of input. The first line contains : the breadth of the parallelogram. The next line contains: the height of the parallelogram.



Solution:

import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

static Scanner scan = new Scanner(System.in);
static int B = scan.nextInt();
static int H = scan.nextInt();
static boolean flag = true;
static{
    try{
        if(B <= 0 || H <= 0){
            flag = false;
            throw new Exception("Breadth and height must be positive");
        }
    }catch(Exception e){
        System.out.println(e);
    }

}
public static void main(String[] args){
        if(flag){
            int area=B*H;
            System.out.print(area);
        }
        
    }//end of main

}//end of class