欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)輸出字符串中第一個出現(xiàn)不重復的字符詳解

 更新時間:2017年04月24日 09:04:35   投稿:lqh  
這篇文章主要介紹了java實現(xiàn)輸出字符串中第一個出現(xiàn)不重復的字符詳解的相關資料,需要的朋友可以參考下

java實現(xiàn)輸出字符串中第一個出現(xiàn)不重復的字符詳解

比如:輸入name輸出n,輸入teeter輸出r,輸入namename輸出null

具體實現(xiàn)代碼如下:

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;
      }
    }

  }
}

在這個實現(xiàn)代碼中我們使用了String類的三個方法成員:

String.length():獲取字符串的長度
String.charAt(int index):獲取索引index的字符
String.lastIndexOf(char c):獲取字符c最后一次出現(xiàn)在字符串中的索引
String.indexOf(char c):獲取字符c第一次出現(xiàn)在字符串中的索引

其實我們也可以不使用字符串的這些方法就可以實現(xiàn)了,下面是我個人使用for循環(huán)來實現(xiàn)的代碼:

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;
      }
    }
  }
}

這種方法可以實現(xiàn),不過這種方法的時間復雜度特別的大,系統(tǒng)開銷也特別大,因此我們最好不要使用循環(huán)嵌套,除非迫不得已,不然對系統(tǒng)開銷是很大的。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Spring Boot 訪問安全之認證和鑒權詳解

    Spring Boot 訪問安全之認證和鑒權詳解

    這篇文章主要介紹了Spring Boot 訪問安全之認證和鑒權,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Spring?Mvc中CommonsMultipartFile的特性實例詳解

    Spring?Mvc中CommonsMultipartFile的特性實例詳解

    這篇文章主要給大家介紹了關于Spring?Mvc中CommonsMultipartFile特性的相關資料,SpringMVC擁有強大的靈活性,非侵入性和可配置性,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • MyBatis?實現(xiàn)動態(tài)排序的多表查詢

    MyBatis?實現(xiàn)動態(tài)排序的多表查詢

    本文將展示如何在 Java 項目中結合 MyBatis 實現(xiàn)動態(tài)排序,尤其是在涉及多表查詢的情況下,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • SpringBoot整合Spring Data Elasticsearch的過程詳解

    SpringBoot整合Spring Data Elasticsearch的過程詳解

    這篇文章主要介紹了SpringBoot整合Spring Data Elasticsearch的過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • 基于Java中Math類的常用函數(shù)總結

    基于Java中Math類的常用函數(shù)總結

    下面小編就為大家?guī)硪黄贘ava中Math類的常用函數(shù)總結。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法

    Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法

    這篇文章主要為大家詳細介紹了Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • java編程之單元測試(Junit)實例分析(附實例源碼)

    java編程之單元測試(Junit)實例分析(附實例源碼)

    這篇文章主要介紹了java編程之單元測試(Junit),結合實例形式較為詳細的分析總結了Java單元測試的原理、步驟及相關注意事項,并附帶了完整代碼供讀者下載參考,需要的朋友可以參考下
    2015-11-11
  • java代理模式與動態(tài)代理模式詳解

    java代理模式與動態(tài)代理模式詳解

    代理就是一個人或者一個機構代表另一個人或者另一個機構采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之前起到中介的作用
    2014-02-02
  • Spring整合Mybatis思路梳理總結

    Spring整合Mybatis思路梳理總結

    MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數(shù)和獲取結果集的工作,本篇文章帶你了解Spring整合Mybatis的思路
    2022-02-02
  • java實現(xiàn)單詞搜索迷宮游戲

    java實現(xiàn)單詞搜索迷宮游戲

    這篇文章主要介紹了java實現(xiàn)單詞搜索迷宮游戲,實例分析了迷宮游戲的實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05

最新評論