第4章_循环_编程练习4.9计算最高分和次高分

import javax.swing.JOptionPane;

/**
 * 功能介绍:查询最高分
 *提示输入学生的名字和分数
 *返回第一名,第二名的名字和分数
 */
public class Exercise4_8 {
 public static void main(String[] args){
  int number = 0;
  int score_temp = 0 , score_2 = 0, score_1 = 0;
  String name_temp = "" , name_2 = "" ,name_1 = "";
  number = Integer.valueOf(JOptionPane.showInputDialog("请输入学生的数量:"));
  for(int i = 1; i <= number ; i++){
   score_temp = Integer.valueOf(JOptionPane.showInputDialog("请输入学生的分数:"));
   name_2 = JOptionPane.showInputDialog("请输入学生的名字:");
   //此方法有个BUG:
   //当score_temp分数是按照从小到大顺序键入的时候,if()语句一直可以执行,所以else一直没有被执行,
   //所以name_2 and score_2 没有被赋值 
   if(score_temp > score_1){
    score_1 = score_temp;
    name_1 = name_2;
   }else{
    if(score_temp > score_2){
     score_2 = score_temp;
     name_2 = name_2;
    }
   }
  }
  JOptionPane.showMessageDialog(null, "第一名:"+ "      " +"分数:/n" + name_1 + "                  " + score_1 +
    "/n第二名:"+ "      " +"分数:/n" + name_2 + "                  " + score_2 );
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值