java工程师面试题大全100%公司笔试题你都能碰到几个(7)

2019-05-18 20:59

c1 = transe(m1); c2 = transe(m2); c3 = transe(m3); c4 = transe(m4); c5 = transe(m5); c6 = transe(m6); String str = \ if (m1 != 0) {

str += c1 + \千\ }

if (m2 != 0) {

str += c2 + \百\ }

if (m1 != 0 && m2 == 0 && (m3 != 0 || m4 != 0)) { str += \零\ }

if (m3 != 0) {

str += c3 + \十\ }

if (m2 != 0 && m3 == 0 && m4 != 0) { str += \零\ }

if (m4 != 0) { str += c4; }

str += \元\

if (m5 == 0 && m6 == 0) { str += \整\ }

if (m5 != 0) {

str += c5 + \角\ }

if (m5 == 0 && m6 != 0) { str += \零\ }

if (m6 != 0) {

str += c6 + \分\ }

System.out.print(str + \

System.out.println(\

}

public static char transe(int m) { char r = ' '; switch (m) { case 0:

r = '零'; break;

case 1:

r = '壹'; break; case 2:

r = '贰'; break; case 3:

r = '叁'; break; case 4:

r = '肆'; break; case 5:

r = '伍'; break; case 6:

r = '陆'; break; case 7:

r = '柒'; break; case 8:

r = '捌'; break; case 9:

r = '玖'; break;

}

return r; } }

129. 针对一个分期付款,总期为1年,给定分期金额,期数和开始还款时间,计算出各期还款日期。 package demo;

import java.util.Calendar; import java.util.Date;

public class TestDemo {

// 分期付款,总期为1年,给定分期金额,期数和开始还款时间 // 计算出各期还款日期

public void huankuan(double amount,int num,Date start){ int period = 365/num; // 一年中分期间隔天数

Calendar cal = Calendar.getInstance();

cal.set(Calendar.YEAR, start.getYear()+1900); cal.set(Calendar.MONTH, start.getMonth());

cal.set(Calendar.DATE, start.getDate());

for(int i=1;i<=num;i++){

System.out.println(\第\期还款日期: \ cal.add(Calendar.DATE, period); } }

public static void main(String[] args) { TestDemo demo = new TestDemo();

demo.huankuan(20000.00, 1, new Date());

} }

130. 用java写从1加到100

sum = (1+i)*i/2 i=100 最简单的方法 public class Hello5050{

public static void main(String[] args){ for (int i=1;i<=100;i=i++) {

System.out.println(++i); } } }

131. SSH的优点和缺点

优点: ssh把数据库,实体,配置都整合,封装 层次的结构(偏于mvc模式)

而且框架的融合,代码的耦合都很不错

对于编程的持续化,扩展化,维护化都很棒 ,SSH已经把底层实现封装好了,开发人员可以更专注于业务处理, 缺点: 出现错误容易搞的复杂

如果某个框架不是很熟悉的话(特别是spring)那就很麻烦 运行速度比较慢

132. 用JDBC来实现访问数据库记录可以采用下面的几个步骤: 1、 通过驱动器管理器获取连接接口。 2、 获得Statement或它的子类。 3、 限制Statement中的参数。 4、 执行Statement。

5、 查看返回的行数是否超出范围。 6、 关闭Statement。 7、 处理其它的Statement 8、 关闭连接接

133. overload和override的区别

override是方法重载,用在同一个类中,是几个方法的名字相同,返回值相同,但是参数列表不同,举例来说就像构造函数,可以后多个构造函数,并且每个的参数列表都不同,这样可以用多种方式构造对象。

overload是方法覆盖,用在父子类中,是方法名字相同,参数列表也相同,声明形式都相同,但是子类方法的权限不允许小于父类,不允许抛出比父类更多的异常

134. 最常见的runtime exception运行时异常? 数字转换异常,类异常ClassCastException NumberFormatException ArrayIndexOutOfBoundsException:数组越界 ClassCastException:类型转换错误

ArithmeticException:算术错误,典型的就是0作为除数的时候。IllegalArgumentException:非法参数 IndexOutOfBoundsException NullPointerException SystemException ArrayStoreException

135. 描述工厂模式和单例优缺点 举例在什么情况下用。 单例 保证一个类只有单一的实例,也就是说你无法通过New或CreateInstance来创建这个类的一个新实例 好处:当一个对象在程序内部只能有一个实例的时候,它可以保证我们不会重复创建,而是始终指向同一个对象。 缺点就是 它就是在内存上共享,都可以去访问它,而且多个用户访问的都是同一个实例,会造成线程不安全。

/**

* IOC模式简单实例 */

/**

* 运行类 */

public class MainClass { /**

* 主函数 */

public static void main(String[] args) { try {

PrinterFactory.createPrinter().printByString(\ } catch (Exception ex) {

System.out.println(ex.toString()); } } }

/**

* Printer接口 */

interface IF_Printer { /**

* 接口printByString方法声明 */

public void printByString(String str); }

/**

* MyPrinter实现Printer接口 */

class MyPrinter implements IF_Printer { public void printByString(String str) { System.out.println(str); }

}

/**

* IF_Printer对象工厂,用于创建实现接口的类对象 */

class PrinterFactory { /**

* 工厂方法,返回IF_Printer接口实例 */

public static IF_Printer createPrinter() throws InstantiationException, ClassNotFoundException, IllegalAccessException {

String str = \通过字符串寻找实现接口的类,字符串可从文件中读取获得,从而实现IOC模式

return (IF_Printer) Class.forName(str).newInstance();//返回IF_Printer接口实例 } }

136. 创建一个序列号,从1000开始,每次增加1,最大到999999 create sequence newstudno increment by 1 start with 10001 maxvalue 99999

137. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。

public class ThreadTest1{ private int j;

public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1();

Inc inc=tt.new Inc(); Dec dec=tt.new Dec(); for(int i=0;i <2;i++){ Thread t=new Thread(inc); t.start();

t=new Thread(dec); //???这个前面不要加Thread吗 t.start(); } }

private synchronized void inc(){ //???为什么要加锁呢 不加可以吗 j++;

System.out.println(Thread.currentThread().getName()+\} //???currentThread()有什么作用呢是什么方法 //???getname呢 private synchronized void dec(){ j--;

System.out.println(Thread.currentThread().getName()+\}

class Inc implements Runnable{ public void run(){

for(int i=0;i <100;i++){ inc(); } } }


java工程师面试题大全100%公司笔试题你都能碰到几个(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:镇党委书记在全镇重点工作推进会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: