java算法题每日一练01,java入门简单算法题小练

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]+"	");
        }
    }
}

打印结果:

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+"	");
			}
		}
	}
	//判断是否是质数
	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    

 一点小总结:初学者练题并不是一定要写多难的题,反而是练简单的题,让自己更加能用程序表达好自己脑子里想好的步骤。就像写作文一样把脑海中的景象多用文字描述,久而久之就会写的得心应手了。

原文地址:https://www.cnblogs.com/xunzhaorendaxia/p/11208520.html