Java学习日记2021.10.22

2021.10.22

利用嵌套循环打印各种图形,九九乘法表(方向变换)

Break语句

作用:跳出当前的switch或循环结构,不会执行变量改变的部分

 Continue跳过本次循环剩余的代码,继续下一次循环。不会影响变量改变的部分

 Return会直接跳出到方法外部

 System.exit(状态码):会中断程序运行

作业练习

判断2-100之间有多少个素数,并输出所有素数

/**
 * @Author $(USER)
 * @Date $(DATE)
 * @Description 判断2-100之间有多少个素数,并输出所有素数
 */
public class zuoye1 {
    public static void main(String[] args) {
        int yushu=1;
        int num=0;
        for(int a=2;a<=100;a++){
            for(int b=2;b<a;b++ ){
                yushu=a%b;
                if(yushu==0){
                    break;
                }
            }if(yushu!=0){
                System.out.println("素数是"+a);
                num++;
            }
        }
        System.out.println("素数个数为:"+num);
    }
}

打印出所有的"水仙花数",
 * 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
 * 例如:153是一个"水仙花数",
 * 因为153=1的三次方+5的三次方+3的三次方。

public class zuoye2 {
    public static void main(String[] args) {
        int num=0;
        for(int i=100;i<1000;i++){
            int gw=i%10;
            int sw=i/10%10;
            int bw=i/100;
               if(i==bw*bw*bw+sw*sw*sw+gw*gw*gw){
                   num++;
                   System.out.println("第"+num+"位"+"水仙花数为:"+i);
               }
        }
    }
}

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
 * 例如5+55+555+5555+55555(此时共有5个数相加)。

public class zuoye4 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数:");
        int n=sc.nextInt();
        int sum=0;//求和
        int num=0;//每个数都是前一个数乘10再加输入的数
                  // (输入的数是多少式子就累加多少次,从n一直到1)
       while(n>0){
           num=num*10+n;
           sum+=num;
           n--;
       }
        System.out.println(sum);

        }

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数

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

一球从100米高度自由落下,
 * 每次落地后反跳回原高度的一半;再落下,
 * 求它在 第10次落地时,共经过多少米?第10次反弹多高

public class zuoye6 {
    public static void main(String[] args) {
        double height=100;
        double s=0;
        for(int i=1;i<=10;i++){
            height=height/2;
            s+=height/2;
        }
        System.out.println(height);
        System.out.println(s+100);
    }
}

Guess you like

Origin blog.csdn.net/kkkyzp/article/details/120915130