整理这几天里写的几个小程序,都是循环练习

//设N是一个四位数,它的9倍恰好是其反序数
//(例如:1234的反序数是4321),求N值
package Azhi;
public class Job_5 {
public static void main(String[] args) {
		for(int n=1000;n<=9999;n++){
			int ge=n%10;
			int shi=n%100/10;
			int bai=n%1000/100;
			int qian=n/1000;
			int temp=ge*1000+shi*100+bai*10+qian;//求出反序数
			if(temp==n*9){			//它的9倍恰好是其反序数
				System.out.println(n);
				}
		}
	}
}/*打印出所有的 "水仙花数 ",
 * 所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
 *例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方*/
 package Azhi;
public class Job_6 {
	public static void main(String[] args) {
		for(int i=100;i<999;i++){
			int g=i%10;
			int s=i%100/10;
			int b=i/100;
			int temp=g*g*g+s*s*s+b*b*b;//三位数的各位数字立方和等于该数本身
			if(temp==i){
				System.out.print("\t"+i);
			}
		}
	}
}// 计算1-2+3-4+5-.......+99-100的结果
package Azhi;
public class Job_7 {
	public static void main(String[] args) {
		int sum=0,sum1=0,sum2=0;
		for(int i=1;i<=100;i++){		
			if(i%2==0){		//偶数做减法
				sum1-=i;
			}else {
				sum2+=i;	//奇数做加法
			}
		}
			sum=sum1+sum2;
			System.out.print(sum);
	}
}//求 2/1+3/2+5/3+8/5+13/8.....前20项之和
package Azhi;
public class Job_8 {
	public static void main(String[] args) {
		int i=0;
		double x=2.0, y=1.0,z=0.0;
		double sum = 0;
		for (i=1;i<=20;i++){
			sum=sum+x/y;
			z=x;
			x=x+y;
			y=z;		
		}
		System.out.print(sum);
	}
}// 输出9*9乘法表
package Azhi;
public class Job_9 {
	public static void main(String[] args) {
		for(int x=1;x<=9;x++){
				for(int y=1;y<=x;y++){
			 System.out.print("\t"+y+"×"+x+"="+y*x);
			}
			System.out.println();
		}
	}
}/*使用while循环
计算1-1000之间7的倍数和带有7的数字之和  7  14  17 21 27 28...*/
package Azhi;
public class Seven100 {
	public static void main(String[] args) {
		int i=0;
		int sum=0;
		while(i<=1000){
			int ge=i%10;
			int shi=i/10%10;
			int bai=i/100;
			if(i%7==0||ge==7||shi==7||bai==7){
				sum+=i;
			}
				i++;
		}
		System.out.println(sum);
	}
}

  这几天编写的都是比较简单的小程序,但是对于我这样的初学者来说,这些小程序是很不错的,首先练习了基础语法,其次通过这些小程序,加强自己对程序的认知和理解。这几天编写这几个简单的程序,我还是存在不小问题。就拿这个题“求 2/1+3/2+5/3+8/5+13/8.....前20项之和”来说,开始我找了很久都没找到这个题的规律,找不到规律就写不出表达式,后来想了很久实在想不到就去百度了,然后度娘给我说很简单,我也发现的确很简单,我开始却想不到,可能更多的是自己练习的还比较少,对于这种题目见得不多,缺乏意识。

  再有99乘法表的输出,开始我写的内循环是for(int y=1;y<=9;y++),现在看来很明显输出一个矩形,但是当时就想不明白,说白了还是理解不足,还是旁边的哥们儿给我说了那里要写成y<x,因为它在X内部循环。

  这几天的学习,我总体感觉这个需要勤加练习,方能孰能生巧。比如之前我写那个计算某年某月的天数,主要就是个闰年的判断,整个程序我写的很多,看起来很杂,很乱,但是老师讲的时候,简单几句就完了,又回到刚才说的,多练,多做,经验很重要。