String

1.String 的截取

//操作的字符串
      String str="qeqwe:rwqr";
      //split截取,通过数组的方式
      String split[] = str.split(":");
      System.out.println(split[0]);
      System.out.println(split[1]);

2.统计字符个数

// 操作的字符串
        String str = "qwewqewqrsfdsfg";
        //将字符串转换为byte数组
        byte[] bytes = str.getBytes();
        //外循环,按下标顺序取1个
        for (int i = 0; i < bytes.length; i++) {
            //定义一个变量保存这个字符出现的次数
            int count = 0;
            for (int j = 0; j < bytes.length; j++) {
                // 如果一样
                if (bytes[i] == bytes[j]) {
                    // 出现次数+1
                    count++;
                }
            }
            // 因为byte类型输出是ASCII码,所以强转为char类型
            char c = (char) bytes[i];
            // 输出
            // 一定是在内循环结束后输出,这样下次外循环开始以后count就会清零
            System.out.println(c + " 有 " + count + " 个 ");

        }

3.第一个重复

  String inputStr = "teterhrecd";  
      HashMap<String, String> hm = new HashMap<String, String>();  
      char[] c = inputStr.toCharArray();  
      boolean isEcho = false;  
      for(int i = 0 ; i < c.length; i++) {  
          for(int j = i+1 ; j < c.length; j++) {  
              if(c[i] == c[j]) {  
                  isEcho = true;  
                  hm.put(String.valueOf(c[i]), String.valueOf(c[i]));  
                  break;  
              }  
          }  
         /* if(isEcho||hm.get(String.valueOf(c[i])) == null) {  
              System.out.print("第一个重复的字符"+c[i]);  
              break;  
          }  */
          if(!isEcho&&hm.get(String.valueOf(c[i])) == null) {  
              System.out.print("第一个不重复的字符"+c[i]);  
              break;  
          }            
             isEcho = false;  
      }  

4.两个字符串间的重复

Scanner in=new Scanner(System.in);
        String s1,s2;
        try{
        System.out.print("请输入第一个字符串:");
        s1=in.nextLine();
        System.out.print("请输入第二个字符串:");
        s2=in.nextLine();
        getSameChar(s1,s2);
        }
        catch(Exception e){
        e.printStackTrace();        }
        }
        public static void getSameChar(String s1,String s2){
        char c;//相同字符   
        char[] same=s1.toCharArray();//数组same用于控制:如果s1字符串中有相同的字符,则只输出一次
        //如s1为aabc s2为a 则只输出1次a 而不是两次
        int count=0,j;//与数组same相关的变量
        int i,k;//循环变量
        System.out.println(s1+"与"+s2+"相同的字符有");
        for(i=0;i<s1.length();i++){
        c=s1.charAt(i);
        out:for(k=0;k<s2.length();k++){
        if(c==(s2.charAt(k))){
        for(j=0;j<count;j++){//如果字符c已经被打印过,则直接跳出循环,查找下一个
        if(c==same[j])
        break out;//跳出被out标记的循环
        }//如果字符c是第一次出现,则把它添加进数组same
        same[count]=c;
        count++;
        //如果字符c是第一次出现,将其打印出来
        if(c==' '){
        System.out.println("空格键");
        break;
        }
        System.out.println(c);
        break;
        }
        }
        }
        }
        }

5.字母数字判断


         int numbers,capitalLetters,smallLetters,others;
            numbers=capitalLetters=smallLetters=others=0;           
            System.out.print("Please input a string:\n");
            Scanner s=new Scanner(System.in);
            String str=s.next();
            System.out.println("Your string is:"+str);

            for(int i=0;i<str.length();i++)
            {//每次截取一个字符
                char c=str.charAt(i);
                //循环判断是否是小写字母
            if(Character.isLowerCase(c))
            {           smallLetters++;
            }
            else if(Character.isDigit(c))
            {           numbers++;
            }
            else if(Character.isUpperCase(c))
            {           capitalLetters++;}
            else            {
            others++;
            }
            }
            System.out.println("数字 ="+numbers);
            System.out.println("大写字母 ="+capitalLetters);
            System.out.println("小写字母 ="+smallLetters);
            System.out.println("其他="+others);

            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天学习了 Java 字符串的常用操作,写出来和简友们分享一下☺️还是老规矩,先上思维导图。 1.String 概...
    SawyerZh阅读 4,138评论 5 10
  • 在编写程序的过程中,不了避免的要用到字符串,所以String类的常用方法的用法是必须掌握的。学习一个类的使用方法最...
    Geg_Wuz阅读 5,147评论 0 4
  • longaaaa =14200666; Console.WriteLine(aaaa.ToString("N0")...
    鱼落于天阅读 4,476评论 0 1
  • 每个基本类型封装类都有将string转换为基本数据类型的方法对于非常大的数字请使用Long,代码如下* 将char...
    暖熊熊阅读 5,782评论 0 3
  • 嫂子嫁给我哥那年,我十五岁。我后边还有个妹妹十一岁,堂妹一个四岁,一个三岁,堂弟一岁。一过年嫂子生下一个儿子,第二...
    A寒秋阅读 4,247评论 34 12

友情链接更多精彩内容