最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

比如:輸入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),不過這種方法的時間復(fù)雜度特別的大,系統(tǒng)開銷也特別大,因此我們最好不要使用循環(huán)嵌套,除非迫不得已,不然對系統(tǒng)開銷是很大的。

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

相關(guān)文章

  • java基礎(chǔ)--JDK SPI概述

    java基礎(chǔ)--JDK SPI概述

    SPI是一種服務(wù)發(fā)現(xiàn)機制,本文就SPI做了詳細概述,具有很好的參考價值,希望對小伙伴們有所幫助,感興趣的朋友一起來參考參考吧
    2021-08-08
  • 深入理解Java之jvm啟動流程

    深入理解Java之jvm啟動流程

    這篇文章主要介紹了深入理解Java之jvm啟動流程,文章內(nèi)容講解的很清晰,有對這方面感興趣的同學(xué)可以研究下
    2021-02-02
  • Spring中@RabbitHandler和@RabbitListener的區(qū)別詳析

    Spring中@RabbitHandler和@RabbitListener的區(qū)別詳析

    @RabbitHandler是用于處理消息的方法注解,它與@RabbitListener注解一起使用,這篇文章主要給大家介紹了關(guān)于Spring中@RabbitHandler和@RabbitListener區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Spring boot JPA實現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例

    Spring boot JPA實現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例

    這篇文章主要介紹了Spring boot JPA實現(xiàn)分頁和枚舉轉(zhuǎn)換代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例

    springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例

    今天小編就為大家分享一篇關(guān)于springmvc配置線程池Executor做多線程并發(fā)操作的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Spring Boot 啟動流程解析

    Spring Boot 啟動流程解析

    Spring Boot 是一個簡化的 Spring 應(yīng)用開發(fā)框架,它以 “約定優(yōu)于配置” 的理念,為開發(fā)者提供了開箱即用的功能,本文將詳細剖析其內(nèi)部實現(xiàn),幫助你深入理解 Spring Boot 的啟動機制,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • 帶你了解Java中的異常處理(下)

    帶你了解Java中的異常處理(下)

    這篇文章主要介紹了Java中的異常處理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-08-08
  • springboot訪問靜態(tài)資源遇到的坑及解決

    springboot訪問靜態(tài)資源遇到的坑及解決

    這篇文章主要介紹了springboot訪問靜態(tài)資源遇到的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 詳解SpringMVC和MyBatis框架開發(fā)環(huán)境搭建和簡單實用

    詳解SpringMVC和MyBatis框架開發(fā)環(huán)境搭建和簡單實用

    這篇文章主要介紹了詳解SpringMVC和MyBatis框架開發(fā)環(huán)境搭建和簡單實用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Spring Security 圖片驗證碼功能的實例代碼

    Spring Security 圖片驗證碼功能的實例代碼

    spring security是一系列的過濾器鏈,所以在這里驗證碼也聲明為過濾器,加在過濾器鏈的 登錄過濾器之前,然后自定義一個異常類,來響應(yīng)驗證碼的錯誤信息.這篇文章主要介紹了Spring Security 圖片驗證碼,需要的朋友可以參考下
    2018-03-03

最新評論

彩票| 从化市| 榕江县| 绥江县| 民权县| 扶风县| 蓝山县| 思南县| 桃园县| 麻栗坡县| 清远市| 明光市| 泰顺县| 杭州市| 霸州市| 九龙县| 诸城市| 读书| 玉树县| 兴义市| 聊城市| 鹤岗市| 武功县| 安庆市| 平泉县| 文昌市| 广西| 罗城| 齐齐哈尔市| 平邑县| 郓城县| 星子县| 太湖县| 辛集市| 陵水| 迁安市| 日喀则市| 榆树市| 留坝县| 方山县| 宝兴县|