JAVA算法练习、排序练习

求1-100素数(质数)

for(int i = 2 ;i<=100;i++){
    boolean a = true;    //每次循环刷新
    for(int j = 2 ;j<i ;j++){
        if(i%j == 0 ){   //能被2到自己之前的数整除的,就不是素数
            a = false;
            break;
        }
    }
    if(a){ 
        System.out.println(i);
    }
}

求1!+2!+...8!的和 (阶乘)

//求1!+2!+....+8!的和
int x,n = 1;
int sum = 0;
for(x=1; x<=8; x++)
{
    n *= x;   //逐步积累
    sum += n;
}

判断奇数偶数

Scanner input = new Scanner(System.in);
System.out.println("请输入一个数判断奇数偶数");
int number = input.nextInt();  //拿到输入的数然后继续判断
if(number%2 == 0){  //核心就是 %2 
    System.out.println(number+"是偶数");
}else{
    System.out.println(number+"是奇数");
}

判断是闰年还是平年

System.out.println("请输入年");
int years = input.nextInt();   
//能够被4整除又能够被100或者400整除的才是闰年
    if(years %4 == 0 && years %100 !=0 || years %400 == 0){  
        System.out.println(years+"是闰年");
    }else{
        System.out.println(years+"是平年");
    }

99乘法表

for(int i=1;i<=9;i++){
    for(int j=1;j<=i;j++){
        System.out.print(j+"x"+i+"="+(i*j));
    }
    System.out.println();
}

使用正则表达式验证用户和密码

(14条消息) JAVA:正则表达式基本使用;邮箱验证,手机号验证,split;_CXY_fengye的博客-CSDN博客

String st = "\\d{5,9}";
String st1 = "[a-zA-Z]{5,20}";
System.out.println("请输入5-9为数字用户名");
String s = input.nextLine();
System.out.println("请输入密码");
String s1 = input.nextLine();
if(s1 != null){
    if(s.matches(st) && s1.matches(st1)){
        System.out.println("正确");
    }else{
        System.out.println("错误");
    }
}else{
    System.out.println("密码为空");
}

冒泡排序

int[] sorting = new int[]{2,9,5,6,7,8,0,1,4,3};
for(int i=0;i<sorting.length;i++){
    for(int j=0;j<sorting.length-1-i;j++){
        if(sorting[j]>sorting[j+1]){  //如果第j位大于j+1就交换
            int temp = sorting[j];
            sorting[j] = sorting[j+1];
            sorting[j+1] = temp;
        }
    }
}

选择排序

int[] sorting1 = new int[]{2,9,5,6,7,8,0,1,4,3};
for (int i=0;i<sorting1.length;i++){
    int index = i;
    for(int j=i+1;j<sorting1.length;j++){  //j =i+1;
        if(sorting1[index]>sorting1[j]){   //如果sorting1的第i位大于第j位就记录下来
            index = j;
        }
    }
    int temp = sorting1[index];
    sorting1[index] = sorting1[i];
    sorting1[i] = temp;
}

快速排序

int[] a = {1,35,23,2,4,13};
Arrays.sort(a);
for(int i:a){
    System.out.print(i+" ");
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值