1.给数组做反序
public class Ak01 {
public static void main(String[] args) {
int[] a = new int[]{22,48,41,2,7,9};
int start=0;
int end=a.length-1;
int size = a.length;
for(int i = 0;i<size/2;i++) {
int temp;
temp = a[start];
a[start]=a[end];
a[end]=temp;
start++;
end--;
}
for(int i=0;i<size;i++) {
System.out.print(a[i]+"\t");
}
}
}
打印结果:
9 7 2 41 48 22
2,3 :判断一个数是不是质数,打印100内的所有质数,明显可以放在一块,同时理解这种大问题拆分成一层一层小问题的解题思路。
public class Ak02 {
public static void main(String[] args) {
//注意拆分问题,求100内的质数,先考虑什么是质数。
for(int i=0;i<100;i++) {
if(isReal(i)) {
System.out.print(i+"\t");
}
}
}
//判断是否是质数
static boolean isReal(int i){
//小于2直接返回
if(i<2)return false;
//等于2确定是质数直接返回结果
if(i==2) {
return true;
}
//大于2后更有规律,程序更易编写,所以我从2开始循环。
if(i>2) {
for (int j = 2; j <= i/2; j++) {
if(i%j==0) {
return false;
}
} }
return true;
}
}
打印结果:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
一点小总结:初学者练题并不是一定要写多难的题,反而是练简单的题,让自己更加能用程序表达好自己脑子里想好的步骤。就像写作文一样把脑海中的景象多用文字描述,久而久之就会写的得心应手了。