例如: 共 n=11 条结果,单页显示 m=3 条
当 i = 1 时,显示第 1 条 到第 3 条
当 i= 2 时,显示第 4 条 到第 6 条
Java基础技术:分支结构和运算符
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入总条数:");
int n = sc.nextInt();// n 总条数
System.out.println("请输入每页显示的条数");
int m = sc.nextInt();// m 每页的条数
System.out.println("请输入查询的页数:");
int i = sc.nextInt();// i 查询的页数
//int n = 11;
//int m = 3;
if(m==n && i>1){//总条数在一页显示的情况下,查询第二页就会超出范围
System.out.println("所有数据在一页显示");
}else{
if(((i*m)/m) > (n/m+1)){
//查询的页数 * 每页的条数 / 每页的条数 例:(4*3)/3 = 4
//总条数 / 每页的条数 11/3+1 3+1 4(11条数据只能显示4页) 想查第5页看图1
System.out.println("查询的页数超出范围!");
}else{
if(m*i<=n){
//m*i<=n 3*4<=n 每页的条数 * 查询的页数 是否 小于等于 总条数 (小于等于 执行)
System.out.println((i-1)*m+1+"~~"+i*m);
}else if(m*i > n && ((i*m)/m) >= (n/m+1)){
//(每页的条数 * 查询的页数) 大于 总条数 并且
//(查询的页数 * 每页的条数 / 每页的条数) 大于 (总条数 / 每页的条数)+1 --最后一条数据有空余条数的处理
System.out.println((i-1)*m+1+"~~~"+n);
}else{
System.out.println("查询的页数超出范围!");
}
}
}
}
}
例:
图1
博主自己的思路,仅供参考!