美文网首页天码营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