• 技术文章 >Java >Java基础

    java如何实现获取字符串中第一个出现不重复的字符

    王林王林2019-12-04 16:26:46原创1524

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

    具体实现代码如下:

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

    在线视频教程推荐:java视频

    在这个实现代码中我们使用了String类的三个方法成员:

    String.length():获取字符串的长度

    String.charAt(int index):获取索引index的字符

    String.lastIndexOf(char c):获取字符c最后一次出现在字符串中的索引

    String.indexOf(char c):获取字符c第一次出现在字符串中的索引

    其实我们也可以不使用字符串的这些方法就可以实现了,下面是个人使用for循环来实现的代码:

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

    这种方法可以实现,不过这种方法的时间复杂度特别的大,系统开销也特别大,因此我们最好不要使用循环嵌套,除非迫不得已,不然对系统开销是很大的。

    相关文章教程推荐:java快速入门

    以上就是java如何实现获取字符串中第一个出现不重复的字符的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:java错误:找不到或无法加载主类解决方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java中如何重写一个方法• java下载文件的文件名乱码问题• java中什么是类,什么是对象• java避免读取文件乱码的方法
    1/1

    PHP中文网