• JAVA进阶1


    间歇性混吃等死,持续性踌躇满志系列-------------第1天

    1、冒泡排序法

    import java.util.Arrays;

    public class SumNum{
    public static void main(String[] args){
    int[] array = new int[]{43,23,1,64,32}; //声明并初始化一维数组
    System.out.println("冒泡排序法的过程是:");
    for(int i =1;i<array.length;i++){
    for(int j =0;j<array.length-i;j++){ //比较相邻两个元素,较大的数往后冒泡
    if(array[j]>array[j+1]){
    int temp = array[j]; //把第一个元素值保持到临时变量中
    array[j] = array[j+1]; //把第二个元素值保存到第一个元素单元中
    array[j+1] =temp; //把第一个元素原值保存到第二个元素中
    }
    System.out.print(array[j]+" "); //把排序后的数组元素显示到文本域中
    }
    System.out.print("【");
    for(int j = array.length-i;j<array.length;j++){
    System.out.print(array[j]+" "); //把排序后的数组元素显示到文本域中
    }
    System.out.println("】");
    }
    }
    }

     运行结果截图

     

    2、输出九宫格

     1 public class SumNum{
     2     public static void main(String[] args){
     3     int arr[][] = new int[3][3];    //创建一个3阶矩阵
     4     int a =2;                       //第3行的行下标
     5     int b =3/2;                     //第2列的列下标
     6     for(int i=1;i<=9;i++){          //给数组赋值
     7         arr[a++][b++] = i;
     8         if(i%3==0){                 //如果i是3的倍数
     9             a =a-2;
    10             b =b-1;
    11         }else{                      //不是3的倍数
    12             a = a%3;
    13             b = b%3;
    14         }
    15     }
    16     System.out.println("输出九宫格:"); //遍历输出九宫格
    17     for(int i=0;i<3;i++){
    18         for(int j=0;j<3;j++){
    19             System.out.print(arr[i][j]+" ");
    20         }
    21         System.out.print("
    ");
    22     }
    23     }
    24 }

     运行结果截图

    3、实现字符串加密

     1 public class SumNum{
     2     public static String EandU(String value,char secret){            //对value加密,secret密文字符
     3         byte[] bt = value.getBytes();                                //将需要加密的内容转换为字节数组
     4         for(int i =0;i<bt.length;i++){
     5             bt[i] =(byte)(bt[i]^(int)secret);                        //通过异或运算进行加密
     6         }
     7         return new String(bt,0,bt.length);                            //返回加密后的字符串
     8     }
     9     public static void main(String[] args){
    10         String value = "你好时间";      //需要加密的字符内容
    11         char secret = '祈';             //密文字符
    12         System.out.println("原字符串为:"+value);
    13         String encrypt = SumNum.EandU(value,secret);  //加密
    14         System.out.println("加密后的值"+encrypt);
    15         String uncrypt = SumNum.EandU(encrypt,secret); //解密
    16         System.out.println("解密后的值:"+uncrypt);
    17     }
    18 }
    View Code

    4、对象的比较

    1 public class SumNum{
    2     public static void main(String[] args){
    3         String c1 =new String("avsdf");                          //创建两个String型对象
    4         String c2 =new String("avsdf");
    5         String c3=c1;                                                    //将c1对象引用赋予c3
    6         System.out.println("c2==c3的运算结果为:"+(c2==c3));             //使用==比较c2,c3
    7         System.out.println("c2.equals(c3)的运算结果为:"+(c2.equals(c3)));      //使用equals比较c2,c3
    8     }
    9         }
    View Code

     运行结果截图

    5、汉诺塔问题

     1 public class SumNum{
     2     public static void moveDish(int level,char from,char inter,char to){
     3         if(level==1){                                             //如果只有一个盘子就退出迭代
     4             System.out.println("从"+from+"移动盘子1号到"+to);
     5         }else{                                                    //如果有大于一个盘子就继续迭代
     6             moveDish(level-1,from,to,inter);
     7             System.out.println("从"+from +"移动盘子"+level+" 号到"+to);
     8             moveDish(level-1,inter,from,to);
     9         }
    10     }
    11     public static void main(String[] args){
    12         int sDisks =3;                                             //设置汉诺塔为3阶
    13         moveDish(sDisks,'A','B','C');             //实现移动算法
    14     }
    15         }
    View Code

     运行结果截图

  • 相关阅读:
    rabbitmq队列
    什么是RPC
    图解rabbitmq
    rabbitmq的面试题
    nginx介绍
    nginx正向代理和反向代理
    负载均衡 分布式 集群
    Nginx的负载均衡
    缓存雪崩 穿透 击穿
    Python Day32:UDP协议、UDP与TCP协议的区别、以及其服务端、客户端标准代码
  • 原文地址:https://www.cnblogs.com/Anemia-BOY/p/10518466.html
Copyright © 2020-2023  润新知