How do I get the current month name?

To get the current month name from the system we can use java.util.Calendar class. The Calendar.get(Calendar.MONTH) returns the month value as an integer starting from 0 as the first month and 11 as the last month. This mean January equals to 0, February equals to 1 and December equals to 11.

Let’s see the code below:

package org.kodejava.example.util;

import java.util.Calendar;

public class GetMonthNameExample {
    public static void main(String[] args) {
        String[] monthName = {"January", "February",
                "March", "April", "May", "June", "July",
                "August", "September", "October", "November",
                "December"};

        Calendar cal = Calendar.getInstance();
        String month = monthName[cal.get(Calendar.MONTH)];

        System.out.println("Month name: " + month);
    }
}

On the first line inside the main method we declare an array of string that keep our month names. Next we get the integer value of the current month and at the last step we look for the month name inside our previously defined array.

The example result of this program is:

Month name: September

The better way to get the month names or week names is to use the java.text.DateFormatSymbols class. The example on using this class can be found on the following links: How do I get a list of month names? and How do I get a list of weekday names?.

How do I get date, month, year values from the current date?

What date, month, year, day-of-week, day-of-month, day-of-year is it today? If we want to answer these question we can use java.util.Calendar and java.util.GregorianCalendar which is the implementation of Calendar abstract class.

These classes can help us to get integer value such as date, month, year from a Date object. Let’s see the example code.

package org.kodejava.util;

import java.util.Calendar;

public class CalendarExample {
    public static void main(String[] args) {
        // Get various information from the Date object.
        Calendar cal = Calendar.getInstance();
        int day = cal.get(Calendar.DATE);
        int month = cal.get(Calendar.MONTH) + 1;
        int year = cal.get(Calendar.YEAR);
        int dow = cal.get(Calendar.DAY_OF_WEEK);
        int dom = cal.get(Calendar.DAY_OF_MONTH);
        int doy = cal.get(Calendar.DAY_OF_YEAR);

        System.out.println("Current Date: " + cal.getTime());
        System.out.println("Day         : " + day);
        System.out.println("Month       : " + month);
        System.out.println("Year        : " + year);
        System.out.println("Day of Week : " + dow);
        System.out.println("Day of Month: " + dom);
        System.out.println("Day of Year : " + doy);
    }
}

Here is the result of this example:

Current Date: Wed Sep 15 17:34:44 CST 2021
Day         : 15
Month       : 9
Year        : 2021
Day of Week : 4
Day of Month: 15
Day of Year : 258

You might also want to try to use the Joda Time library for this. Here another example for getting information about date and time using Joda: How do I get date / time fields of date in Joda?.

How do I compare if two arrays are equal?

Using Arrays.equals() methods we can compare if two arrays are equal. Two arrays are considered to be equal if their length, each element in both arrays are equal and in the same order to one another.

package org.kodejava.util;

import java.util.Arrays;

public class CompareArrayExample {
    public static void main(String[] args) {
        String[] abc = {"Kode", "Java", "Dot", "Org"};
        String[] xyz = {"Kode", "Java", "Dot", "Org"};
        String[] java = {"Java", "Dot", "Com"};

        System.out.println(Arrays.equals(abc, xyz));
        System.out.println(Arrays.equals(abc, java));
    }
}

The Arrays.equals() can be used to compare array of any primitive data type and array of Object. If you run this example you will have a result as follows:

true
false

How do I create a repeated sequence of character?

This example shows you how to create a repeated sequence of characters. To do this, we use the Arrays.fill() method. This method fills an array of char with a character.

package org.kodejava.util;

import java.util.Arrays;

public class RepeatCharacterExample {
    public static void main(String[] args) {
        char c = '*';
        int length = 10;

        // creates a char array with 10 elements
        char[] chars = new char[length];

        // fill each element of the char array with '*'
        Arrays.fill(chars, c);

        // print out the repeated '*'
        System.out.println(String.valueOf(chars));
    }
}

As the result you get the x character repeated 10 times.

**********

For one-liner code, you can use the following code snippet, which will give you the same result.

public class Test {
    public static void main(String[] args) {
        String str = new String(new char[10]).replace('\u0000', '*');
    }
}

Or

import java.util.Collections;

public class Test {
    public static void main(String[] args) {
        String str = String.join("", Collections.nCopies(10, "*"));
    }
}

How do I use StringTokenizer to split a string?

The code below is an example of using StringTokenizer to split a string. In the current JDK this class is discouraged to be used, use the String.split(...) method instead or using the new java.util.regex package.

package org.kodejava.util;

import java.util.StringTokenizer;

public class StringTokenizerExample {
    public static void main(String[] args) {
        StringTokenizer st =
            new StringTokenizer("A StringTokenizer sample");

        // get how many tokens inside st object
        System.out.println("Tokens count: " + st.countTokens());

        // iterate st object to get more tokens from it
        while (st.hasMoreElements()) {
            String token = st.nextElement().toString();
            System.out.println("Token = " + token);
        }

        // split a date string using a forward slash as delimiter
        st = new StringTokenizer("2021/09/14", "/");
        while (st.hasMoreElements()) {
            String token = st.nextToken();
            System.out.println("Token = " + token);
        }
    }
}

Here is the result of this sample code:

Tokens count: 3
Token = A
Token = StringTokenizer
Token = sample
Token = 2021
Token = 09
Token = 14