*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生

  • 题目
    • 题目描述
    • 程序清单8-2
  • 本题代码

题目

题目描述

*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生

程序清单8-2

public class qingdan {public static void main(String[] args) {// Students' answers to the questionschar[][] answers = {{'A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'D', 'B', 'A', 'B', 'C', 'A', 'E', 'E', 'A', 'D'},{'E', 'D', 'D', 'A', 'C', 'B', 'E', 'E', 'A', 'D'},{'C', 'B', 'A', 'E', 'D', 'C', 'E', 'E', 'A', 'D'},{'A', 'B', 'D', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'B', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'B', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'E', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}};//Key to the questionschar[] keys = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A', 'D'};//Grade all answersfor (int i = 0 ; i < answers.length ; i++){// Grade one studentint correctCount = 0;for (int j = 0 ; j < answers[i].length ; j++){if (answers[i][j] == keys[j])correctCount++;}System.out.println("Student " + i + "'s correct count is " + correctCount);}}
}

清单运行:

Student 0's correct count is 7
Student 1's correct count is 6
Student 2's correct count is 5
Student 3's correct count is 4
Student 4's correct count is 8
Student 5's correct count is 7
Student 6's correct count is 7
Student 7's correct count is 7

本题代码

import java.util.Arrays;public class Test8_3 {public static void main(String[] args) {// Students' answers to the questionschar[][] answers = {{'A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'D', 'B', 'A', 'B', 'C', 'A', 'E', 'E', 'A', 'D'},{'E', 'D', 'D', 'A', 'C', 'B', 'E', 'E', 'A', 'D'},{'C', 'B', 'A', 'E', 'D', 'C', 'E', 'E', 'A', 'D'},{'A', 'B', 'D', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'B', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'B', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'A', 'D'},{'E', 'B', 'E', 'C', 'C', 'D', 'E', 'E', 'A', 'D'}};//Key to the questionschar[] keys = {'D', 'B', 'D', 'C', 'C', 'D', 'A', 'E', 'A', 'D'};// 增加:数组answers行数长度的int型数组int[] scores = new int[answers.length];//Grade all answersfor (int i = 0 ; i < answers.length ; i++){// Grade one studentint correctCount = 0;for (int j = 0 ; j < answers[i].length ; j++){if (answers[i][j] == keys[j])correctCount++;}scores[i] = correctCount;}//增加:复制scores数组int[] scores_copy = new int[scores.length];System.arraycopy(scores, 0 , scores_copy, 0 , scores.length);//增加:对scores_copy进行排序Arrays.sort(scores_copy);//增加:遍历scores_copy的元素,匹配scores数组的元素,scores的下标即为学生for (int a = 0 ; a < scores_copy.length ; a++){for (int b = 0 ; b < scores.length ; b++){if (scores_copy[a] == scores[b]){System.out.println("Student " + b + "'s correct count is " + scores_copy[a]);scores[b] = 0;}}}}
}

Java黑皮书课后题第8章:*8.3(按考分对学生排序)重写程序清单8-2,按照正确答案个数的升序显示学生相关推荐

  1. Java黑皮书课后题第4章:*4.10(猜测生日)改写程序清单4-3,提示用户输入字符Y代表“是”N代表“否”,代替之前输入1表示“是”,0表示“否

    *4.10(猜测生日)改写程序清单4-3,提示用户输入字符Y代表"是"N代表"否",代替之前输入1表示"是",0表示"否 题目 题 ...

  2. Java黑皮书课后题第6章:6.10(使用isPrime方法)程序清单6-7提供了测试某个数字是否是素数的方法isPrime(int number)。使用这个方法求小于10000的素数的个数

    6.10(使用isPrime方法)程序清单6-7提供了测试某个数字是否是素数的方法isPrime(int number).使用这个方法求小于10000的素数的个数 题目 题目描述 程序清单6-7代码 ...

  3. Java黑皮书课后题第1章:1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果

    Java黑皮书课后题第1章:1.6(数列求和) 题目 题目描述 槽点 代码 代码块 区分println(x)与println("x") 法1法2选用 修改日志 题目 题目描述 1. ...

  4. Java黑皮书课后题第1章:1.5(计算表达式)编写程序,显示以下式子的结果

    Java黑皮书课后题第1章:1.5(计算表达式) 题目 题目描述 题目槽点 代码 代码块 代码评析与易错点 方法选用 易错点 非常不舒服的运算符前后空格(对新手来讲) 修改日志 题目 题目描述 编写程 ...

  5. Java黑皮书课后题第10章:*10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数

    10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数 题目 破题 代码 运行结果 题目 10.18(大素数)编写程序找出五个大于Long.Max_VALUE的素数 破题 类似编程 ...

  6. Java黑皮书课后题第3章:*3.30(当前时间)修改编程练习题2.8,以12小时时钟制显示小时数

    *3.30(当前时间)修改编程练习题2.8,以12小时时钟制显示小时数 题目 题目概述 运行示例 编程练习题2.8 破题 代码 题目 题目概述 *3.30(当前时间)修改编程练习题2.8,以12小时时 ...

  7. Java黑皮书课后题第3章:3.16(随机点)编写程序,显示矩形中一个随机点的坐标。矩形中心位于(0,0),宽100高200

    3.16(随机点)编写程序,显示矩形中一个随机点的坐标.矩形中心位于(0,0),宽100高200 题目 题目描述 破题 代码 题目 题目描述 3.16(随机点)编写程序,显示矩形中一个随即点的坐标.矩 ...

  8. Java黑皮书课后题第8章:**8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行、整列或者对角线都是1或0的行、列和对角线

    **8.14(探讨矩阵)编写程序,提示用户输入一个方阵的长度,随机地在矩阵中填入0和1,打印这个矩阵,然后找出整行.整列或者对角线都是1或0的行.列和对角线 题目 题目描述与运行示例 破题 代码 题目 ...

  9. Java黑皮书课后题第7章:*7.21(整数求和)编写程序,从命令行输入不定数目的整数,然后显示它们的和

    *7.21(整数求和)编写程序,从命令行输入不定数目的整数,然后显示它们的和 题目 题目描述 破题 代码 运行实例 题目 题目描述 7.21(整数求和)编写程序,从命令行输入不定数目的整数,然后显示它 ...

最新文章

  1. php调用搜狗ocr接口,搜狗ocr识别接口
  2. 功能性,声明式和命令式编程[关闭]
  3. android 点击网络图片大全,android查看网络图片的实现方法
  4. CoSENT:比Sentence-BERT更有效的句向量方案
  5. mysql-binlog日志恢复数据库
  6. 基于Pyspark和Thunder的神经图像数据分析-实验运行结果
  7. 怎么创建python django项目_创建Django项目图文实例详解
  8. 关键字Restrict
  9. 《WCF技术内幕》翻译35:第2部分_第6章_通道:通道功能
  10. 数据结构试题期中期末考试【含答案】
  11. 《三级医院评审标准(2020年版)》及解读:医疗机构要不断加强信息化建设
  12. html table tb左对齐,标签之美五——网页表格的设计
  13. 韦根w34是多少位_Levi's裤子尺码中的W34和L34各是多少厘米?
  14. [Translation]《迈陂塘》
  15. 云服务器ecs增加带宽,老鸟告诉你云服务器带宽多少合适?
  16. 人工智能安全标准化白皮书(2019版)笔记
  17. win11系统SecoClient接收返回码超时解决办法(亲测有效)
  18. 微信SDK开发学习第二课
  19. 对分子模拟轨迹数据的分析绘图
  20. 心有多大,世界就多大……

热门文章

  1. python wasm_Python-pywasm-美味尝鲜
  2. python3教程廖雪峰云-python3基础教程廖雪峰云(如何规划研究生三年最后成为谷歌软件工程师)...
  3. 矩阵的乘法通用模板(C++/Java)
  4. 1598: TomCat的环(快速幂+染色问题)
  5. 国内首篇云厂商 Serverless 论文入选全球顶会:突发流量下,如何加速容器启动?
  6. Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 1 遥测数据
  7. 大促场景系统稳定性保障实践经验分享
  8. 设计总结:腾讯光子《和平精英》全新UI 2.0如何升级至效果拉满?
  9. ubuntu创建文件夹和删除文件
  10. Python编程专属骚技巧3