钱海支付笔试



题目是简单的,还是自己在自己机子上写开心,纸上写看着我的字都欢乐不起来。

基本类型去编程:

1. 计算昨天的日期,不校验日期。格式为YYYYMMDD,方法传递的参数为today ,返回yesterday,两个都为string

package com.interview;

public class CalculateYesterday {

	public static String caculateDate(String today){
		String yesterday = "";
		Boolean isRunnian = false;
		String monthStr , dayStr;
		String tempYear = today.substring(0, 4);
				
		int year = Integer.parseInt(tempYear);
		int month = Integer.parseInt(today.substring(4,6));
		int day = Integer.parseInt(today.substring(6,8));
		day = day -1;
		if (day == 0){
			month =month - 1;			
		}
		if (month == 0){
			year = year - 1;
			month = 12;			
		}
		
		//考虑闰年
		
		if ((year % 4==0 ) &&((year%100==0)&&(year%400==0))){
			System.out.println(year+" 是闰年!");
			isRunnian = true;
		}
		
		// 如果today为每月的起始月,则要取上个月的最后一天
		if (day == 0){
		switch (month) {
		case 2 :
			day =29;
			if(isRunnian){
				day =28;
			}
			break;
		case 4:
		case 6 :
		case 9 :
		case 11 :		
			day = 30;
			break;
		default:
			day =31;
			break;
		
		}
		}
				
		/*组合*/	
		if (month <10){
			monthStr ="0" +month;
		} else monthStr = ""+month;
		
		if (day < 10){
			dayStr = "0" + day;
		}else dayStr ="" +day;
		yesterday = yesterday + year + monthStr + dayStr;
	
		return yesterday;
	}
	
}

2. 两个字串S1, S2  。 取S2里的前10个字符 和倒数后20个字符的组合,赋值给S1

package com.interview;

public class FormatString {

	public String foramtStr (String s2){
		String s1="";
		for (int i=0; i<10;i++){
		s1=s1+s2.charAt(i);		
		}
		int length = s2.length();
		for (int i=length-20;i<length; i++){			
			s1 =s1 + s2.charAt(i);
		}
		
		return s1;
	}
}


3.十进制转换成十六进制

比如3287 ->CD7


package com.interview;

public class CalHex {

	public  String calHex (int num){
		String hexStr ="" ;		
		while (num >=16){
			int y = num %16;
			hexStr =format(y) + hexStr;
			num = num /16;			
		}
		hexStr = format(num) + hexStr;							
		return hexStr;
	}
	
	private String format(int xx){
		String hexStr ="";
		switch (xx) {
		case 10:
			 hexStr = "A";
			 break;
		case 11:
			hexStr ="B";
			break;
		case 12:
			hexStr ="C";
			break;
		case 13:
			hexStr ="D";
			break;
		case 14:
			hexStr ="E";
			break;
		case 15:
			hexStr ="F";
			break;	
		default :
			hexStr =hexStr + xx;
			break;
	}
		return hexStr;
	} 
}

还有一些其他非编程题也是简单的,不想写了。





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值