A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dsh 中级黑马   /  2014-10-1 07:24  /  3089 人查看  /  29 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文



黑马程序员训练营基础测试



1、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

2、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:

键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒
3、 Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?

求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
5、 编程打印所有的3位质数,质数特点:只能被1和其本身整除

6、 使用带缓冲功能的字节流复制文件。

7、 在打印语句中如何打印这3个x变量?

class A {
int x = 1;
class B {
int x = 2;
void func() {
int x = 3;
System.out.println( ? );
        }
    }
}
8、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}

9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt

10、编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

29 个回复

倒序浏览
楼主的基础题不难啊,为啥我就抽不到呢:'(
回复 使用道具 举报
数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
这个题目你怎么写的?
回复 使用道具 举报
感谢分享,加油!!
回复 使用道具 举报
呵呵,不错,共勉加油哈,!
回复 使用道具 举报
目前没有会的
回复 使用道具 举报
看看。。
回复 使用道具 举报
dsh 中级黑马 2014-10-1 20:46:34
8#
daoqin 发表于 2014-10-1 10:04
数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
这个题目你怎么写的? ...

你想要???
回复 使用道具 举报
dsh 中级黑马 2014-10-1 20:49:32
9#
daoqin 发表于 2014-10-1 10:04
数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
这个题目你怎么写的? ...

这题  用集合做  建一个集合容器用来装数,从原始数组是{4,2,4,6,1,2,4,7,8}依次那数往集合中放,放之前判断集合中有没有,有就不放去哪下一个    最后遍历集合就ok
回复 使用道具 举报
dsh 中级黑马 2014-10-1 20:50:41
10#
wingli 发表于 2014-10-1 09:55
楼主的基础题不难啊,为啥我就抽不到呢

呵呵   这些都是基础的   我的推荐信  写的很差    博文不怎么会写  哎  估计是去不了了
回复 使用道具 举报
weiyi 中级黑马 2014-10-1 20:56:35
11#
感觉好难啊
回复 使用道具 举报
daoqin 发表于 2014-10-1 10:04
数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
这个题目你怎么写的? ...

import java.util.*;
import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
public class ArrayDemo {
        public static void main(String[] args) {int[] src= {4,2,4,6,1,2,4,7,8 };
        Set <Integer> set=new TreeSet <Integer>();for (int i : src) {
                set.add(i);
        }
        int[] test=new int[set.size()];
        Iterator <Integer> iter= set.iterator();
        for (int i=0; i < test.length&& iter.hasNext(); i++) {
                test= iter.next();
        }
        System.out.println(Arrays.toString(test));
        }
}

运行结果:[1, 2, 4, 6, 7, 8]

点评

dsh
我想 你的集合应该是弄错了 , treeset 有自动排序 list 可以  发表于 2014-10-2 08:28
回复 使用道具 举报
  1. public class test02 {
  2.         public static void main(String[] args) {
  3.                 time(3840);
  4.         }
  5.         public static void time(int i)
  6.         {
  7.                
  8.                 int[] a={i/(3600),(i%3600)/60,i%3600%60};
  9.                
  10.                 System.out.println(a[0]+"小时"+a[1]+"分"+a[2]+"秒");
  11.         }
  12. }
复制代码


第二题我是这么做的,有更好的方法吗?
回复 使用道具 举报
千里马 发表于 2014-10-1 23:28
import java.util.*;
import java.util.Set;
import java.util.TreeSet;
  1. class test06
  2. {
  3.         public static void main(String[] args) {
  4.                 int[] a={4,2,4,6,1,2,4,7,8};
  5.                 quchong(a);
  6.         }
  7.         public static void quchong(int[] a)
  8.         {
  9.                 ArrayList al=new ArrayList();
  10.                 for(int i=0;i<a.length;i++)
  11.                 {
  12.                         if(!al.contains(a[i]))
  13.                         {
  14.                                 al.add(a[i]);
  15.                         }
  16.                 }
  17.                 System.out.println(al.toString());
  18.         }
  19. }
复制代码


回复 使用道具 举报
wtjohn 发表于 2014-10-2 00:22
第二题我是这么做的,有更好的方法吗?

最大单位到天,你这才到小时吧?
回复 使用道具 举报
dsh 中级黑马 2014-10-2 08:31:01
16#
wtjohn 发表于 2014-10-2 00:22
第二题我是这么做的,有更好的方法吗?

package com.itheima;
这是我的答案
import java.util.Scanner;

/*
* 2、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:

        键盘输入6,打印6秒;
        键盘输入60,打印1分;
        键盘输入66,打印1分6秒;
        键盘输入666,打印11分6秒;
        键盘输入3601,打印1小时1秒
       
        分析:  一天是86400秒
                一个小时 3600秒
       
*/
public class Test02 {

        public static void main(String[] args) {
                //创建文本扫描器
                Scanner sc = new Scanner(System.in);
                //输入一个数
                System.out.println("输入一个正数:");
               
                int number = sc.nextInt();
                while(number<0){
                        System.out.println("输入有误,重新输入:");
                        number = sc.nextInt();
                }
                //创建一个字符串反冲区
                StringBuffer sb= new StringBuffer();
                countTime(number,sb);
               

        }

        private static void countTime(int num,StringBuffer sb) {
                int day = num/86400;  //得到天数
                int  num1 =num %86400;  //得到剩余的秒数
                int hour = num1/3600;  //得到小时数
                int num2 = num1%3600;        //得到剩余的秒数
                int minute= num2/60;  //等到分钟
                int miao = num2%60;  //得到剩余的秒数
               
                if(day>0){
                        sb.append(day).append("天");
                       
                }
                if(hour>0){
                        sb.append(hour).append("小时");
                }
                if(minute>0){
                        sb.append(minute).append("分钟");
                }
                if(miao>0){
                        sb.append(miao).append("秒");
                }
                System.out.println(sb);
        }

}
回复 使用道具 举报
我基础题貌似比这难
回复 使用道具 举报
dsh 发表于 2014-10-2 08:31
package com.itheima;
这是我的答案
import java.util.Scanner;

恩。。。。我也改了一下..你这个更符合题目要求
回复 使用道具 举报
我在想如果我要抽到农夫过河问题我就呵呵了。
回复 使用道具 举报
都差不多的题目
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马