1. 程式人生 > >一個分頁的小演算法,分頁中間有數字的那種

一個分頁的小演算法,分頁中間有數字的那種

public class PageNumber {
public static String GetPage(String url, int pageindex, int pagesize,
int pagecount, int pagemaxvalue) {
int _pagenumber = 0;
int pagemin = 0;
if (pagesize <= 0)
pagesize = 1;

_pagenumber = (pagecount + pagesize + 1) / pagesize;

if (pagesize > _pagenumber)
pagesize = _pagenumber;
if (pageindex <= 0)
pageindex = 1;

int min = (_pagenumber - pagemaxvalue) > 0 ? _pagenumber - pagemaxvalue
+ 1 : 1;
int space = pagemaxvalue / 2;
pagemin = (pageindex < min) ? pageindex : min;
if (pagemin > 1) {
for (int _min = 1; _min <= space; _min++) {
if (pagemin > 1)
pagemin = (pageindex - _min) < pagemin ? pageindex - _min
: pagemin;
else
break;
}
}
if (_pagenumber <= 1)
return "";

String output = "";
output += "<div class=\"page\">";
int pagemax = (pagemin + pagemaxvalue) <= _pagenumber ? pagemin+ pagemaxvalue : _pagenumber + 1;

output += String.format("<span><a href=\"%s\">第一頁</a></span>", String.format(url, 1));
output += String.format("<span><a href=\"%s\">上一頁</a></span>", String.format(url, (pageindex - 1) > 0 ? (pageindex - 1) : 1));
for (int i = pagemin; i < pagemax; i++) {
output += String.format("<span><a href=\"%s\"%s>" + i
+ "</a></span>", String.format(url, i),
(pageindex == i) ? "class=\"current\"" : "");
}
output += String.format("<span><a href=\"%s\">下一頁</a></span>", String
.format(url, ((pageindex + 1) < _pagenumber) ? pageindex + 1
: _pagenumber));
output += String.format("<span><a href=\"%s\">最後一頁</a></span>", String
.format(url, _pagenumber));
output += "</div>";
return output;
}
}


相關推薦

一個演算法中間數字那種

