如题, 下面是小弟做的个控制台分页小程序但是总感觉哪里不对,望高手测试或者帮小弟优化下.
谢谢 o(∩_∩)o...
import java.util.Scanner;
public class TestFenye { /**
* @param args
*/
private static int a = 0; public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
TestFenye tf = new TestFenye();
while (true) {
String jj = sc.next();
if (jj.equalsIgnoreCase("n")) { tf.print(a);
a++; } else if (jj.equalsIgnoreCase("p")) {
a--;
tf.print(a);
} else if (sc.equals("0")) {
System.exit(0);
} else {
System.out.print("输入N转到下一页/输入P转到上一页");
}
}
}
public void print(int ii) {
int iii = ii;
int[] arr = new int[6];
for (int i = 0; i < 6; i = i + 1) {
arr[i] = i;
}
int count = arr.length; // 记录总的条数
int countpage;// 记录页面总数
int pagesize = 5;// 每个页面显示数量
if (count <= pagesize) {
System.out.println("这是最首页了~");
for (int j = 0; j < count; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 "+1+" 页");
} else if (count > (iii + 1) * pagesize) {
if (iii < 0) {
System.out.println("这是最首页了~");
for (int j = 0; j < pagesize; j++) {
System.out.println(arr[j]);
}
a = 1;
if(iii==-1){
iii=1;
}
System.out.println("这是第 "+iii+" 页");
} else {
for (int j = iii * 5; j < (iii + 1) * 5; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 "+(iii+1)+" 页");
}
} else {
System.out.println("这是末页了");
for (int j = count - (count%5); j < count; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 "+(iii+1)+" 页");
a = count / pagesize - 1;
} }
}
谢谢 o(∩_∩)o...
import java.util.Scanner;
public class TestFenye { /**
* @param args
*/
private static int a = 0; public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
TestFenye tf = new TestFenye();
while (true) {
String jj = sc.next();
if (jj.equalsIgnoreCase("n")) { tf.print(a);
a++; } else if (jj.equalsIgnoreCase("p")) {
a--;
tf.print(a);
} else if (sc.equals("0")) {
System.exit(0);
} else {
System.out.print("输入N转到下一页/输入P转到上一页");
}
}
}
public void print(int ii) {
int iii = ii;
int[] arr = new int[6];
for (int i = 0; i < 6; i = i + 1) {
arr[i] = i;
}
int count = arr.length; // 记录总的条数
int countpage;// 记录页面总数
int pagesize = 5;// 每个页面显示数量
if (count <= pagesize) {
System.out.println("这是最首页了~");
for (int j = 0; j < count; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 "+1+" 页");
} else if (count > (iii + 1) * pagesize) {
if (iii < 0) {
System.out.println("这是最首页了~");
for (int j = 0; j < pagesize; j++) {
System.out.println(arr[j]);
}
a = 1;
if(iii==-1){
iii=1;
}
System.out.println("这是第 "+iii+" 页");
} else {
for (int j = iii * 5; j < (iii + 1) * 5; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 "+(iii+1)+" 页");
}
} else {
System.out.println("这是末页了");
for (int j = count - (count%5); j < count; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 "+(iii+1)+" 页");
a = count / pagesize - 1;
} }
}
建议把if逻辑改为case结构,这样结构明了些~!
* @param args
*/
private static int a = 0; public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
TestFenye tf = new TestFenye();
while (true) {
String jj = sc.next();
if (jj.equalsIgnoreCase("n")) { tf.print(a);
a++; } else if (jj.equalsIgnoreCase("p")) {
a--;
tf.print(a);
} else if (sc.equals("0")) {
System.exit(0);
} else {
System.out.print("输入N转到下一页/输入P转到上一页");
}
}
} public void print(int ii) {
int iii = ii;
int[] arr = new int[6];
for (int i = 0; i < 6; i = i + 1) {
arr[i] = i;
} int count = arr.length; // 记录总的条数
int countpage;// 记录页面总数
int pagesize = 5;// 每个页面显示数量
if (count <= pagesize) {
System.out.println("这是最首页了~");
for (int j = 0; j < count; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 " + 1 + " 页");
} else if (count > (iii + 1) * pagesize) {
if (iii < 0) {
System.out.println("这是最首页了~");
for (int j = 0; j < pagesize; j++) {
System.out.println(arr[j]);
}
a = 1;
if (iii == -1) {
iii = 1;
}
System.out.println("这是第 " + iii + " 页");
} else {
for (int j = iii * 5; j < (iii + 1) * 5; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 " + (iii + 1) + " 页");
}
} else {
System.out.println("这是末页了");
for (int j = count - (count % 5); j < count; j++) {
System.out.println(arr[j]);
}
System.out.println("这是第 " + (iii + 1) + " 页");
a = count / pagesize - 1;
} }
}
嵌套的IF 改 case结构 由点蒙哦``