作业要求
为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;
}
}