java学习小程序_初学Java:整理的几个简单小程序以及初学心得

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

//设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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值