每日作业20200508 - 判断 0~n 之间有多少个 5

题目

输入一个整数 (-1000~1000), 判断 【0 ~ 该数】之间有多少个5
    样例输入: 100
    样例输出: 20
   

分析

0 ~ 100 之间,共有 205
5   15  25  35  45  50  51  52  53  54  55  56  57  58  59  65  75  85  95

代码

import java.util.Scanner;

public class Homework0508 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int num = sc.nextInt();     //接受用户输入
        int count = judge(num);     //调用方法并接受
        System.out.println("0 ~  " + num + "  之间有  " +  count + "  个 5");  //输出
    }

    //判断
    public static int judge(int num) {
        int count = 0;  //计数器
        int temp = 0;	//临时变量
        for(int i = 0; i <= Math.abs(num); i++){    //对num取绝对值
            int j = i;      //while循环变量
            while(j != 0) {     //循环条件
                temp = j % 10;  //取模,即判断个位数
                if (temp == 5) {
                    count++;    //计数器加1
                }
                j = j / 10;     //对变量更新,去掉个位数
            }
        }
        return count;   //返回计数器
    }

}

运行结果

请输入一个整数:100
0 ~  100  之间有  205

说明

	//嵌套循环的变量不能相同,否则会死循环
	//while循环结束条件为:循环变量 i=0;
	//之后i++ =1;陷入死循环
	int count = 0;
        for(int i = 0; i <= 100; i++) {    //对num取绝对值
            System.out.println("i = " + i);
            while (i != 0) {     //循环条件
                int temp = i % 10;  //取模,即判断个位数
                if (temp == 5) {
                    count++;    //计数器加1
                }
                i = i / 10;     //对变量更新,去掉个位数
            }
            System.out.println( "count = " + count);
        }

运行结果

i = 0
count = 0
i = 1
count = 0
i = 1
count = 0
i = 1
count = 0
...
...
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值