Java :: Aufgabe #346

1 Lösung Lösung öffentlich

Erstes einzelnes Zeichen in einem String

Anfänger - Java von JKooP - 06.03.2021 um 18:25 Uhr
Erstelle eine Methode/Funktion, mit der man den Index des ersten einzeln
vorkommenden Zeichens in einem String (Text) ermitteln kann.
Groß- und Kleinschreibung soll nicht unterschieden werden.

Hinweise:
String ist nullbasiert.
Wenn es keine Lösung gibt, soll -1 ausgegeben werden.

Beispiele:
trainyourprogrammer => 0 (t)
lovegenericlists => 1 (o)
lovelollorosso => 2 (v)
otto => -1

Viel Spaß

Lösungen:

vote_ok
von n1again (560 Punkte) - 16.04.2021 um 19:58 Uhr
Quellcode ausblenden Java-Code

import java.util.Scanner;

/*
#346 AUFGABENSTELLUNG:
Erstelle eine Methode/Funktion, mit der man den Index des ersten einzeln
vorkommenden Zeichens in einem String (Text) ermitteln kann.
Groß- und Kleinschreibung soll nicht unterschieden werden.

Hinweise:
String ist nullbasiert.
Wenn es keine Lösung gibt, soll -1 ausgegeben werden.

Beispiele:
trainyourprogrammer => 0 (t)
lovegenericlists => 1 (o)
lovelollorosso => 2 (v)
otto => -1

Viel Spaß
 */


public class ErstesEinzelnesZeichenInEinemString {

	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);
		System.out.println("Geben Sie Ihren Text ein: ");
		String input = scanner.nextLine();
		scanner.close();
		
		System.out.println(erstesEinzelnesZeichen(input));
		
	}

	public static int erstesEinzelnesZeichen(String input) {
		
		char[] chars = input.toCharArray();
		
		boolean[] repeated = new boolean[chars.length];
	    for (int i = 0; i < chars.length; i++) {
	        for (int j = i + 1; j < chars.length; j++) {
	            if (chars[i] == chars[j]) {
	                repeated[i] = true;
	                repeated[j] = true;
	            }
	        }
	    }
	    for (int i = 0; i < repeated.length; i++) {
	        if (!repeated[i]) {
	            return i;
	        }
	    }

	    return -1;
		
	}
}