各位好,诚求两道java编程题(附答案)题目要求是相关J2SE的基础知识,如包含java基础知识、线程、算法、xml解析等方面,适当包含一些模拟业务场景的!题目/答案发送:[email protected] 拜谢!

解决方案 »

  1.   

    哈哈,楼主很有意思!难道百度或google中题很少吗?建议LZ遇到问题,先自己上网查着解决!何况这种不是问题的问题,我们可不是题库啊!CSDN的外包中有很多的,可以去看看!
      

  2.   

    修改上面的说法,是csdn的项目交易里面有好多的!
      

  3.   

    那种试题,很少的!只有你自己上班了,才能看到!一个公司分给我的面试试题,给你看看!                   程序员笔试题  (时间:60分钟)
    一 计算题
      ( 32 * 444 + 8 * 999 ) * ( 193 * 50 + 350)
    =(32*4*111+8*9*111)*(193*50+7*50)
    =111*(32*4+8*9)*50*(193+7)
    =111*200*50*200
    =222000000
    二 编程题,语言不限,也可以使用伪代码
    1、完成一下程序,实现字符串复制功能。
    //java code
    char[]  strcpy(char[] src) {
    int length = src.length;
    char[] desc = new char[length];
    for(int i=0; i<length; i++) {
    desc[i] = src[i];
    }
    return desc;
    }
    2、请按照你的编程习惯,优化以下程序。
    void fun(){
    int i1 = 2000;
    String s1 = "";
    for(int i = 0; i < i1; i++){
    s1 = s1 + "c";
    }
    System.out.println(s1);

    int i2 = 14300;
    String s2 = "";
    for(int i = 0; i < i2; i++){
    s2 = s2 + "j";
    }
    System.out.println(s2);
    }
    本程序存在的主要问题是:String对象里面的字符串不能变,执行s1 = s1 + “c” 这句代码时,s1指向了新的对象,其值是s1的值加”c”。因此上述程序执行时,会产生16300多个String类型的垃圾对象,严重浪费系统资源。而StringBuffer可以在其后面追加字符串,操作完成后再转换成String,就可以解决上面的问题。优化后的代码如下:
    void fun() {
    int i1 = 2000;
    //此处用StringBuffer替换String
    StringBuffer s1 = new StringBuffer();
    for(int i = 0; i < i1; i++){
    s1.append("c");
    }
    System.out.println(s1.toString());

    //此处也没有必要重新声明变量,直接用前面声明的变量i1和s1就行了
    i1 = 14300;
    s1 = new StringBuffer();
    for(int i = 0; i < i1; i++){
    s1.append("j");
    }
    System.out.println(s1.toString());
    }3、根据下表的数据,编码实现。
    值组合 结果
    A B C D
    1 1 1 1 FALSE
    1 1 1 0 FALSE
    1 1 0 1 FALSE
    1 1 0 0 FALSE
    1 0 1 1 FALSE
    1 0 1 0 TRUE
    1 0 0 1 TRUE
    1 0 0 0 TRUE
    0 1 1 1 FALSE
    0 1 1 0 TRUE
    0 1 0 1 TRUE
    0 1 0 0 TRUE
    0 0 1 1 FALSE
    0 0 1 0 TRUE
    0 0 0 1 TRUE
    0 0 0 0 TRUE下面是根据表中的数据编码得到的函数:
    boolean function(int a, int b, int c, int d) {
    boolean result = false;

    //参数的转换,1为true,0为false
    boolean a1 = (a == 1) ? true : false;
    boolean b1 = (b == 1) ? true : false;
    boolean c1 = (c == 1) ? true : false;
    boolean d1 = (d == 1) ? true : false;

    //对a1、b1、c1和d1进行逻辑运算:a1和b1相与,
    //c1和d1相与,然后得到的两个结果相或,
    //最后对整个结果取非,得到最终的要求。
    result = !((a1 & b1) | (c1 & d1));

    return result;
    }
    三 用一句SQL语句,查询表B1中各个班级,语文 > 60 的人数
    表名:B1
    学号 姓名 班级 科目 成绩 结果:
    1001 张三 20101 语文 80 班级 人数
    1002 李四 20102 语文 66 20101  
    1003 王五 20101 语文 54 20102  
    1004 赵六 20102 语文 61
    1005 孙七 20102 语文 36 Sql语句:
    select 班级,count(*)  “人数”  from b1 where 成绩 > 60 group by 班级