当前位置:首页 > JAVA基础
27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 隐藏
System.out.println( number + \大了!\ continue; }
if ( number < result ) {
System.out.println( number + \小了!\ continue; } }
scanner.close(); } }
5 成绩统计程序
5.1 问题
成绩管理系统。有如下功能共用户选则:录入成绩 ,成绩列表 ,查询成绩,退出。当用户在控制台输入1,用户选择的功能为录入成绩;输入2,用户选择的功能为成绩列表;输入3,用户选择的功能为根据姓名查找成绩;输入4,退出。系统交互情况如图-42所示:
图-42
5.2 方案
系统使用一个整形数组和一个字符串数组分别存放学生成绩信息和姓名。其中 NameUtils.randomNames()方法能获取一个大小为numOfStudents的字符串数组,
且数组的元素为学员的姓名,代码如下所示: 1. 2. 3.
int numOfStudents = 10;
String[] students = NameUtils.randomNames(numOfStudents); int[] scores = new int[numOfStudents];
录入成绩通过循环遍历数组给数组的每个元素初始化。代码如下所示: 1. 2. 3.
System.out.println(\开始录入成绩: \
for (int i = 0; i < students.length; i++) {
System.out.print((i + 1) + \学生姓名:\成绩:?\
4. scores[i] = scanner.nextInt(); 5. }
6. System.out.println(\录入完毕。\
成绩列表功能通过遍历两个数组,打印所有信息,StringUtils.rightPad()方法是一个格式化输出的方法,代码如下所示: 1. 2.
for (int i = 0; i < students.length; i++) {
System.out.println(StringUtils.rightPad(i + 1 + \10, \
3. + StringUtils.rightPad(students[i], 10, \\
4. + StringUtils.rightPad(scores[i] + \\5. }
查询成绩功能,首先根据姓名在姓名数组中查出该姓名所对应的下标,该下标就是成绩数组中该学员成绩所对应的下标,代码如下所示: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
int i = 0;
for (; i < students.length; i++) {
if (student.equalsIgnoreCase(students[i])) { break; } }
if (i < students.length) { System.out.println((i + 1) + \学生姓名:\+ students[i] + \成绩:\} else {
System.out.println(\对不起,找不到学员的信息。\}
5.3 实现
系统代码实现如下: 1. 2.
import java.util.Scanner;
import org.apache.commons.lang.StringUtils;
3. import tts.fundamental.utils.NameUtils; 4. public class ScoreManager {
5. public static void main(String[] args) { 6. int numOfStudents = 10;
7. String[] students = NameUtils.randomNames(numOfStudents); 8. int[] scores = new int[numOfStudents]; 9. Scanner scanner = new Scanner(System.in);
10. System.out.println(\欢迎进入成绩管理系统**********\11. while (true) {
12. System.out.print(\请选择功能:1——成绩录入,2——成绩列表,3——成绩查询,4——退出\
13. String c = scanner.next().trim(); 14. if (\
15. System.out.println(\开始录入成绩: \
16. for (int i = 0; i < students.length; i++) { 17. System.out.print((i + 1) + \学生姓名:\18. + students[i]+ \成绩:?\
19. scores[i] = scanner.nextInt(); 20. }
21. System.out.println(\录入完毕。\22. } else if (\23. int avg = 0;
24. for (int i = 0; i < scores.length; i++) { 25. avg += scores[i]; 26. }
27. avg /= scores.length;
28. System.out.println(StringUtils.rightPad(\编号\29. + StringUtils.rightPad(\姓名\30. + StringUtils.rightPad(\成绩\31. System.out.println(StringUtils.repeat(\32. for (int i = 0; i < students.length; i++) {
33. System.out.println(StringUtils.rightPad(i + 1 + \10, \
34. + StringUtils.rightPad(students[i], 10, \
35. + StringUtils.rightPad(scores[i] + \36. }
37. System.out.println(StringUtils.repeat(\38. System.out.println(\平均成绩: \39. } else if (\
40. System.out.print(\请输入您要查询的学生姓名: \41. String student = scanner.next().trim(); 42. int i = 0;
43. for (; i < students.length; i++) {
共分享92篇相关文档