上海交通银行笔试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题:
1.下面两段代码,输出为()
public class A {
{
System.out.println("A");
}
static{
System.out.println("B");
}
A(){
System.out.println("C");
}
}
public class B extends A{
{
System.out.println("D");
}
static{
System.out.println("E");
}
B(){
System.out.println("F");
}
public static void main(String [] args){
B b = new B();
System.out.println("G");
}
4.transient变量,在以下那几个类中使用?(serialization)
参考答案: serialization
选择题知识点:J2EE;EJB;JPA;SSH;IBatis;AIX;WAS;Statement;数据库日志满;CPU瓶颈;泳道图;静态类;事物;spring;游标稳定性;MVC;设计模式
编程题
1.编写一个人民币金额数字转换成大写的函数,无小数,最大999999999。
例如:12304 转为壹万两仟三佰零四元整
40000 转为 4万元整
参考答案:
public class Num2Rmb {
private String[] hanArr={"零","壹","贰","叁","肆","伍",
"陆","柒","捌","玖"};
private String[] unitArr={"拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};
private String toHanStr(String numStr)
{
String result="";
int numLen=numStr.length();
for (int i=0;i { int num=numStr.charAt(i)-48; if(i!=numLen-1 && num!=0) { result+=hanArr[num]+unitArr[numLen-2-i]; } else { result+=hanArr[num]; } } return result; } public static void main(String[] args) { Num2Rmb nr = new Num2Rmb(); System.out.println(nr.toHanStr("633779433451")); } } 2.字符串截取,中文不会被截取半个。 例如:我和你ABC 截取4位:我和你A 我和你ABC 截取2位:我和 参考答案: public static String subString(String str, int len) { if (str == null && "".equals(str)) { return null; } // 将字符串中的char数组转换成指定编码方式的byte数组的函数 byte[] strBytes = null; try { strBytes = str.getBytes("GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 得到字符串的长度,判断截取字符串的长度是否在判断的范围内,否则返回原串 int strLen = strBytes.length; if (len >= strLen || len < 1) { return str; } System.out.println("strBytes.length=" + strBytes.length); System.out.println("len=" + len); int count = 0; for (int i = 0; i < len; i++) { // 将每个字节数组转换为整型数,以为后面根据值的正负来判断是否为汉字 int value = strBytes[i]; System.out.print(value + ","); // 我ABC你 -50,- 46,65,66,67,-60,-29 // 对于第一种情况: // 注,一个函数转换成整型数就为两个负整数,上面的”我ABC你“, // 转换成整型数就为-50,-46,65,66,67,-60,-29,但是len=6,所以截取下来的就是-50,-46,65,66,67,-60,count就为3 // 如果是汉字(负),则统计截取字符串中的汉字所占字节数 if (value < 0) { count++; } System.out.println("zh count=" + count); } // 依据判断给定的字符串是否含有汉字,利用String类的substring()方法来截取不同的长度