Day 3

第三天作业

1.计算1-100以内所有奇数的和以及所有偶数的和,分别打印出来。

@Test
    public void getSum(){
        int odd = 0;//奇数
        int even = 0;//偶数
        for(int i = 1; i <= 100; i++){
           if (i % 2 == 0){
               even += i;
           }else{
               odd += i;
           }
        }
        System.out.println(odd);//2500
        System.out.println(even);//2500
    }

2.用for循环输出1—1000之间能被5整除的数,且每行输出3个

@Test
    public void getSum(){
        int num = 0;
        for (int i = 1; i <= 1000 ; i++) {
            if (i % 5 == 0) {
                System.out.print(i + " ");
                num++;
            }
            if (num == 3){
                System.out.println();
                num = 0;
            }
        }
    }

结果展示:

在这里插入图片描述

3.计算9的阶乘

@Test
    public void getFactorial(){
        int product = 1;
        for(int i = 1; i <= 9; i++){
            product *= i;
        }
        System.out.println(product);//362880
    }

4.使用循环打印100-200之间所有的素数(只能被1和自己整除的数叫素数)

方法一:(普通求解)
@Test
    public void ordinaryGetPrimeNumber(){
        for(int i = 100; i <= 200 ;i++){
            Boolean isPrime = true;
            for(int j = 2; j < i ;j++){
                if(i % j == 0){
                    isPrime = false;
                    break;
                }
            }
            if (isPrime)
                System.out.println(i);
        }
    }

结果展示:

在这里插入图片描述

方法二:(优化求解)
@Test
    public void getPrimeNumber(){
        for(int i = 100; i <= 200 ;i++){
            Boolean isPrime = true;
            for(int j = 2; j <= Math.sqrt(i) ;j++){
                if(i % j == 0){
                    isPrime = false;
                    break;
                }
            }
            if (isPrime)
            System.out.println(i);
       }
    }

结果展示:

在这里插入图片描述

数组

作业:

1.int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};

求出上面数组中0-9分别出现的次数
双重for循环

   public void getSum(){
        int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
        int[] getNum = new int[10];
        int number;
        for (int i = 0; i <= 9; i++) {
            number = 0;//计数
            for (int j = 0; j < scores.length; j++) {
                if(scores[j] == i){
                    getNum[i] = ++number;
                }
            }
        }
        for (int i = 0; i < getNum.length; i++) {
            System.out.println(i + "出现: " + getNum[i] + "次" );
        }
    }

结果展示:

在这里插入图片描述

2.判断回文

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。(此处稍作修改,减少麻烦)

   @Test
    public void isPalindrome(){
        char[] array = {'1','2','3','2','1'};
        int firstIndex = 0;
        int lastIndex = array.length - 1;
        Boolean isPalindrome = true;
        while(firstIndex < lastIndex){
            if (array[firstIndex] != array[lastIndex]){
                System.out.println("不是");
                isPalindrome = false;
                break;
            }

            firstIndex++;
            lastIndex--;
        }
        if (isPalindrome)
        System.out.println("是");
        //打印“是”
    }

3.输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。

@Test
    public void count(){
        String str = "hello world 123546 /.,.";
        int cases =  0;
        int numbers = 0;
        int space = 0;
        int elses = 0;
        for(int i = 0; i < str.length(); i++){
            if (str.toLowerCase(Locale.ROOT).charAt(i) >= 'a' && str.toLowerCase(Locale.ROOT).charAt(i) <= 'z'){
                cases++;
            }else if(str.charAt(i) >= '1' && str.charAt(i) <= '9'){
                numbers++;
            }else if(str.charAt(i) == ' '){
                space++;
            }else{
                elses++;
            }
        }
        System.out.println("字母" + cases + "数字" + numbers + "空格" + space + "其他" + elses);
    }

结果展示:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值