题目练习

<span style="color:#009900;">package com.itheima.test;

import java.util.HashMap;
import java.util.Map.Entry;
import java.util.TreeMap;

public class SundayDemo {

	public static void main(String[] args) {
		numberOne();
		System.out.println("  bbcd  ,除去空格后值:" + numberTwo("  bbcd  "));
		numberThree();
		numberFour();
	}
	/**
	 * 统计大字符串出现小字符串的个数
	 */
	private static void numberOne(){
		//大字符串
		String s = "abcdhelloeurtueorhdkabdfas";
		//小字符串
		String key = "wervhelloas";
		int count = 0;
		int bIndex = 0;
		while(s.indexOf(key) > -1){
			count++;
			bIndex = s.indexOf(key) + key.length();
			if(bIndex >= s.length())break;
			s = s.substring(bIndex, s.length());
		}
		
		System.out.println("出现次数:" + count);
	}
	/**
	 * 除去空格
	 * @param str
	 * @return
	 */
	private static String numberTwo(String str){
		if(str == null) {
			throw new RuntimeException("字符串为Null");
		}
		
		char [] charArray = str.toCharArray();
		StringBuilder sb = new StringBuilder();
		for(int i=0;i<charArray.length;i++){
			if(charArray[i] != ' '){
				sb.append(charArray[i]);
			}
		}
		return sb.toString();
	}

	private static void numberThree(){
		Integer i1 = 122;
	      Integer i2 = 122;
	     System.out.println(i1.equals(i2));   //输出true
	     System.out.println(i1 == i2);        //输出true
	     Integer i3 = 128;
	     Integer i4 = 128;
	     System.out.println(i3.equals(i4));		//输出true
	     System.out.println(i3 == i4);			//输出false,两个对象的地址不同
	     /*
	      * jdk1.5后的自动拆箱装箱操作,在进行自动拆装箱时,编译器会使用Integer.valueof()来创建Integer实例。
	      * 该函数远吗:
	      *   public static Integer valueOf(int i) {
		        assert IntegerCache.high >= 127;
		        if (i >= IntegerCache.low && i <= IntegerCache.high)
		            return IntegerCache.cache[i + (-IntegerCache.low)];
		        return new Integer(i);
    		}
    		就是如果传入的int在IntegerCache.low(-128)和IntegerCache.high(127)之间,
    		那就尝试看前面的缓存中有没有打过包的相同的值,如果有就直接返回,否则就创建一个Integer实例。
    		IntegerCache.low 默认是-128;IntegerCache.high默认是127.
	      */
	}
	
	/**
	 * 统计出现的次数
	 */
	private static void numberFour(){
		String str = "askhdfashdfdvkloiweoibnxcvzfashdfk";
		TreeMap<Character,Integer> hs = new TreeMap<Character,Integer>();
		for(int i =0;i<str.length();i++){
			char ch = str.charAt(i);
			if(hs.containsKey(ch)){
				hs.put(ch, hs.get(ch) + 1);
			}else{
				hs.put(ch, 1);
			}
		}
		for(Entry<Character, Integer> ch : hs.entrySet()){
			System.out.print(ch.getKey() + "[" + ch.getValue() + "]");
		}
	}
}
</span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值