网上看到的一个小练习,自己写了一个,但是时间限制并不符合,并且貌似还有些小问题,暂时放在这儿,代码格式什么的也不太规范。

1、班级排名
时间限制: 1000ms 内存限制: 65536kB 
描述 
信息科学技术学院年终评定讲学金,需要对整个年级的学生按照平均分数进行排名.
要求:根据输入的学号和平均成绩,按照平均成绩降序输出学号
如果平均成绩相同,按照输入的顺序输出。 
输入 
第一行为N,表示输入N位学生的信息,接着的N行输入学生信息,1<=N<=500
学生信息的格式为:学号 平均成绩
学号的长度小于10,平均成绩在1-100之间. 
输出 
按照平均成绩降序输出学号,如果平均成绩相同,按照输入顺序输出 

package Some_Demos;
import java.io.*;
import java.util.*; public class IO_Demo {
//static Map<Integer,Float> scoreNo = new TreeMap<Integer,Float>();
static Map<Integer,Float> scoreNo = new HashMap<Integer,Float>();
static List<Float> score = new ArrayList<Float>();
static List<Integer> no = new ArrayList<Integer>();
public static void sortList(List<Float> flist, List<Integer> ilist){
int length = flist.size();
if(length <= 0)
return;
for(int i=0; i<length; i++){
for(int j=i+1;j<length;j++){
float iTemp = flist.get(i);
float jTemp = flist.get(j);
float floatTemp; int ilistTemp1 = ilist.get(i);
int jlistTemp2 = ilist.get(j);
int intTemp;
if(iTemp<jTemp){
floatTemp = iTemp;
flist.set(i, jTemp);
flist.set(j, floatTemp); //intTemp = ilistTemp1;
ilist.set(i, jlistTemp2);
ilist.set(j, ilistTemp1);
}
}
}
}
public static void main(String[] args){
long startTime = System.nanoTime();
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String strTemp = br.readLine();
String[] strArray;
while(strTemp!=null){
//System.out.println(strTemp);
if(strTemp.equals("bye"))
break;
strArray = strTemp.split(" ");
//System.out.println(strArray[0] + "-" + strArray[1]);
scoreNo.put(Integer.parseInt(strArray[0]), Float.parseFloat(strArray[1]));
score.add(Float.parseFloat(strArray[1]));
no.add(Integer.parseInt(strArray[0]));
strTemp=br.readLine();
}
System.out.println(scoreNo);
System.out.println(score);
sortList(score,no);
System.out.println(score);
System.out.println(no); }catch(IOException e){
System.out.println(e);
}catch(Exception e){
System.out.println(e);
}
long endTime = System.nanoTime();
System.out.println("程序执行共用时:" + ((endTime-startTime)/1000000) + " ms");
}
}

2、十六进制转十进制
时间限制: 1000ms内存限制: 65536kB
描述
将十六进制数转换成十进制数
输入
第一行有一个整数T,表示共有T组数据
接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前没有多余的0
输出
输出共T行,每一行是一组数据的十进制表示,数字前不得有多余的0。
十进制数小于2^31

package Some_Demos;
import java.io.*; public class HexToBin {
// public void hexTobin(int[] array){
// int length = array.length;
// for(int j=0; j<length; j++){
//
// }
// }
//
public static void main(String[] args){
long startTime = System.nanoTime();
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String strNum = br.readLine();
int count = Integer.parseInt(strNum);
if(count <= 0)
{
System.out.println("输入的数字个数应大于0!");
return;
}
int[] hex = new int[count];
String strTemp;
for(int i=0; i<count; i++){
strTemp = br.readLine();
hex[i] = Integer.valueOf(strTemp, 16);
//System.out.println(Integer.valueOf(strTemp,16));
}
//hexTobin(hex);
//System.out.println(hex); for(int j=0; j<count; j++)
System.out.println(hex[j]); }catch(NumberFormatException e){
System.out.println(e);
}catch(IOException e){
System.out.println(e);
}catch(Exception e){
System.out.println(e);
} long endTime = System.nanoTime();
System.out.println("程序执行共用时:" + ((endTime-startTime)/1000000) + " ms");
}
}

