“黑马程序员”基础测试

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

距我报名开始自学黑马,已经有一个月了。

期间还要工作,出差。时间还是十分的紧张,如今已经提交了基础测试。大多都是在教学视频上可以找到的例子或可以借鉴的程序。不得不说毕老师的课讲得相当好。我一个从零起步的人,也能够由浅入深的了解,并且写出一些简单的基础程序,实在是难得。

以下是基础测试的题目:

/*
黑马程序员训练营基础测试
(其中八九题,还没有能力解答出来)
1、 编写一个函数,函数内输出一个字符串,并在主函数内调用它。
2、 请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。
3、 创建ArrayList对象,添加5个元素,使用Iterator遍历输出
4、 编写程序计算12+22+32+....+1002的和.
5、 用控制台程序倒着输出九九乘法表;输出结果按下图所示:
      1*9=9    2*9=18    3*9=27    4*9=36    5*9=45    6*9=54    7*9=63    8*9=72    9*9=81……

      1*3=3   2*3=6   3*3=9

      1*2=2   2*2=4

      1*1=1

6、 编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。
7、 编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72
8、 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
10、编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文

*/
class BaseTest
{
public static void main(String[] args) 
{
//第一题调用字符串
System.out.println("第一题:");
zifuchuan();
//第二题,冒泡排序
int [] arr={2,3,4,5,7,9,1};
System.out.println("第二题:");
bubbleSort(arr);
printArray(arr);
//第三题:
System.out.println("第三题:");
//Arrayl();
//第四题:求和
System.out.println("第四题:");
Sum();
Sum_2();
//第五题:输出99乘法表
System.out.println("第五题:");
ChengFaBiao();

//编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串.
System.out.println("第六题:");
methodGet("Test.text.png.java");
//编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72
System.out.println("第七题:");
Show7();
System.out.print("\t");
//第十题
System.out.println("第十题:");
 String srcStr1 = "我zai";  
        String srcStr2 = "我si故wozai";  
  
        splitString(srcStr1, 4);  
        splitString(srcStr2, 6); 
}


//第一题:编写一个函数,函数内输出一个字符串,并在主函数内调用它。
public static void zifuchuan()
{
System.out.println("黑马程序员!!");
}
//第二题:请例举一些排序方法,并用java语言实现一个高效的然后调用它。
/*排序方法有多种,比如:插入排序、冒泡排序、堆排序、希尔排序、归并排序、选择排序、计数排序、快速排序、基数排序等*/
//下面写的是冒泡排序:
public static void bubbleSort(int[] arr)
{


for(int x=0; x<arr.length-1 ;x++)
{
for(int y=0; y<arr.length-x-1; y++)
{
if(arr[y+1]<arr[y])//现在是从小排序,从大排序:arr[y]>arr[y+1]
{
swap(arr,y+1,y);
}
}
}
}


private static void swap(int[] arr,int a,int b)
{
int temp=arr[a];
 arr[a]=arr[b];
   arr[b]=temp;
}




public static void printArray(int [] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+", ");
else
System.out.println(arr[x]+"]");
}
}
//第三题:创建ArrayList对象,添加5个元素,使用Iterator遍历输出


/* private static void Arrayl()  
    {  
         
        ArrayList<String> al = new ArrayList<String>();  
        
        al.add("黑马");  
        al.add("白马");  
        al.add("大黑马");  
        al.add("小黑马");  
        al.add("大白马");  
        
        Iterator<String> it = al.iterator();  
        
        while(it.hasNext())  
        {  
            String el = it.next();  
            System.out.println(el);  
        }  
          
          
    }*/  



//第四题:编写程序计算12+22+32+....+1002的和.


public static void Sum() //此为求12+22+32+....+1002的和.

{
int sum=0;

for(int y=1;y<=100;y++)
{

sum=sum+(y*10+2);

}
System.out.println("sum="+sum);

}
public static void Sum_2()//此为求1,2,3,4....99,100的平方和。 
{

int sum=0;


for(int y=1;y<=100;y++)

{

sum=sum+y*y;

}
System.out.println("sum="+sum);
}


/*第五题:用控制台程序倒着输出九九乘法表;输出结果按下图所示:


      1*9=9    2*9=18    3*9=27    4*9=36    5*9=45    6*9=54    7*9=63    8*9=72    9*9=81


      ……


      1*3=3   2*3=6   3*3=9


      1*2=2   2*2=4


      1*1=1*/
public static void ChengFaBiao() 
{
for(int x=9;x>=1;x--)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+"*"+x+"="+y*x+" ");
}
System.out.println();


}

}


//第六题:编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。
  
        // TODO Auto-generated method stub   
          
    
    public static void methodGet(String str){  
        //System.out.println(str.lastIndexOf("."));//调试代码的,测试了一下最后一个”.“的位置   
        /* 
          str.lastIndexOf(".")获取到文件扩展名之前的”.“的位置 
          str.substring(str.lastIndexOf(".")+1)从第str.lastIndexOf(".")+1位置返回一个新的字符串 
         */  
        System.out.println("获取到的文件的扩展名是:"+str.substring(str.lastIndexOf(".")+1));  
    } 
//第七题 编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72
public static void Show7()
{
for(int x=1;x<100;x++)
{
if(x%10!=7 && x/10!=7)

System.out.print(x+",");
}
}


//第九题:编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
//第十题:编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文。
  
    public static void splitString(String src, int len) {  
        int byteNum = 0;  
  
        if (null == src) {  
            System.out.println("The source String is null!");  
            return;  
        }  
  
        byteNum = src.length();  
        byte bt[] = src.getBytes(); // 将String转换成byte字节数组  
  
        if (len > byteNum) {  
            len = byteNum;  
        }  
  
        // 判断是否出现了截半,截半的话字节对于的ASC码是小于0的值  
        if (bt[len] < 0) {  
            String subStrx = new String(bt, 0, --len);  
            System.out.println("subStrx==" + subStrx);  
        } else {  
            String subStrx = new String(bt, 0, len);  
            System.out.println("subStrx==" + subStrx);  
        }  
    }  

}

还是有三个题目不会做,想来是自己学习时间太短,掌握的知识太少的原因。后面就应该把这三个题目,通过继续的学习,将之掌握。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值