----------- 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);
}
}
}
还是有三个题目不会做,想来是自己学习时间太短,掌握的知识太少的原因。后面就应该把这三个题目,通过继续的学习,将之掌握。