算法篇

1、求取字符串中出现的第一个非重复字符。

  比如, "hello" 中的 h, "hello, how r you?" 中的 e

package com.nf147.bookstore_ssm.junit;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

public class Junit {
    public static void main(String[] args) {
        //定义变量存储结果
        String result = "";
        //定义变量存储字符串
        String str = "";
        //把字符串的空格去掉
        str.replace("","");
        //通过 Scanner 类来获取用户的输入
        Scanner input = new Scanner(System.in);
        System.out.println("请输入字符串:");
        //接收字符串
        str = input.nextLine();
        //第一重循环
        for (int i = 0; i < str.length() ; i++) {
            //第二重循环
            for (int j = 0; j < str.length(); j++) {
                //因为i和j都是从零开始的,所以它们两对比会出错,因此i != j
                //且所获得i = j,退出循环
                if(i != j && String.valueOf(str.charAt(i)).equals(String.valueOf(str.charAt(j)))){
                    break;
                }
                //因为下标是从零开始的,如hello,下标到4,而长度是5,so得加1
                if((j + 1) == str.length()){
                    //String.valueOf:将char类型转换为String类型
                    //charAt:取到所对应的值存到结果集result里
                     result = String.valueOf(str.charAt(i));
                     //退出循环
                    break;
                }
                //如果结果集的长度>0,退出循环
                if(result.length()>0){
                    break;
                }
            }
        }
        System.out.println(result);
    }
}

  

 

posted @ 2018-09-29 16:37  欧之衍  阅读(127)  评论(0编辑  收藏  举报