【无标题】

作业题

1.打印扑克牌

请添加图片描述

  1. 思路:定义两个数组,一个存放花色,一个存放数字和字母
  2. 用两层循环,外层花色,里层数字
public class testDemo02 {
    public static void main(String[] args) {
        String []arr=new String[]{"黑桃","红桃","梅花","方片"};
        String[]num=new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","k"};
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < num.length; j++) {
                System.out.print(arr[i]+num[j]+" ");
            }
            System.out.println();
        }
    }
}

2.l 模拟在一副牌中,抽取第1张,第5张,第50张扑克牌。

  1. 思路:定义一个变量代表每张牌,里层循环嵌套switch判断条件
String []arr=new String[]{"黑桃","红桃","梅花","方片"};
String[]num=new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","k"};
int index=0;
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < num.length; j++) {
        index++;
        switch (index){
            case 1:
                System.out.println(arr[i]+num[j]+" ");
                break;
            case 2:
                System.out.println(arr[i]+num[j]+" ");
                break;
            case 50:
                System.out.println(arr[i]+num[j]+" ");
                break;
        }

    }

}

3.l 定义sym方法,判断数组中的元素值是否对称.

  1. 定义一个堆成数组和一个不对称的数组
  2. for循环中定义一个最小下标和最大下标,循环中进行第一个值和最后一个值进行比较
  3. 外部定义一个count记录下标,如果第一个和最后一个相等count就加一
  4. 最后判断count是否为数组长度的一半,如果是,数组就是对称的,如果不是,数组就不是对称的
public static void main(String[] args) {
    int [] arr1=new int[]{1,2,3,4,3,2,1};
    int [] arr2=new int[]{1,2,3,4,5,2,1};
    boolean sym1 = sym(arr1);
    boolean sym2 = sym(arr2);
    System.out.println("是否对称"+sym1);
    System.out.println("是否对称"+sym2);
}

public static boolean sym(int[] intArray) {
    int count = 0;
    for (int min = 0, max = intArray.length -1 ; min < max; min++, max--) {
        if(intArray[min] == intArray[max])
            count++;
    }
    if(count == intArray.length/2)
        return true;
    else
        return false;
}

3.l 定义equals方法,比较数组内容是否完全一致。

  1. 思路,定义两个数组,
  2. 先进性数组长度的比较
  3. 在进行数组中元素比较
public static void main(String[] args) {
    int []arr=new int[]{1,2,3,4,5};
    int []arr1=new int[]{1,2,4,3,4,5};
    boolean equals = equals(arr, arr1);
    System.out.println("两数组是否相等"+equals);
}
public static boolean equals(int[] arr1, int[] arr2) {
    //判断数组长度是否相等
    if(arr1.length == arr2.length) {
        //判断数组内容是否相等
        for (int i = 0; i < arr1.length; i++) {
            if(arr1[i] != arr2[i])
                return false;
        }
        return true;

    }else
        return false;
}

4.l 字符数组:{‘a’,‘l’,‘f’,‘m’,‘f’,‘o’,‘b’,‘b’,‘s’,‘n’}定义printCount方法,统计每个字符出现的次数并打印到控制台

  1. 思路:定义每个数组对应的下标,循环判断如果出现了,对应的数组下标就加一
public static void main(String[] args) {
    char[] charArray = {'a','l','f','m','f','o','b','b','s','n'};
    printCount(charArray);
}
public static void printCount(char[] charArray) {
    //同理其他字母也通过以下方法进行统计
    int countA = 0, countL = 0, countF = 0, countM = 0, countO = 0, countB = 0, countS = 0, countN = 0;
    for (int i = 0; i < charArray.length; i++) {
        if(charArray[i] == 'a')
            countA++;
        else if(charArray[i] == 'l')
            countL++;
        else if(charArray[i] == 'f')
            countF++;
        else if(charArray[i] == 'm')
            countM++;
        else if(charArray[i] == 'o')
            countO++;
        else if(charArray[i] == 'b')
            countB++;
        else if(charArray[i] == 's')
            countS++;
        else if(charArray[i] == 'n')
            countN++;
    }
    System.out.println("a--" + countA);
    System.out.println("l--" + countL);
    System.out.println("f--" + countF);
    System.out.println("m--" + countM);
    System.out.println("o--" + countO);
    System.out.println("b--" + countB);
    System.out.println("s--" + countS);
    System.out.println("n--" + countN);

}

学习心得

今日的内容是复习,老师讲解了关于数组的操作,如数组的插入新数字,数组的倒叙输出,加入数字到数组中的第一位,数组的移位,等等。

经过了今天的学习,更加的了解了数组,对数组的操作更加的熟练了,为以后打下了更加坚实的基础。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值