美文网首页天码营java基础
第10课 静态变量与静态方法

第10课 静态变量与静态方法

作者: BL觉醒 | 来源:发表于2017-10-03 14:45 被阅读0次

    作业要求
    为Post类增加一个静态变量,命名为DEFAULT_TITLE,表示默认的标题,初始化为“这是一篇未命名博客”
    在三个构造函数中,如果title为空(连续的空格也视为空)或者null,则设置为默认标题

    ** 提示
    可使用trim()函数删除一个字符串中前后的空格;但是如果一个字符串为null,那么调用其任何函数(包括trim())将会抛出异常,你可以通过逻辑短路 来避免这一点。

    实现两个静态方法,传入参数的一个Post数组,其中一个方法基于Post的id
    值大小进行排序,另外一个方法基于Post的title的字母顺序进行排序。

    ** 提高
    排序算法可使用冒泡排序,其原理请参考[Wiki]https://zh.wikipedia.org/wiki/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F)

    package com.tianmaying;
    
    public class Post {
        private static Long a;
        private Long id;
        private static String b;
        private String title;
        private String content;
        private static String DEFAULT_TITLE = "这是一篇未命名博客";// your code here
    
        public String getContent() {
            return content;
        }
    
        public Long getId() {
            return id;
        }
    
        public String getTitle() {
            return title;
        }
    
        public Post() {
            if((title==null)||(title.trim().isEmpty())) {
                this.title = DEFAULT_TITLE;
                } else{
                    this.title = title;
                    }  // your code here
        }
    
        public Post(String title, String content) {
            if((title==null)||(title.trim().isEmpty())){
                this.title = DEFAULT_TITLE;
            } else{
                        this.title = title;
                        this.content = content;
            }
        }
            // your code here
    
    
        
        public Post(Long id, String title, String content) {
            if((title==null)||(title.trim().isEmpty())) {
                this.title = DEFAULT_TITLE;
            } else{
               this.id = id;
                this.title = title;
                this.content = content; 
                }
            }// your code here
    
    
        public void print() {
            System.out.println(this.id);
            System.out.println(this.title);
            System.out.println(this.content);
        }
    
        public static Post[] sortById(Post[] posts) {
            for(int i=0;i<posts.length-1;i++){
                for(int j=i+1;j<posts.length;j++){
                    if(posts[i].id > posts[j].id){
                    
                        a=posts[i].id;
                        posts[i].id=posts[j].id;
                        posts[j].id=a;
                        }
                    }
                }// your code here
    
            return posts;
        }
    
        public static Post[] sortByTitle(Post[] posts) {
            for(int i=0;i<posts.length-1;i++){
                for(int j=i+1;j<posts.length;j++){
                    if(posts[i].title.compareTo(posts[j].title)>0){
                        
                        b=posts[i].title;
                        posts[i].title=posts[j].title;
                        posts[j].title=b;
                        }
                    }// your code here
            }
            return posts;
        }
    }
    

    相关文章

      网友评论

        本文标题:第10课 静态变量与静态方法

        本文链接:https://www.haomeiwen.com/subject/qcqfyxtx.html