给定的字符数组中找到第一个只出现了一次的字符

 1 public class Question4 {
 2     public static void main(String[] args) {
 3         //声明一段字符串存入字符串数组中(好像8满足)
 4         char[] str={'a','d','g','f','e','z','8','9','a','d','f','g','z','c','v','b','a','f','e'};
 5         //输出字符数组
 6         System.out.println("字符数组值为:");
 7         for (int i=0;i<str.length;i++){
 8             System.out.print(str[i]+",");
 9         }
10 
11         //声明一个mark标记是否 有相同的字符
12         boolean mark;
13         //第一重遍历字符串
14         for (int i=0;i<str.length;i++){
15             mark=false;   //标记复位
16            // 第二层比较是否存在相同,从i+1开始遍历
17             for (int j=i+1;j<str.length;j++){
18                 //判断是否后面是否有相同字符,有就标记
19 //                System.out.printf("%c,%c\n",str[i],str[j]);
20                 if(str[i]==str[j]){
21                     mark=true;
22                     break;
23                 }
24             }
25             //如果标记为false,则输出这个字符,并结束循环
26              if (!mark){
27                 System.out.println("\n第一个只出现一次的字符为:"+(str[i]));
28                 break;           //如果比较完了都没找到相同的,输出这个字母,并结束循环
29             }
30         }
31     }
32 }

posted @ 2020-03-04 19:32  浪漫主义程序员  阅读(403)  评论(1编辑  收藏  举报