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

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. Oracle自定义聚集函数

    今天工作中看见别人写的自定义聚集函数,所以一门心思的想搞懂,就在网上找资料了. 自定义聚集函数 自定义聚集函数接口简介 Oracle提供了很多预定义好的聚集函数,比如Max(), Sum(), AVG ...

  2. Android 切换主题 (二)

    Android 切换主题 (二) 背景 我原来写过一篇文章关于 android 切换主题的文章 -- Android 切换主题以及换肤的实现 , 里面介绍了如何使用 setTheme() 来切换主题, ...

  3. 关于PostgreSQL的SQL注入必知必会

    一.postgresql简介 postgresql是一款关系型数据库,广泛应用在web编程当中,由于其语法与MySQL不尽相同,所以其SQL注入又自成一派. 二.postgresql的SQL注入:(注 ...

  4. 苹果微信浏览器不能post方式提交数据问题

    form表单中采用post方式提交数据时,在苹果的微信浏览器中无法传递,安卓的可以 如图: 在controller中获取该数据为 null 将表单的提交方式修改为get就能够获取到 现在采用Ajax方 ...

  5. Java switch 详解

    switch 语句由一个控制表达式和多个case标签组成. switch 控制表达式支持的类型有byte.short.char.int.enum(Java 5).String(Java 7). swi ...

  6. org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade 解决方案 (网络转载)

    前提是配置了cascade=all,依然报这种错误,其实出现这个错误的大多数情况根本不是像网上的帖子所说的是什么级联删除的问题,而且hibernate session关于实体生命周期操作的原因,这里明 ...

  7. maven POM —— maven权威指南学习笔记(五)

    1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...

  8. android开发笔记(二)导入项目到eclipse和另一个项目

    NND,eclipse里导入工程出现问题了,整了半天,来个这问题,无效工程描述,找了半天看.projec文件是否工程名对应,看androidManifest.XML换里面的代码版本号,我擦都无济于事. ...

  9. node.js + mongodb 做项目的详解(二)

    这次内容是结合bootstrap把登陆注册做好,还有就是express的中间件等问题. 看这篇博客之前建议先看我上篇写的那篇博客http://www.cnblogs.com/hubwiz/p/4118 ...

  10. LeetCode_Compare Version Numbers

    题目: Compare two version numbers version1 and version2. If version1 > version2 return 1, if versio ...