Java abstract类的基本使用 和 [abstract类实现]打印1000以内的所有素数并输出时间...

笔记:

/** 关键字abstract  ,实现抽象类,相当于给出类的大纲,子类只管继承,但抽象类不可被实例化!
 * 1.抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写所有的抽象方法.
 *
 * 2.abstract模板方法设计模式--
 *    抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展/改造,
 *    但子类在总体上会保留抽象类的行为方式.
 */

 

代码:

package Coding;

public class Main_of_Coding {  //TestAbstract
    public static void main(String[] args) {
        new SubTemple().spendtime();   //[abstract类实现]打印1000以内的所有素数并输出时间
    }
}
abstract class Temple{
    public abstract void code();   //这个方法抽象,需要重写
    public void spendtime(){      //这个方法不抽象,不用重写
        long start =System.currentTimeMillis();
        this.code();
        long end=System.currentTimeMillis();
        System.out.print("cost time is: "+ (end-start));
    }
}
class SubTemple extends Temple{
    @Override
    public void code() {
        boolean f=false;
        for(int i=2;i<=1000;i++){
            for(int j=2;j<=Math.sqrt(i);j++){
                if(i%j==0){
                    f=true;
                    break;
                }
            }
            if(!f){
                System.out.print(" "+i);
                if(i%10%7==0) System.out.println();
            }
            f=false;
        }
    }
}

 

结果:   (最后一位为7的话自动换行)

 2 3 5 7
 11 13 17
 19 23 29 31 37
 41 43 47
 53 59 61 67
 71 73 79 83 89 97
 101 103 107
 109 113 127
 131 137
 139 149 151 157
 163 167
 173 179 181 191 193 197
 199 211 223 227
 229 233 239 241 251 257
 263 269 271 277
 281 283 293 307
 311 313 317
 331 337
 347
 349 353 359 367
 373 379 383 389 397
 401 409 419 421 431 433 439 443 449 457
 461 463 467
 479 487
 491 499 503 509 521 523 541 547
 557
 563 569 571 577
 587
 593 599 601 607
 613 617
 619 631 641 643 647
 653 659 661 673 677
 683 691 701 709 719 727
 733 739 743 751 757
 761 769 773 787
 797
 809 811 821 823 827
 829 839 853 857
 859 863 877
 881 883 887
 907
 911 919 929 937
 941 947
 953 967
 971 977
 983 991 997
cost time is: 30

 

转载于:https://www.cnblogs.com/zhazhaacmer/p/9780338.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值