Day

    xiaoxiao2021-03-25  114

    1.字符串去重

    package test; import java.util.ArrayList; import java.util.List; public class javaquchong {                   public static void main(String[] args) {             String str = "abcqweracb";//设定一串字符串                  List<String> data = new ArrayList<String>();//定义一个data容器                         for (int i = 0; i < str.length(); i++) {//开始进行循环截取str字符串内的字符,                 String s = str.substring(i, i + 1);  //substring开始截取两个字符                 if (!data.contains(s)) {//把非data容器内的字符添加到data容器当中                     data.add(s);                 }             }                       for (String s : data) {  //for循环将data容器遍历了一遍 ,再把data容器中的数据赋给字符串s                 System.out.print(s);//输出s里面的值!             }         }     }

    2.打印三角形 倒角三角形  梯形  倒角梯形 的星星图案

        //矩形         for(int i=0;i<5;i++){             for(int j=0;j<5;j++){                 System.out.print("*");             }                 System.out.println();         }         System.out.println("----------------------------");         //三角形         for(int i=0;i<5;i++){             for(int j=0;j<=i;j++){                     System.out.print("*");                 }             System.out.println();         }         //梯形         System.out.println("----------------------------");         for(int i1=5;i1<10;i1++){             for(int j1=0;j1<i1;j1++){                 System.out.print("*");                 }             System.out.println();         }         System.out.println("----------------------------");         //倒角三角形         for(int i=5;i>0;i--){             for(int j=i;j>0;j--){             System.out.print("*");             }             System.out.println();             }         System.out.println("----------------------------");         //倒角梯形         for(int i=5;i>1;i--){             for(int j=i;j>0;j--){                 System.out.print("*");             }             System.out.println();                      }

    3.java算法

    //java排序方法         //冒泡算法         int [] arry={9,8,7,5,2,6,4,3,1};         for(int i=0;i<arry.length-1;i++){             for(int j=0;j<arry.length-1-i;j++){//如果是选择排序的话 就把 j的初始值改为 int j=i+1; j<arry.length;j++                 if(arry[j]>arry[j+1]){                     int temp=arry[j+1];                         arry[j+1]=arry[j];                     arry[j]=temp;                 }             }         }         System.out.println(Arrays.toString(arry));         //系统排序         /*Arrays.sort(arry);         System.out.println(Arrays.toString(arry));         */         //         } }

    //最为重要的还是快速算法

    //快速算法        public static void sort(int[] a,int i,int j){              int start = i;              int end = j;              int key = a[i];//设定一个基值              while(end>start){                  //从后往前比较                  while(end>start&&a[end]>=key)  //如果没有比关键值小的,比较下一个,直到有比关键值小的交换位置,然后又从前往后比较                      end--;                  if(a[end]<=key){                      int temp = a[end];                      a[end] = a[start];                      a[start] = temp;                  }                                    //从前往后比较                  while(end>start&&a[start]<=key)//如果没有比关键值大的,比较下一个,直到有比关键值大的交换位置                     start++;                  if(a[start]>=key){                      int temp = a[start];                      a[start] = a[end];                      a[end] = temp;                  }              //此时第一次循环比较结束,关键值的位置已经确定了。左边的值都比关键值小,右边的值都比关键值大,但是两边的顺序还有可能是不一样的,进行下面的递归调用              }              //递归              if(start>i) sort(a,i,start-1);//左边序列。第一个索引位置到关键值索引-1              if(end<j) sort(a,end+1,j);//右边序列。从关键值索引+1到最后一个          }     public static void main(String[] args) {            int[] a = {100,6,5,77,8,99,10,1,0,2};             int start = 0;             int end = a.length-1;             sort(a,start,end);             for(int i = 0; i<a.length; i++){                  System.out.print(a[i]+"   ");              }     }

    //单例设计模式

    //饿汉式单例类.在类初始化时,已经自行实例化  

    public class singleton{

             private singleton(){}

            private static final singleton s1=new singleton();

             public static singleton getinstance(){

                          return s1;

    }

    }

    该单例模式是线程安全的,全都是static 和 private 没办法不安全啊!

    转载请注明原文地址: https://ju.6miu.com/read-7537.html

    最新回复(0)