Java代码积累

迭代法实现字符串反转

    public String reserve(String originString){
        if(originString==null||originString.length()==1){
            return originString;
        }
        return reserve(originString.substring(1))+originString.charAt(0);
    }


判断字符串是否包含重复字符

  public static boolean containRepeatChar(String str){
        if(str==null||str.isEmpty()){
            return false;
        }
        char[] elements=str.toCharArray();    
        for(char e:elements){
            if(str.indexOf(e)!=str.lastIndexOf(e)){
                return true;
            }
        }
        return false;
    }

多组输入十六进制转化十进制

 public class Main{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                String input = sc.nextLine();
                int sum = convert(input);
                System.out.println(sum);
            }
        }
                  
        public static int convert(String str){
            if(str==null||str.length()==0){
                return 0;
            }
            int sum = 0;
            int temp = 0;
            int n = 16;//进制数
            char ch;
            String input = str.substring(2,str.length());
            int count = input.length()-1;
            for(int i=0;i='0'&&ch<='9'){
                    temp = ch - '0';
                }
                else if(ch>='a'&&ch<='z'){
                    temp = ch - 'a' + 10;
                }
                else if(ch>='A'&&ch<='Z'){
                    temp = ch -'A' + 10;
                }else{
                break;
            }
            sum += temp*Math.pow(n,count);
            count--;
        }
        return sum;
    }
}


连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 

public class Main{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){        
                String s = new String(sc.nextLine());
                if(s.length()%8 !=0 )
                    s = s + "00000000";
                     
                while(s.length()>=8){
                    System.out.println(s.substring(0, 8));
                    s = s.substring(8);
                    }
                }
            }
        }

    删除字符串中出现次数最少的字符

import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in  = new Scanner(System.in);
        while(in.hasNext())
        {
            String inputString = in.next();
            char[] inputChar = inputString.toCharArray();
            Map map = new LinkedHashMap<>();
            for (char c : inputChar) {
                if(map.containsKey(c))
                {
                    map.put(c, map.get(c)+1);
                }else {
                    map.put(c, 1);
                }
            }
            Collection values = map.values();//工具类要常用!
            int minIndex = Collections.min(values);//直接借助collections找最值!
            StringBuffer sb = new StringBuffer();
            for (char keys : inputChar) {
                if(map.get(keys) != minIndex)
                {
                    sb.append(keys);
                }
            }
            System.out.println(sb);
            }
    }

}

 

你可能感兴趣的:(Java代码积累)