Ich schreibe ein Programm, das das eindeutige Zeichen in einer Zeichenfolge (über einen Scanner eingegeben) drucken wird. Ich habe eine Methode erstellt, die versucht, dies zu erreichen, aber ich bekomme immer wieder Zeichen, die nicht wiederholt werden, anstelle eines Zeichens (oder von Zeichen), das für die Zeichenkette einzigartig ist. Ich möchte nur die einzigartigen Buchstaben.Java: Drucken Sie ein eindeutiges Zeichen in einer Zeichenfolge
Hier ist mein Code:
import java.util.Scanner;
public class Sameness{
public static void main (String[]args){
Scanner kb = new Scanner (System.in);
String word = "";
System.out.println("Enter a word: ");
word = kb.nextLine();
uniqueCharacters(word);
}
public static void uniqueCharacters(String test){
String temp = "";
for (int i = 0; i < test.length(); i++){
if (temp.indexOf(test.charAt(i)) == - 1){
temp = temp + test.charAt(i);
}
}
System.out.println(temp + " ");
}
}
Und hier ist Beispielausgabe mit dem obigen Code:
Enter a word:
nreena
nrea
Die erwartete Ausgabe wäre: ra
Was ist die erwartete Ausgabe für ‚nreena‘? – developer
Aber 'e' ist eine Wiederholung, und Sie bekommen es immer noch. Ist die gewünschte Ausgabe "ra"? – Gendarme
Wie auch immer, ich würde etwas wie char [] array = test machen.toCharArray(); 'und dann durchlaufen Sie' array' für jeden Buchstaben in 'test' und wenn es keine Übereinstimmungen gibt, tun Sie' temp = temp + test.charAt (i); '. – Gendarme