String

作者: 冬季洛阳 | 来源:发表于2017-07-06 15:34 被阅读0次

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

    相关文章

      网友评论

          本文标题:String

          本文链接:https://www.haomeiwen.com/subject/qcphhxtx.html