


So erhalten Sie das erste sich nicht wiederholende Zeichen in einer Zeichenfolge in Java
Zum Beispiel: Eingabename und Ausgabe n, Eingabewippe und Ausgabe r, Eingabenamename und Ausgabe null
Der spezifische Implementierungscode lautet wie folgt:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.next(); for(int i =0 ; i < str.length() ; i++) { if(str.lastIndexOf(str.char(i)) == i && str.indexOf(str.char(i)) == i) { System.out.println(str.char(i)); break; } } } }
Online empfohlenes Video-Tutorial: Java-Video
In diesem Implementierungscode verwenden wir drei Methodenmitglieder der String-Klasse:
String.length()
: Holen Sie sich eine Zeichenfolge mit der Länge von
String.charAt(int index)
: Holen Sie sich das Zeichen des Index index
String.lastIndexOf(char c)
: Holen Sie sich den Index des letzten Mals, als das Zeichen c in der Zeichenfolge
String.indexOf(char c)
: Holen Sie sich den Index, an dem das Zeichen c zuerst in der Zeichenfolge erscheint.
Tatsächlich können wir dies auch erreichen, ohne diese Zeichenfolgenmethoden zu verwenden. Das Folgende ist der Code, für den ich persönlich a verwende Zu implementierende Schleife:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.next(); char[] cb = new char[str.length()]; //将字符串中的字符一次存入cb[] for(int i =0 ;i <str.length() ; i++) { cb[i] = str.charAt(i); } for(int i = 0 ; i < str.length() ; i++) { for(int j = 0 ; j < str.length() ; j++) { if(cb[i] == cb[j] && cb[i] != '0') { char c = cb[i]; for(int z = 0 ; z < str.length() ; z++) { if(cb[z] == c) cb[z] = '0'; } } } } for(int i = 0 ; i <str.length() ; i++) { if(cb[i] != '0') { System.out.println(cb[i]); break; } } } }
Diese Methode kann implementiert werden, aber die zeitliche Komplexität dieser Methode ist sehr groß und der Systemaufwand ist auch sehr groß. Daher ist es am besten, keine Schleifenverschachtelung zu verwenden, es sei denn, dies ist absolut der Fall erforderlich, da sonst der Systemaufwand sehr groß ist.
Empfohlene verwandte Artikel und Tutorials: Schnellstart mit Java
Das obige ist der detaillierte Inhalt vonSo erhalten Sie das erste sich nicht wiederholende Zeichen in einer Zeichenfolge in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

AhasMapinjavaisadatastructurethatstoreskey-valuepairsforefficityRieval, Insertion und Delettion.itusushtheKey'ShashCode () methodTodeterminestoragelocationAnlowlowsaversaveryo (1) TimEcomplexityforget () und -Argine

TocreateAndueanArrayinjava, FirstDeclarethearraywithDedatatypeNDSquarebrackets, dannInstantiate -withenewKewordorinitializeTDirectlyWithValues; 1.DeclareandCreatatype [] arrayname = newdatatype [grizatatype

YoucancreateatheadinjavabytendingTheTheadhreadClassOrimplementingTherunnableInterface.2.EutendingThreadinvolvesCreresedaclassTheatoverridestherun () methodeCallingStart () onaninstance.3.implementingRunNableRequiresDefiningTherun () methodInaklassTheatimple

Bei der Verwendung des ArgParse -Moduls können die bereitgestellten Parameter erreicht werden, indem erforderlich ist. 1. Verwenden Sie erforderliche = treu, um optionale Parameter (z. B. -Eingabe) zu setzen, um erforderlich zu sein. Wenn dies bei der Ausführung des Skripts nicht bereitgestellt wird, wird ein Fehler gemeldet. 2. Positionsparameter sind standardmäßig erforderlich, und es ist nicht erforderlich, erforderlich zu sein, die erforderliche = true; 3.. Es wird empfohlen, Positionsparameter für die erforderlichen Parameter zu verwenden. Gelegentlich werden die optionalen Parameter von erforderlich = true verwendet, um die Flexibilität aufrechtzuerhalten. 4. Erforderlich = True ist der direkteste Weg, um Parameter zu steuern. Nach der Verwendung muss der Benutzer beim Aufrufen des Skripts entsprechende Parameter bereitstellen, da das Programm ansonsten einen Fehler auffordert und beendet.

ChoosetheAppropriatesetImplementation: UseHashSetForfastoperations -MitoutoDororder, LinkedHashSetforintionReorder, andreesetforsortedorder.2.AddelementsWithadd () andremoveWithremove (), WHEREDD () returnSefalsesifTheelementisalreadyReadyReadyReadyResent.3.3.3.2.

KommentarinjavareignedByTheCompilerandusedForExplanation, Notizen, ordisablingcode.therearethreetypes: 1) Single-Linde-Deals startwith // und Lastuntiltheendoftheline; 2) Multi-Linde-Bingin-Dokumentation und-undcantranmultipline; 3) Dokumentation

Thebestjavaidein2024Dependyourneeds: 1.CHOOSEINTELLIJIDEAFORPROFESSIONAL, ENTERPRISE, Orull-StackDevelopmentDuetoitsSuperiorCodeIntelligence, Frameworkintegration, andtooling.2. Useclipseforhoxhensibilsibsibilität, LegacyPro-Eigenschaften, oderweigte, oderweigende, oderweilen, oderweilen, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourcatiatiox

Im Springboot umfassen die Methoden zur Verarbeitungsanforderungsparameter: 1. @RequestParam verwenden, um Abfrageparameter zu erhalten, die die erforderlichen, optionalen und Standardwerte unterstützt. 2. Empfangen Sie mehrere Parameter mit demselben Namen über List oder Kartentyp. 3. Binden Sie mehrere Parameter in Kombination mit @Modelattribute an das Objekt; 4. Verwenden Sie @PathVariable, um Variablen im URL -Pfad zu extrahieren. 5. Verwenden Sie @RequestParam, um die Formdaten in der Postanforderung zu verarbeiten. 6. Verwenden Sie MAP, um alle Anforderungsparameter zu empfangen. Die korrekte Auswahl der Anmerkungen kann angeforderte Daten effizient analysieren und die Entwicklungseffizienz verbessern.
