上海交通银行笔试题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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()方法来截取不同的长度

相关文档
最新文档