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

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

把题教出来{:2_40:}
回复 使用道具 举报
回帖领题
回复 使用道具 举报
lwj123你好,我是新手,怎么领题???快教教我,我要领题
回复 使用道具 举报
我来领题!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
227#
拿题领分!感谢!
回复 使用道具 举报
看看能不能捞一把
回复 使用道具 举报
题目一:求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 编辑

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