for循环

1.使用循环打印九九乘法表

    public static void main(String[] args) {
        for (int t =1;t<=9;t++) {
            for (int i = 1; i <= t; i++) {
                System.out.print(i+"*"+t+"="+i*t+"\t");
            }
            System.out.println("");
        }

    }

2.使用循环打印4中三角形(只写了一种)

    public static void main(String[] args) {
    for(int t=9;0<t;t--){
        for(int e=t-1;0<e;e--){
            System.out.print("\t");
        }
        for(int i=1;i<=9-t;i++){
            System.out.print("*\t");
        }
        System.out.println();
    }    
    }
    

3.冒泡排序法

    public static void main(String[] args) {
        String[] arr = {"name","pasword","age"};

        for (int t = 0; t < arr.length - 1; t++) {
            for (int i = 0; i < arr.length - 1 - t; i++) {
                if (((Comparable)arr[i]).compareTo(arr[i+1])>0) {
                    String temp = arr[i + 1];
                    arr[i + 1] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }

 4.模拟斗地主发牌(使用 Collections.shuffle(数组名); 打乱元素顺序

)

public static void main(String[] args) {
    List<Integer> cards=new ArrayList<Integer>();
    for(int i=0;i<54;i++){
        cards.add(i);
    }
    Collections.shuffle(cards);
    System.out.println(cards);
    List<Integer> p1=new ArrayList<Integer>();
    List<Integer> p2=new ArrayList<Integer>();
    List<Integer> p3=new ArrayList<Integer>();
    List<Integer> last=new ArrayList<Integer>();
    for(int i=0;i<51;i=i+3){
        p1.add(cards.get(i));
        p2.add(cards.get(i+1));
        p3.add(cards.get(i+2));
    }
    last.add(cards.get(51));
    last.add(cards.get(52));
    last.add(cards.get(53));
    
    System.out.println("p1"+p1); 
    System.out.println("p2"+p2);
    System.out.println("p3"+p3);
    System.out.println("底牌"+last);
}

 5.要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-z A-Z 0-9)也不相同,每个字符串长度为10

public static ArrayList<Character> getContainer(){
    //建立一个容器存放
    ArrayList<Character> array = new ArrayList<>();
    //通过for循环一一存储到集合中
    for (char i = 'a'; i <='z'; i++) {
        array.add(i);
    }
    for (char i = 'A'; i <='Z'; i++) {
        array.add(i);
    }
    for (char i = '0'; i <='9'; i++) {
        array.add(i);
    }        
    return array;
}

public static String getRandomString(ArrayList<Character> arrayList){
    //用hashset接收字符 这样就不会产生重复  
    HashSet<Character> characters = new HashSet<>();
    //字符串长度为10
    while(characters.size()<10){
        //在字符容器中随机拿字符  先随机索引
        int index = (int) (Math.random()*arrayList.size());//随机获取62个随机元素
        //添加到hashset集合中
        characters.add(arrayList.get(index));
    }
    
    //遍历hashset集合  连接成字符串
    String string="";
    for (Character character : characters) {
        //""加字符  转换成字符串这是基础语法,不知道的同学要研究一个基础语法了
        string+=character;
    }
    System.out.println(characters);
    //返回字符串
    return string;
    
}

public static ArrayList<String> getRandomStrings(ArrayList<Character> arrayList){
    //建立HashSet集合接收   去掉重复
    HashSet<String> hashSet = new HashSet<>();
    while(hashSet.size()<10){
        hashSet.add(getRandomString(arrayList));
    }
    System.out.println(hashSet);
    
    ArrayList<String> list = new ArrayList<>();
    //将Hashset集合中的元素全部添加到list集合中
    list.addAll(hashSet);
    return list;
}

public static void main(String[] args) {
    ArrayList<Character> arrayList = getContainer();
    ArrayList<String> arrayList2 = getRandomStrings(arrayList);
    //遍历
    for (String string : arrayList2) {
        System.out.println(string);
    }
}

 

posted @ 2019-07-22 16:06  jdk假大空  阅读(109)  评论(0)    收藏  举报