public class PageNumber { public static String GetPage(String url, int pageindex, int pagesize, int pagecount, int pagemaxvalue) { int _p

一個有意思的故事希望以後也這種修養也能這樣厚道

而後 離開 十大 正在 一個 說道 給他 為什麽 我們 清朝的時候,常州有一個魏廉訪,他的父親是個醫生,樂善好施。 有一次魏老先生被請往一病人家中治病。 他離開後,病人發現藏在枕頭下的十兩銀子不見了。 病人的的兒子,懷疑是魏老先生拿了,就到老先生家,對他說:&ldqu

js元件關於回撥

前端隨便弄了個靜態頁面,用文字寫了個分頁,所以自己修改介面和js,臨時做了個分頁小外掛 因為頁面是用tab頁組成,頁面好幾個tab公用一個分頁元件,但是分頁的按鈕點選事件只有一個, 每個tab傳送一個ajax請求,獲取資料後(資料展示省略),呼叫方法 /** data:a

hdu 3183 A Magic Lamp(給一個n位的數從中刪去m個數字使得剩下的數字組成的數最(順序不能變)然後輸出)

urn scan eight sca query names efi family 題目 1.題目大意是,給你一個1000位的數,要你刪掉m個為,求結果最小數。 思路:在n個位裏面刪除m個位。也就是找出n-m個位組成最小數 所以在區間 [0, m]裏面找

看到一個詞語提取工具分享給標簽、詞庫需求的同學們

詞庫 搜索 新詞發現 標簽 自然語言處理 關於詞語小工具的描述快戳下面鏈接~~~ https://forum.huaweicloud.com/thread-8391-1-1.html 不想看文章,想立即試用小工具的,請戳下面~~~http://fe2e6fd859034d40a3269f7

只有“一個字”的標題易記又耐讀讓人拍手稱贊

成長 基本 有一個 教育 領導力 標桿 ron 總結 衡量 “一字”一標題,易記又耐讀!選萃12個單字標題,可用於總結成果、列明措施和梳理經驗。所謂“一個字”,並非僅有一個字,而是每個小標題都突出“一個字&rdqu

給18萌新的一個有趣的問題取石子問題

題目描述: 現在地上橫著一排放了N堆石頭(N是偶數),每一堆石頭的個數不確定(但是總數和為奇數)。 然後兩個人輪流取石頭,規則是一次只能取一堆,而且只能取首位,最後誰拿到的石頭多誰取勝,請問如果你先手的話,你是否有一個必勝的策略? 題解: 答案當然是有的,那麼這個思路是怎麼樣的呢

Recylerview網格佈局割線的實現列表四周也割線

關於RecylerView分割線的問題,當佈局形式為線性佈局LinearLayoutManager的時候, 官方提供了一個定義好的分割線類DividerItemDecoration,但是當佈局形式為網格佈局GridLayoutManager的時候,官方沒有提供分割線的相關類,

使用DelayQueue模擬一個超時的場景進行編碼!

package com.bfxy.thread.core.mycollection; import java.util.concurrent.DelayQueue; /** * 模擬一個駕校學員簽到簽退的場景 */ public class Jiaxiao imple

作為一個零基礎該如何高效率的學習Java技術呢?

Java程式設計是一個技術活,沒有專業知識,那是行不通的。這也決定了程式設計師的不可替代性,不是你隨便招一個人就可以立馬開工。 很多人在轉行跨界去接觸一個自己從來不懂的行業時往往內心充滿了恐懼,也許會高估了這個行業的難度,當然Java程式設計行業的難度還是有的,不是誰都能隨隨便便成功。

發現一個有趣的程式可以控制系統聲音播放音樂

網上無意中發現的,在這裡存一存程式碼: 可以控制系統的電子聲播放音樂 #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #incl

如何實現在一個activity的基礎上點選一個按鈕彈出一個新的activity不覆蓋以前的activity

辦法: manifest中 註冊那個跳轉的activity的裡邊加上  android:theme="@android:style/Theme.Dialog"   將activity變成對話方塊。 那個,對話方塊可以自己定義麼?比如大小,介面風格 可以 http:

最近又搞了一個51的玩意出入管理系(DS1990ALCD1602AT24C02DS1302)

其實就是一個簡單的門禁,不過這當中有用到DS1990A,DS1302,AT24C02,裡面的時序部分還是有一定考究,有I2C,SPI。顯示用的是LCD1602簡單方便你懂得。 #include <reg51.h> #include <intrins

C語言/C++程式設計題 之 時鐘(針追趕時針針與時針相遇次數問題)

題目描述 有一個標準的12小時時鐘,它有一個時針,一個分針。現問你,在給定的兩個時刻之間分針與時針相遇幾次? 輸入 輸入包含多組測試資料。每組輸入包含4個整數,前兩個數字分別表示起始時刻的小時和分,後兩個數字分別表示結束時刻的小時和分。 小時數在[1,12]

Scratch中做一個簡單迷宮遊戲值得您收藏!

“ 孩子們都喜歡從彎彎繞繞中體驗冒險與成功,如果讓孩子參與迷宮設計,在組合排列中設計一條又一條“道路”,他的思維一定可以得到極大的鍛鍊,其中的成就感也是不言而喻的。”01——效果展示—---Scratc

利用Python制作一個連連看遊戲邊學邊玩!

ffffff 生成 判斷 fab 精靈類 簡介 用戶 之間 自帶 導語 今天我們將制作一個連連看小遊戲,讓我們愉快地開始吧~ 開發工具 Python版本:3.6.4 相關模塊: pygame模塊; 以及一些Python自帶的模塊 環境搭建 安裝Python並添加到環境變量,

一個線上排版工具:中文、英文、數字、符號中間加個空格

我一直相信這個世界是懶人創造的。 大家如果仔細看我的文章,會發現一個有趣的地方。就是數字、英文和中文之間會多一個空格,比如 1 是數字,1 兩邊有空格。如果你再仔細觀察,微信文字訊息的排版風格也是這樣,不信你試試。 這個排版的風格是師從 stormzhang,包括微信整個排版風格都跟他差不多,只是我比較喜歡在

十年前你鍵盤十年後我OCR

      當前,國內網際網路已成功進入大資料雲端計算時代,與人工智慧技術相輔相成。新的科學技術、新的智慧應用源源不絕,不斷衝擊行業傳統結構,促使產業服務更新換代。       以人工智慧文字識別為例,十年前,辦公室紙質文件數字化還在依賴人工手動錄入,發展到現在,絕大多數

建立向圖的鄰接表深度優先遍歷和廣度優先遍歷的遞迴與非遞迴演算法判斷是否是向無環圖並輸出一種拓撲序列

/*(1)輸入一組頂點,建立有向圖的鄰接表,進行DFS(深度優先遍歷)和BFS(廣度優先遍歷)。 寫出深度優先遍歷的遞迴和非遞迴演算法。 (2)根據建立的有向圖,判斷該圖是否是有向無環圖,若是,則輸出其一種拓撲有序序列。*/ #include<stdio.h>