A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chaojiwudi 中级黑马   /  2016-3-31 19:19  /  8306 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

36黑马币
也就是1到1000内所有9的个数  详细 ,急用 考试用的: 要有步骤最好

28 个回复

正序浏览
肯定要个十百千位上有9的提出来,再定义count让他++
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
Rhwan 中级黑马 2017-1-10 18:26:41
27#
可以用正则表达式,也可以用String的contains。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
Max灬xu 发表于 2016-3-31 21:28
600个  代码已上传

不是300个么?
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
这个看你学到哪了,如果学了string这个类    会有很多种方法的
回复 使用道具 举报
确实学到了
回复 使用道具 举报
我现在所学,只能看明白9楼的思路
回复 使用道具 举报
回答中提供了很多实现的方法和思路,学习了
回复 使用道具 举报
Ak-47 发表于 2016-4-1 02:29
public class Demo2 {
        public static void main(String[] args) {
                int count = 0 ;

亲,不好意思你的答案是错的.   题目是 1-1000 所有9出现的次数,比如999 就是3次了. 你这个条件 只会进行1次判断喔.
回复 使用道具 举报
{:2_33:}hhhhhh
回复 使用道具 举报
class Demo{ // 类名

        public static void main(String[] args) {
                /*
                        分析:1到1000内的所有9的个数有个位、十位、百位
                        那么只要取出个位、十位、百位上的9也就是他们分别出现的次数
                        就是9的个数。

                        1.定义三个变量用来分别求个位、十位、百位
                        2.用for循环来遍历1到1000内所有的数
                        3.将个位、十位、百位每次出现的9进行累加
                        4.最后把所有出现的9的次数进行相加就是9的个数。
                */
                int a=0;
                int b=0;
                int c=0;
                for(int i=0;i<1000;i++){
                        //取出个位
                        if(i%10==9)
                                a++;
                        if(i/10%10==9)
                                b++;
                        if(i/100%10==9)
                                c++;
                }
                System.out.println(a+b+c);
       }
}
回复 使用道具 举报
Ak-47 发表于 2016-4-1 02:29
public class Demo2 {
        public static void main(String[] args) {
                int count = 0 ;

,,,,,,,,,,,,,,
回复 使用道具 举报
public class Demo2 {
        public static void main(String[] args) {
                int count = 0 ;
                for (int i = 0; i <= 1000; i++) {
                        if (i % 10 == 9 | i / 10 % 10 == 9 | i / 10 / 10 % 10 ==9 ) {
                                count++;
                        }
                }
                System.out.println(count);
        }
}
新手写的一个,不知道对不对,大神品论下,轻喷啊
回复 使用道具 举报
学习了..................
回复 使用道具 举报
写一个循环,进行遍历、去判断
回复 使用道具 举报
请查收

Demo.zip

744 Bytes, 下载次数: 179

回复 使用道具 举报
送你一个更强大的.....

day0330_test1.zip

7.49 KB, 阅读权限: 100, 下载次数: 0

回复 使用道具 举报
public class GetCountFor9 {

        public static void main(String[] args) {               
                System.out.println("1~1000之间9出现的次数为:" + getCount());

        }
       
        public static int getCount(){
                int ge = 0;
                int shi = 0;
                int bai = 0;
               
                for (int i = 1;i < 1000;i++){
                        //个位
                        if (i % 10 == 9){
                                ge ++;
                        }
                        //十位
                        if (i / 10 % 10 == 9){
                                shi ++;
                        }
                        //百位
                        if (i / 100 % 10 == 9){
                                bai ++;
                        }
                       
                }
               
                return ge + shi + bai;
        }
}
回复 使用道具 举报
Max灬xu 发表于 2016-3-31 21:28
600个  代码已上传

这是个2000个数字的  改一下就行
回复 使用道具 举报
10楼的思路不错顶
回复 使用道具 举报
zhangtaocg 来自手机 中级黑马 2016-3-31 21:44:38
9#
提供个思路,把0-1000中的数遍历,然后转化为字符串,然后用正则表达式匹配
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马