各位大哥好,本人想去参加个J2EE培训,但培训方要求做完试题才能参加!
   本人水平有限,所以向各位大哥求助,请大家帮我做做啊,把答案留给我,
先谢了。试题在以下连接
       http://www.itcast.cn/downloads/javatest.htm
紧急等啊,谢谢!!!

解决方案 »

  1.   

    Java软件工程师精英强训班入学测试题 2.Java试题 
    试题1: 
    请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。 试题2: 
    编写一个程序,这个程序把一个整数数组中的每个元素用逗号连接成一个字符串,例如,根据内容为[1][2][3]的数组形成内容为"1,2,3"的字符串。 试题3: 
    编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。 
    十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。 试题4: 
    请用移位的方式打印出一个十进制整数的十六进制形式。提示:按每4个二进制位对整数进行移位和去高位处理,得到的结果就是十六进制数的一位,然后按下面三种方式之一(作为作业,要求每种方式都用到)计算出一个十六进制数值对应的十六进制形式: 
    1)0-9之间的数值直接加上字符'0',9以上的数值减去10以后再加上字符'A' 
    2)定义一个数组,其中包含0-F这些字符,然后用要计算的数值作为数组的索引号,即可获得其对应的十六进制数据。 
    3)Character.forDigit静态方法可以将一个十六进制的数字转变成其对应的字符表示形式,例如,根据数值15返回字符'F'。 试题5: 
    请结合我们的《javascript网页开发》一书中介绍的正则表达式与String.split方法,从"http://www.it315.org/get.jsp?user=zxx&pass=123"这样的URL地址中提取出每个参数的名称和值。这里要注意在正则表达式中要对?进行转义处理. 试题6: 
    编写一个程序,用于实现文件的备份,程序运行时的命令语法为: 
    java MyCopy <sourcefile> <destfile> 试题7: 
    请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。 试题8: 
    在javascript视频的第七讲的第一个片断,也就是网站上提供的免费片断《正则表达式的应用》中,讲到了将一个保存有ip地址与地区对照关系的文本文件导入到数据库时,应该将其中的某些空格替换成逗号(,),即对于如下格式的文本文件内容: 
    起始IP 结束IP 地区 
    --------------------------------------------------------------- 
    61.54.231.245 61.54.231.245 河南省安阳市 新世纪网吧 
    61.54.231.246 61.54.231.246 河南省安阳市 未知地区 
    61.54.231.9 61.54.231.247 河南省安阳市 红日网吧 
    61.54.231.248 61.54.231.248 河南省安阳市 安阳师范学院 
    61.54.231.249 61.54.231.249 河南省安阳市 黑蜘蛛网吧(师范学院附近) 
    应转换成下面的这种格式: 
    61.54.231.245,61.54.231.245,河南省安阳市 新世纪网吧 
    61.54.231.246,61.54.231.246,河南省安阳市 未知地区 
    61.54.231.247,61.54.231.247,河南省安阳市 红日网吧 
    61.54.231.248,61.54.231.248,河南省安阳市 安阳师范学院 
    61.54.231.249,61.54.231.249,河南省安阳市 黑蜘蛛网吧(师范学院附近)     在视频教程中,讲解了使用UltraEdit的正则表达式替换功能来完成上面的转换。从jdk1.4开始,Java语言中提供用于处理正则表达式的相关API类和方法,在jdk帮助文档中,查看String类的replaceAll方法,可以看到该方法就支持类似UltraEdit的正则表达式替换功能。 
        任务:阅读String.replaceAll方法的帮助,以及它提供的相关超链接,了解该方法的用法后,编写一个Java程序来自动实现上面的正则表达式替换,将a.txt(下载)替换后的结果保存到b.txt文件中。另外,我们在实现IT315网站的ip地区查询系统时,使用的是类似如下的sql语法: 
        select 地区 from ip表 where 用户ip>起始IP and 用户ip<结束ip 
        通过这条sql语句就可以查询出用户ip所对应的地区结果。由于用户ip与起始ip和结束ip的比较属于字符串比较,如果用户ip为9.1.1.1,那么它与61.54.231.245比较的结果就是前者大于后者,因为用户ip的第一个字符“9”大于61.54.231.245中的第一个字符“6”。 
        现在请你想出一种解决办法,让上面的sql语句能够返回正确结果。提示:将9.1.1.1变化成009.001.001.001后与061.054.231.245进行比较就可以了。 
        请按这种思路在你的程序中增加进行这种改变的正则表达式替换。注意,起始IP和结束IP的四个字段都有可能是1位、2位或3位数字,例如,61.5.23.1。 
        在源程序中,要对程序代码的功能进行注释说明,提交你编写的程序给我们时,请附带该程序的使用说明。 
      

  2.   

    那么简单的也来问??
    郁闷啊     是不是没有学过java的??
      

  3.   

    这些题应该放到Java J2SE / 扩展类 类去
    这培训多少钱啊
      

  4.   

    第2题:
    class ClassMain {
    public static void main(String[] args) {
    Test t = new Test();
    System.out.println(t.testString(10));
    }
    }class Test {
    String[] str;
    String tmp = "";
    public String testString(int n) {
    str = new String[n];
    for(int i=1;i<n;i++) {
    str[i] = Integer.toString(i)+",";
    tmp += str[i];
    }
    tmp += Integer.toString(n);
    return tmp;
    }
    }
    参考下
      

  5.   

    第3题:
    import java.io.*;
    class Three {
    public static void main(String[] args) {
    Test t = new Test();
    t.testNum();
    }
    }class Test {
    public String getString() {
    System.out.println("请输入字符串:");
    byte[] b = new byte[1024];
    try {
    System.in.read(b);
    }catch(IOException e) {
    e.printStackTrace();
    }
    String str = new String(b).trim();
    return str;
    }

    public void testNum() {
    String str = getString();
    char[] ch = new char[str.length()];
    boolean tmp = true;
    for(int i=0;i<str.length();i++) {
    ch[i] = str.charAt(i);
    if(!Character.isDigit(ch[i])) {
    tmp = false;
    break;
    }
    }
    try {
    if(tmp) {
    int num = Integer.parseInt(str);
    System.out.println(num);
    }else {
    System.out.println("输入的字符串中不全是数字!");
    }
    }catch(NumberFormatException e) {
    System.out.println("输入的字符串中数字太大!");
    }
    }
    }参考下
      

  6.   

    //第一题
    /*//CharDemo.java
    -----------------------------------------------------------------------------------
    *请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符
    *在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数
    *形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main
    *方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组
    *为null等。
    -----------------------------------------------------------------------------------*/
    class myIllegalArgumentException extends IllegalArgumentException{
    public void printErr(){
    System.out.println("非法的字符数组参数。");
    printStackTrace();
    }
    }
    class Char{
    public static int charAt(char[] a,char b){
    if(a==null){
    throw new myIllegalArgumentException();//抛出异常
    }
    for(int index=0;index<a.length;index++){
    if(a[index]==b)return index;
    }
    return -1;
    }
    }public class CharDemo{
    public static void main(String[] args)//测试charAt()方法
    {
    char [][] test={{'a','b','c','e','5','6','o','@'},
        {'c','b','c','e','5','6','o','@'},
     null};
    int flag=-2; for(int count=0;count<3;count++){
    try{flag=Char.charAt(test[count],'a');
    }catch(myIllegalArgumentException m){
    m.printErr();
    System.exit(0);
    }     switch(flag){
    case -2:
    break;
    case -1:
    System.out.println("test01字符数组里不存在:a");
    break;
    default:
    System.out.println("test01字符数组里存在:a,位置:"+flag);
    }
    }
    }
    }
      

  7.   

    //FlagDemo.java
    /*------------------------------------------------------------------------------
    试题2: 
    编写一个程序,这个程序把一个整数数组中的每个元素用逗号连接成一个字符串,例如,
    根据内容为[1][2][3]的数组形成内容为"1,2,3"的字符串。
    ------------------------------------------------------------------------------*/class Flag{
    public static String addFlag(int [] array,char flag){
    StringBuffer sb=new StringBuffer();
    for(int index=0;index<array.length-1;index++){
    sb.append(array[index]).append(flag);
    }
    sb.append(array[array.length-1]);
    return sb.toString();
    }
    }public class FlagDemo{
    public static void main(String[] args){
    int [] number={15,20,3,4,5,66,7,8}; System.out.println(Flag.addFlag(number,','));
    System.out.println(Flag.addFlag(number,'-'));
    }
    }