JAVA字符串分页

最近搞一个新闻系统,有些文章过于长,所以领导要求一个新闻的内容分页,其实就是长字符串分页!上网找了找,自己改了改 做个记录 代码如下:

public class StringPager {

/** 当前页码数 */
private int currentPage = 1;

/** 需要分页的长字符串 */
private String text;

/** 每页显示字符数, 默认为 200 */
private int sizePerPage = 200;

/** 总页数 */
private int totalPage;

/**
*
*/
public StringPager() {
}

/**
* 返回当前页的字符串.
*
* @return
*/
public String getCurrentPagedText() {
try {
if (getCurrentPage() < getTotalPage()) {
return getText().substring(
(getCurrentPage() - 1) * getSizePerPage(),
getCurrentPage() * getSizePerPage());
} else if (getTotalPage() > 0) {
return getText().substring(
(getCurrentPage() - 1) * getSizePerPage());
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

/**
* @return Returns the 当前页码数.
*/
public int getCurrentPage() {
if (currentPage <= 0)
currentPage = 1;

return currentPage;
}

/**
* 设置当前页码, 从 1 开始.
*
* @param currentPage
* The 当前页码数 to set.
*/
public void setCurrentPage(int currentPage) {
if (currentPage <= 0) {
currentPage = 1;
}
this.currentPage = currentPage;
}

/**
* @return Returns the 总页码数, 如果没有数据, 就返回 1.
*/
public int getTotalPage() {
if (getText() == null)
totalPage = 0;
totalPage = (int) Math
.ceil(1.0 * getText().length() / getSizePerPage()); // 总页面数

if (totalPage == 0)
totalPage = 1;

return totalPage;
}

/**
* @param totalPage
* The totalPage to set.
*/
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}


/**
* @return Returns the 每页显示字符数.
*/
public int getSizePerPage() {
return sizePerPage;
}

/**
* @param sizePerPage
* The 每页显示字符数 to set.
*/
public void setSizePerPage(int sizePerPage) {
this.sizePerPage = sizePerPage;
}

/**
* @return Returns the 需要分页的长字符串.
*/
public String getText() {
return text;
}

/**
* @param text
* The 需要分页的长字符串 to set.
*/
public void setText(String text) {
this.text = text;
}

public static void main(String[] args) {
StringPager pager = new StringPager();
pager.setSizePerPage(5);
pager.setText("12345678901");
pager.setCurrentPage(1);

System.out.println(pager.getTotalPage());
System.out.println(pager.getCurrentPagedText());
}
}

以上为全部代码


public static void main(String[] args) {
StringPager pager = new StringPager();
pager.setSizePerPage(5);
pager.setText("12345678901");
pager.setCurrentPage(1);

System.out.println(pager.getTotalPage());
System.out.println(pager.getCurrentPagedText());
}
}

测试代码,细心的人,一看就会使用了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值