今日JAVA——练习题二

JAVA每日随手练

1.打印素数

功能:打印 1 - 100 之间所有的素数
补充:质数(prime number)又称素数,定义为一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数。
代码:

public class test1 {
    public static void main(String[] args) {
        System.out.println("\n*******打印1 - 100 之间所有的素数*******"); //先换行再打印再换行,首尾均换行
        int sum =0;  //素数的个数
        for(int i =2;i<=100;i++){   
            // 循环遍历:设要判断的数为i 
            // 利用for(int j=2;j <= i; j++)循环把2到它本身i的数都遍历一遍,
            // 在遍历的过程中如果i%j==0,就记录这个数j
            // 判断i是否和j相等,若i==j,就说明该数是素数。
            for(int j=2;j<=i;j++){
                if(i%j==0&&i!=j){
                    break;   //素数为只能被和自身整除的数,不为素数时跳出当前循环
                }else if(j==i){
                    if(sum%5==0){   //作用:打印的素数个数为5倍数时换行一次
                        System.out.println();  //输出空白且换行
                    }else{
                    System.out.print(j + " ");     //输出j,其后跟一个空字符串(作用:与后面数隔开,类似空格)
                    }
                    sum++;
                
                }
            }
        }
        System.out.println("\n素数有" + sum + "个");
    }      
}

运行结果:
在这里插入图片描述

2.模拟登陆

功能:编写代码模拟三次密码输入的场景。最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。
代码:

import java.util.Scanner;

public class test2 {
    public static void main(String[] args){
        System.out.println("欢迎使用");
        Scanner sc = new Scanner(System.in);
            for(int i=2;i>=0;i--){
                System.out.println("请输入6位密码:");
                String a = sc.next();
                if(a.equals("257832")){
                    System.out.println("登陆成功");
                    break;
                }else{
                  System.out.println("密码错误,请重新输入,你还有"+i+"次输入机会");
                }
            }
        sc.close();
    }   
}

运行结果:
在这里插入图片描述

3.求最大公约数

功能:求两个正整数的最大公约数
补充:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。
代码:

import java.util.Scanner;
public class 求两个正整数的最大公约数 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入第一个整数");
        int m = sc.nextInt();
        System.out.print("请输入第二个整数");
        int n = sc.nextInt();
        if(m<n){       //如果m比n小,则把m与n互换,把m换成较大的值
            int temp = m;
            m = n;
            n = temp;
        }else{
            while(m % n != 0){   //m整除n,存在余数,则继续循环,如果没有余数,则跳出循环
                //7%4=3,temp==3,m==4,n==3,继续循环,temp==4%3==1,m==3,n==1;此时m%n==0,跳出循环,最大公约数是1
                int temp = m % n;   //取余  
                m = n;
                n = temp;  //把余数给n
            }
            System.out.println(m+"和"+n+"的最大公约数为:"+n);
        }
        sc.close();
    } 
}

运行结果:

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值