本帖最后由 yaolv7 于 2016-4-4 11:53 编辑
java基础视频前4天的内容,实现题目代码
分析以下需求,并用代码实现:
(1)打印1到任意整数之内不包含数字9的整数及个数
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如:1 2 3 4 5
- /*
- 分析:
- 1、获取任意一个整数每一个位的值
- 2、把获取到的每个值和9对比,只要其中一位相等,就能把这个数排除
- 3、定义一个计数器,记录输出的整数个数
- ...
- 1987 % 10 = 7
- 1987 / 10 % 10 = 8
- 1987 / 10 / 10 % 10 = 9
- ...
- */
-
- class Demo_01_PrintInt {
- public static void main(String[] args) {
- PrintNum(10);
- }
- public static void PrintNum(int a) {
- int count = 0; // 定义一个记数器
- outer: for (int i = 1; i <= a; i++) { // 外循环标号为 outer
- for (int k = 1; k <= i; k *= 10) { // 内循环中,循环后的操作表达式定义为 k*= 10
- if ((i / k) % 10 == 9) // 对比 i 每一个位的值,有值为 9 时 , 中断这次外循环
- continue outer; // 排除 i 这时的值 , 继续下一次外循环
- } // 内循环结束处
- System.out.print(i + "\t"); // 如果 i 中没有值为 9,则输出语句 i 的值,计数器自增
- count++;
- if (count % 5 == 0) // 当计数器值 %5 == 0 的时候,换行
- System.out.println();
- } // 外循环结束处
- System.out.println("\n 从1到" + a + "之内不包含9的数共有:" + count + "个");
- }
- }
复制代码
心酸,新人发个帖子各种问题呐 1,发上去码没了
2,代码显示乱
3,自动排版不能用呀,点了没反应
|