Heim Java JavaBase So erhalten Sie das erste sich nicht wiederholende Zeichen in einer Zeichenfolge in Java

So erhalten Sie das erste sich nicht wiederholende Zeichen in einer Zeichenfolge in Java

Dec 04, 2019 pm 04:26 PM
java Charakter Saite Der erste Erhalten

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

vorkam

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] != &#39;0&#39;)
        {
          char c = cb[i];
          for(int z = 0 ; z < str.length() ; z++)
          {
            if(cb[z] == c)
              cb[z] = &#39;0&#39;;
          }
        }
      }
    }
    for(int i = 0 ; i <str.length() ; i++)
    {
      if(cb[i] != &#39;0&#39;)
      {
        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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1510
276
Was ist eine Hashmap in Java? Was ist eine Hashmap in Java? Aug 11, 2025 pm 07:24 PM

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

So erstellen und verwenden Sie ein Array in Java So erstellen und verwenden Sie ein Array in Java Aug 11, 2025 pm 04:00 PM

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

Wie erstellt man einen Thread in Java? Wie erstellt man einen Thread in Java? Aug 11, 2025 pm 01:34 PM

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

Python Argparse erforderte Argument -Beispiel Python Argparse erforderte Argument -Beispiel Aug 11, 2025 pm 09:42 PM

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.

So verwenden Sie einen Set in Java So verwenden Sie einen Set in Java Aug 11, 2025 am 11:57 AM

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

Was sind Kommentare in Java? Was sind Kommentare in Java? Aug 12, 2025 am 08:20 AM

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

Die besten IDES für Java -Entwicklung: eine vergleichende Überprüfung Die besten IDES für Java -Entwicklung: eine vergleichende Überprüfung Aug 12, 2025 pm 02:55 PM

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

So verwenden Sie Anforderungsparameter in Java mit Spring Boot So verwenden Sie Anforderungsparameter in Java mit Spring Boot Aug 11, 2025 pm 07:51 PM

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.

See all articles