w3resource

Java Exercises: Find the index of the first unique character in a given string

Java Basic: Exercise-148 with Solution

Write a Java program to find the index of the first unique character in a given string, assume that there is at least one unique character in the string.

Pictorial Presentation:

Java Basic Exercises: Find the index of the first unique character in a given string.

Sample Solution:

Java Code:

import java.util.*;
public  class  Solution {
    public static void main(String[] args) {
		String s = "wresource";
		System.out.println("Original String: "+s);
        System.out.println("First unique character of the above: "+first_Uniq_Char(s));
    }

    public static int first_Uniq_Char(String s) {
         int[] freq = new int[256];
        for (char c : s.toCharArray()) {
            freq[c - 'a']++;
        }
        for (int i = 0; i < s.length(); i++) {
            if (freq[s.charAt(i) - 'a'] == 1) return i;
        }
        return -1;
	}
 }

Sample Output:

Original String: wresource
First unique character of the above: 0

Flowchart:

Flowchart: Java exercises: Find the index of the first unique character in a given string.

Java Code Editor:

Company:  Microsoft Google Bloomberg Amazon

Contribute your code and comments through Disqus.

Previous: Write a Java program to find the number of bits required to flip to convert two given integers.
Next: Write a Java program to check if a given string is a permutation of another given string.

What is the difficulty level of this exercise?



Java: Tips of the Day

Try and catch:

Java is excellent at catching errors, but it can only recover gracefully if you tell it what to do. The cascading hierarchy of attempting to perform an action in Java starts with try, falls back to catch, and ends with finally. Should the try clause fail, then catch is invoked, and in the end, there's always finally to perform some sensible action regardless of the results. Here's an example:

try {
        cmd = parser.parse(opt, args); 
       
        if(cmd.hasOption("help")) {
                HelpFormatter helper = new HelpFormatter();
                helper.printHelp("Hello ", opt);
                System.exit(0);
                }
        else {
                if(cmd.hasOption("shell") || cmd.hasOption("s")) {
                String target = cmd.getOptionValue("tgt");
                } // else
        } // fi
} catch (ParseException err) {
        System.out.println(err);
        System.exit(1);
        } //catch
        finally {
                new Hello().helloWorld(opt);
        } //finally
} //try

It's a robust system that attempts to avoid irrecoverable errors or, at least, to provide you with the option to give useful feedback to the user. Use it often, and your users will thank you!

Ref: https://red.ht/3EZc9OC