某项查询执行之后,n 条结果,单页显示 m 条记录,第 i 页显示第几条到第几条。
用if实现(自己的学习过程记录)
System.out.println("请输入数据总条数:");
Scanner s1 = new Scanner(System.in);
int n = s1.nextInt();//数据总条数
System.out.println("单页显示多少条:");
Scanner s2 = new Scanner(System.in);
int m = s2.nextInt();//单页共显示多少条数据
System.out.println("您想查询第几页:");
Scanner s3 = new Scanner(System.in);
int i = s3.nextInt();//第几页
//i*m--->该页时所占的空间(也可以表示空间在填充满时该的最后一条数据)
//(i*m)-m+1--->该页的第一条数据
if(i<=n/m+1){//n/m+1--->共计多少页
if(n%m==0){//当单页完全被填充时
System.out.println("第"+i+"页时显示第 "+((i*m)-m+1)+" 条到 "+i*m+" 条");
}else if(n%m!=0){//当单页没有被填充满时
System.out.println("第"+i+"页时显示第 "+((i*m)-m+1)+" 条到 "+((i*m)-m+(n%m))+" 条");
}else if(((m*i)-m+1)==n){//当单页只多出一条数据时(依然需要占用一页,这里单独写出来是因为打印的内容有所不同)
System.out.println("第"+i+"页的第一条数据为 "+((i*m)-m+1));
}
}else{
System.out.println("所查询的页数不在该数据范围之内");
}