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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lwj123   /  2015-4-17 20:54  /  18203 人查看  /  284 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

lwj123你好,我是新手,怎么领题???快教教我,我要领题

点评

回帖即可  发表于 2015-4-19 18:39
回复 使用道具 举报
我来领题!111
回复 使用道具 举报
结果是192个0;
public class Test1 {
        public static int count = 0;
        public static void main(String[] args) {
                for(int i=1;i<=1000;i++){       
                        if(i>=1000 && i%1000<100){
                                count++;
                        }
                        if(i>=100 && i%100<10){
                                count++;
                        }
                        if(i%10==0){
                                count++;
                        }
                }
                System.out.println(count);
        }
}


先return再finally
或者说先return后finally然后又return。
public class Test1 {
        public static void main(String[] args){
                System.out.println(test());
        }
       
        public static int test(){
                int x;
                try{
                        x=1;
                        return x;
                }finally{
                        x=3;
                }
        }
}
回复 使用道具 举报
领题!!!
回复 使用道具 举报
joyjio 来自手机 中级黑马 2015-4-19 13:59:45
225#
拿题领分!感谢!
回复 使用道具 举报
看看能不能捞一把
回复 使用道具 举报
题目一:求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
/*我们不能把它们都乘起来得出结果后再去不断%10,因为这个积太大了,我们所学的数据类型根本装不下。那么就从结果去分析:包含多少个0也就意味着看每个数是否能被10整除,或者数的积能否被10整除。%10的等于0的情况有两种:以0结尾的数或者以结尾为2和结尾为5的数的积的值。也就是说我们找到能够%10==0或者%5==0的数,把它们的个数相加即可,之所以不是%2,是因为能够%5的话,肯定之前的所有的数的积能够整除10,而%2却不一定,比如1到10,1*2的积不能够整除10,而1*2*3*4*5的积是可以%10的。也就是说我们这样去写程序,判断每个数是否%10或%5等于0,是的话计数器+1;在判断这个数是否%100等于0,是的话再+1.。。。如此类推。
*/
class ArithDemo
{
        public static void main(String[] args)
        {
                System.out.println(numsOfZero(1000));
        }

        public static int numsOfZero(int num)
        {
                int x=1,count=0;
                while(x<=num)
                {                       
                        if(x%10==0 || x%5==0) count++;
                        if(x%100==0) count++;
                        if(x%1000==0) count++;
                        x++;
                }
                return count;
        }
}
题目二:
/*
需求:用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
*/

class  TryFinallyDemo
{
        public static void main(String[] args)
        {
                System.out.println(returnValue1());                //返回30
                System.out.println(returnValue2());                //返回20
                System.out.println(returnValue3());                //返回20
                System.out.println(returnValue4());                //返回30

/*
根据这四种不同情况可以得出:
用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行finally?一般我们认为是在return之前执行,但是更细点说,是在return中间执行。从returnValue3中可以看出,结果返回的是20,这似乎说明finally中的代码没有执行。但是从returnValue1方法返回30看出,finally确实比try中的return先执行,这岂不是自相矛盾。但是仔细想一下,其实它们是这样执行的:当执行到try中的return语句时,先用一个记录器暂时记录下返回的结果,然后执行finally中的代码,finally中如果对num重新赋了值,且有return返回,那么最终结果是重新赋值后的结果。如果finally中光赋了值,但是没有返回,num值虽然变了,但是由于没有返回,所以return记录器中的值还是之前的值。
*/
        }

        public static int returnValue1()
        {
                int num=10;
                try{
                        num=20;
                        return num;
                }
                finally{
                        num=30;
                        return num;
                }
        }

        public static int returnValue2()
        {
                int num=10;
                try{
                        num=20;
                        return num;
                }
                finally{
                        return num;
                }
        }

        public static int returnValue3()
        {
                int num=10;
                try{
                        num=20;
                        return num;
                }
                finally{
                        num=30;                       
                }
        }

        public static int returnValue4()
        {
                int num=10;
                try{
                        return num;
                }
                finally{
                        num=30;
                        return num;
                }
        }
}
回复 使用道具 举报
领题来咯
回复 使用道具 举报
题目在哪?
回复 使用道具 举报
题在哪里?~~~
回复 使用道具 举报

已删除 。

本帖最后由 旺丶财 于 2015-4-19 16:00 编辑

已删除 。
回复 使用道具 举报
这个~对学渣来说太难~
回复 使用道具 举报
对不起,发错地方了,怎么删除?
回复 使用道具 举报
怎么删除回复 求告知
回复 使用道具 举报
领题  第一次参加
回复 使用道具 举报
几点开始送技术分啊?
回复 使用道具 举报
我要答题
回复 使用道具 举报
领题。。。
回复 使用道具 举报
领题,学习一下
回复 使用道具 举报
领题学习一下,长长知识
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马