Java学习笔记

计算1000以内所有能被7整除的数字和

public class zhengchu {
    public static void main(String[] args) {
        int sum = 0;
        for ( int i = 1;i <=1000;i++){
            if (i % 7 !=0){
                sum =sum +i;
            }
        }
        System.out.println("sum =" +sum);
    }
}

这段代码非常简单,但是我从中还是学到了写一个程序的步骤,想清楚实现什么,再一步步解决

计算1+2-3+4-5……-99+100的值

public class demo1 {public static void main(String[] args) {
    int sum = 1;
    for (int i = 2; i <= 100; i++) {
        if (i % 2 == 0) {
            sum = sum + i;
        } else {
            sum = sum - i;
        }
    }
    System.out.println("sum=" + sum);
}
}

有关if最简单的练习

计算一个数的阶乘

import java.util.Scanner;

public class demo2 {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入一个正整数");
        int num=s.nextInt();
        int a=1;
        for (int i=num;i>1;i--){
            a=a*i;
        }
        System.out.println("计算的结果是"+a);
    }
}

要记得设置一个请输入一个正整数的部分,还有考虑到阶乘到最后是0的情况,并不是每一次的for循环都是=

从键盘输入一个数,判断其是否是质数

import java.util.Scanner;

public class demo3 {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入一个正整数");
        int num=s.nextInt();
        boolean zhishu =true;
        for (int i =2;i<num;i++){
            if (num % i ==0){
                zhishu=false;
                break;
            }
        }
        System.out.println(num+(zhishu?"是":"不是")+"质数");
    }
}

这个考察了外部布尔类型的定义,如果多层嵌套会麻烦的多

从键盘输入一个正整数,以其作为行数,输出*图形

import java.util.Scanner;

public class demo4 {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入一个正整数作为行数:");
        int rows=s.nextInt();
        for (int i=1;i<=rows;i++){
            for (int j=0;j<rows-i;j++) {
                System.out.print(" ");
            }
            for (int k=0;k< i*2-1;k++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

注意这里使用空格造成了看起来的居中效果

每天攒2.5元,每逢5的倍数天就花6元,计算多少天攒够100元

public class demo5 {
    public static void main(String[] args) {
        int day=0;
        double money=0.0;
        while (money<100){
            day++;
            money+=2.5;
            if (day % 5==0){
                money-=6;
            }
        }
        System.out.println("共计"+day+"天攒了"+money+"元");
    }
}

简单的while循环,通过while(money<100)可简单许多

一个数的因子相加等于该数本身则称其为完数,找到1000以内的完数

public class demo6 {
    public static void main(String[] args) {
        for (int i=2; i<=1000;i++){
            int sum = 0;
            for (int j=1;j<=i/2;j++){
                if (i % j==0){
                    sum +=j;
                }
            }
            if (i==sum){
                System.out.println(i);
            }
        }
    }
}

注意嵌套的部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值