Java小练习

1.编写一个Java程序,输入一个月份和年份,输出该月有多少天,考虑闰年

Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个月份");
int mouth = scanner.nextInt();
System.out.println("请输入一个年份");
int year = scanner.nextInt();
switch (mouth){
    case 1:
        System.out.println("31天");
        break;
    case 2:
        //判断是否能被4整除,不能则不是闰年,能继续判断
        if (year%4==0){
            //判断是否能被100整除,不能是闰年,能继续判断
            if (year%100==0){
                //判断是否能被400整除,能则是闰年,不能则不是闰年
                if (year%400==0){
                    System.out.println("29天");
                }else {
                    System.out.println("28天");
                    }
                }else{
                    System.out.println("29天");
                }
            }else{
               System.out.println("28天");
            }
        break;
    case 3:
        System.out.println("31天");
        break;
    case 4:
        System.out.println("30天");
        break;
    case 5:
        System.out.println("31天");
        break;
    case 6:
        System.out.println("30天");
        break;
    case 7:
        System.out.println("31天");
        break;
    case 8:
        System.out.println("31天");
        break;
    case 9:
        System.out.println("30天");
        break;
    case 10:
        System.out.println("31天");
        break;
    case 11:
        System.out.println("30天");
        break;
    case 12:
        System.out.println("31天");
        break;
}

2.定义两个数组来存储整数,例如:array1 = {1, 3, 5, 7, 9}、array2 = {3, 5, 7, 11, 13}

        
    int[] array1 = {1, 3, 5, 7, 9};
    int[] array2 = {3, 5, 7, 11, 13};
//  int[] a = new int[5];
    //或
//  int[] a = new int[array1.length];
    //或
    //获取最小值
    int min = Math.min(array1.length,array2.length);
    int[] a = new int[min];
    //先进行升序排序
    Arrays.sort(array1);
    Arrays.sort(array2);
    //表示当前需要在a数组中保存数据的索引
    int i = 0;
//找出数组array1中的元素,这些元素也在数组array2中存在
//1.使用for循环遍历数组array1的所有元素。
//2.对于array1中的每个元素,使用Arrays.binarySearch()方法在数组array2中进行二分查找。
//如果找到了该元素(即返回值大于等于0),则将该元素添加到数组a中,并将索引i递增。
//3.当遍历完array1后,数组a中存储了所有在array1和array2中都存在的元素。
    for(int k = 0 ;k < array1.length; k++){
        if(Arrays.binarySearch(array2,array1[k]) >= 0){
            a[i] = array1[k];
            i++;
        }
    }
    for (int m = 0; m < i; m++) {
       System.out.print(a[m] + " ");
    }

3.用代码实现统计有多少种字母,以及每个字母的个数

//定义一个字符串str,内容为"atihhhfughwedckgg"。
String str = "atihhhfughwedckgg";
//创建一个HashSet对象set,用于存储字符串中的字符,自动去重。
Set<Character> set = new HashSet();
//使用for循环遍历字符串str的每个字符,将其添加到set中。
for(int i = 0; i < str.length(); i++){
    set.add(str.charAt(i));
}
//创建一个迭代器iterator,用于遍历set中的字符。
Iterator<Character> iterator = set.iterator();
//使用while循环遍历set中的每个字符。
while (iterator.hasNext()){
    //对于每个字符,初始化一个计数器count为0。
    int count = 0;
    char a = iterator.next();
//再次使用for循环遍历字符串str的每个字符,如果当前字符与迭代器中的字符相同,
//则将计数器count加1。
    for(int i = 0; i < str.length(); i++){
        if(a == str.charAt(i)){
            count++;
        }
     }
    System.out.println("字母 "+a+" 出现了 "+count+" 次");
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值