Java学习之小练习三

package com.edu.hemowork1;

import java.awt.List;
import java.util.Map;

/**
 *
	有abasdcalsjdfasf34asfjsfasf一段字符串,找出其中重复最多的字符,和重复最少的字符和重复的次数!
	写一个方法判断一个字符串是否是对称的
	把abcdefg反转成gfedcba		
	把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
	把数组中的数据按照指定格式拼接成一个字符串(拼接成如下格式:[1,2,3,4,5]) 			
	统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
 *
 */
public class Demo {
	public static void main(String[] args) {
		String str="ffafaaHE;;1244";
		char[] s={'1','e','4','j'};
		//fritChange(str);
		//pingJie(s);
		//tongJi(str);
		//duiCheng(str);
		chongFu(str);
	}
	//有abasdcalsjdfasf34asfjsfasf一段字符串,找出其中重复最多的字符,和重复最少的字符和重复的次数!代码不不完整能力有限以后补齐
	public static void chongFu(String string){
		//定义一个整型数组存放值
		int[] count=new int[string.length()];
		//对字符串进行遍历
		for (int i = 0; i < string.length(); i++) {
			char c = string.charAt(i);//返回字符串中指定索引处的字符。
			for (int j = i; j < string.length(); j++) {
				if (c == string.charAt(j) ) {//判段字符是不是相等
					count[i]++;
				}
			}	
		}
		int max = 0;
		int min = 0;
		int a = count[0];
		for (int i = 0; i < count.length; i++) {
			if (a < count[i]) {
				a = count[i];
				max = i;
			}
		}
		System.out.println(string.charAt(max));
		System.out.println(count[max]);
	}
	//3.写一个方法判断一个字符串是否是对称的
	public static boolean duiCheng(String s){
		//将字符串转换成字符数组
		char[] sb = s.toCharArray();
		//遍历字符数组
		for (int i = 0; i < sb.length; i++) {
			if (sb[i]!=sb[sb.length-i-1]) {//将前后字符进行对比
				return false;
			}
		}
		return true;
	}
	//把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
	public static void fritChange(String a){
		String s1 = a.substring(0, 1).toUpperCase();//先利用subString将第一个数提取出来,再利用toUpperCase转换成大写
		String s2 = a.substring(1).toLowerCase();
		System.out.println(s1+s2);//对字符串进行拼接
		System.out.println(s1.concat(s2));
	}
	
	//5.把数组中的数据按照指定格式拼接成一个字符串(拼接成如下格式:[1,2,3,4,5])
	public static void pingJie(char[] s){
		System.out.print("[");
		for (int i = 0; i < s.length; i++) {
			System.out.print(s[i]+",");
		}
		System.out.print("]");
	}
	
	//统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。(不考虑其他字符)
	public static void tongJi(String s){
		int a = 0,b = 0,c = 0;
		for (int i = 0; i < s.length(); i++) {
			int chr = s.charAt(i);//返回指定索引出的字符并转换成ASCII值,再利用ASCII值进行范围取值
			if (chr > 48 && chr < 57) {
				a++;
			}else if (chr < 91 && chr >64) {
				b++;
			}else if (chr < 123 && chr >96) {
				c++;
			}
		}
		System.out.println("数字有"+a+"个"+"大写字母有"+b+"个"+"小写有"+c+"个");
	}
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值