两个java小练习的更多相关文章

  1. 献上两个java小算法

    直接上代码: /** * Name: 求数组中元素重复次数对多的数和重复次数 * Description: * 数组中的元素可能会重复,这个方法可以找出重复次数最多的数,同时可以返回重复了多少次. * ...

  2. (10.16)java小作业!

    相信大家刚刚学习java多多少少都会写一些java的基础编程来练练手感,我也不例外!今天想和大家分享一下我最近所接触到的比较有趣的java小编程! 已知a已被赋值,b已被赋值,请编写java程序实现a ...

  3. Java小对象的解决之道——对象池(Object Pool)的设计与应用

    一.概述 面向对象编程是软件开发中的一项利器,现已经成为大多数编程人员的编程思路.很多高级计算机语言也对这种编程模式提供了很好的支持,例如C++.Object Pascal.Java等.曾经有大量的软 ...

  4. java小心机(3)| 浅析finalize()

    每天进步一丢丢,连接梦与想 如果你停止就是谷底,如果你还在努力就是上坡 系列文章 java"小心机"(1)[资源彩蛋!] java小心机(2)| 重载和构造器的小细节 预备知识 J ...

  5. java小心机(2)| 重载和构造器的小细节

    每天进步一点点,距离大腿又近一步! 阅读本文大概需要10分钟 java小心机,为你诉说java鲜为人知的一面 涉及基本数据类型的重载 基本类型能从一个"较小"的类型自动提升到&qu ...

  6. java"小心机"(1)【资源彩蛋!】

    每天进步一点点,距离大腿又近一步! 阅读本文大概需要9分钟 java"小心机"系列文章在此开篇.在这,将会给你带来曾经错过.忽略或感到模糊的知识,也许它很基础,微不足道,但它能修复 ...

  7. 寒假答辩作品:Java小游戏

    目录 java入门小游戏[test] 游戏界面 前言 (可直接跳到程序介绍) 前期入门小项目 前期收获 后期自创关卡 后续 java入门小游戏[test] 游戏界面 github地址: https:/ ...

  8. java正则表达式之java小爬虫

    这个java小爬虫, 功能很简单,只有一个,抓取网上的邮箱.用到了javaI/O,正则表达式. public static void main(String[] args) throws IOExce ...

  9. Java小项目--坦克大战(version1.0)

    Java小项目--坦克大战<TankWar1.0> 这个小项目主要是练习j2se的基础内容和面向对象的思想.项目实现了基本的简单功能,我方一辆坦克,用上下左右键控制移动方向,按F键为发射炮 ...

随机推荐

  1. 本地存储数据库indexedDB实现离线预览的功能

    今天在学习<高级JS编程>,看到离线存储,cookie和session都十分的熟悉,但是书中还提到了indexedDB和webSQL(已废弃),indexedDB可以像mysql一样建表, ...

  2. 折腾deeplin系统

    1.双系统失败记录 多系统启动问题 先安装完deepin,发现再安装windows怎么都起不起来,哪怕他们已经安装在不同的盘 (体现再Windows7通过ghost位于另外一个盘,但就是没有启动项) ...

  3. [Ahoi2014]支线剧情[无源汇有下界最小费用可行流]

    3876: [Ahoi2014]支线剧情 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1538  Solved: 940[Submit][Statu ...

  4. pdb文件及引发的思考

    最初只想知道线上iis里需要不需要pdb文件,了解部分之后对于.net底层产生了浓厚的兴趣,看了一点点资料 资料来源: https://www.cnblogs.com/itech/archive/20 ...

  5. mysql 修改默认配置 提高性能

    解决问题 Lost connection to MySQL server at ‘reading authorization packet’, system error: 0 通过修改 connect ...

  6. 日期选择时两个日期之间的动态控制--My97datepicker日期选择控件

    实现效果:如果先选离店日期,再选入住日期的话,入住日期大于离店日期则离店日期+1天否则离店日期不变,先选入店再选离店离店,离店只能选之后的日期,且两个日期之间最多间隔88天 <div class ...

  7. Sonnet-十四行诗

    <Wish> Of our best wishes we could desire increase, That thereby rose's aroma might never die, ...

  8. 遍历Map集合四中方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  9. Quick UDP Internet Connections 让互联网更快的协议,QUIC在腾讯的实践及性能优化

    https://mp.weixin.qq.com/s/44ysXnVBUq_nJByMyX9n5A 让互联网更快:通往QUIC之路 原创: 史天 翻译 云技术实践 8月15日 QUIC(Quick U ...

  10. TCP implements its own acknowledgment scheme to guarantee successful data delivery

    wTCP本身已经确保传输的成功性. HTTP The Definitive Guide 4.2.4 Delayed Acknowledgments Because the Internet itsel ...