钱海支付笔试

来源:互联网 发布:知乎头像 编辑:程序博客网 时间:2024/06/10 13:24

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

基本类型去编程:

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 0