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

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. Amazon(vpc)对等网络

    对等连接测试 1.1 东京账户A创建对等连接 注意,双方的vpc网段不能重复,如果重复会造成无法配置路由表 输入双方信息 账户ID和VPC 1.2 东京账户A查看 查看连接信息 显示正在处理接受,需要 ...

  2. Hadoop日志分析系统启动脚本

    Hadoop日志分析系统启动脚本 #!/bin/bash #Flume日志数据的根文件夹 root_path=/flume #Mapreduce处理后的数据文件夹 process_path=/proc ...

  3. OSG简单测试框架

    #include <osgDB/ReadFile> #include <osgDB/FileUtils> #include <osg/ArgumentParser> ...

  4. U盘重装Windows系统

    1.制作一个U盘老毛桃或者大白菜 2.进入BIOS 3.Secure Boot-Disabled,作用是关闭微软的Secure BOOT,这个功能开启会导致不能识别U盘启动系统的安装 4.Lauch ...

  5. 第三篇:CUDA 标准编程模式

    前言 本文将介绍 CUDA 编程的基本模式,所有 CUDA 程序都基于此模式编写,即使是调用库,库的底层也是这个模式实现的. 模式描述 1. 定义需要在 device 端执行的核函数.( 函数声明前加 ...

  6. 微软发布新版 Skype Linux 客户端

    导读 前两天,微软说要给Linux 用户带来一个令人兴奋的新闻,今天,这个新闻来了.它刚刚为 Linux 发布了一个新的 Skype 客户端.此次发布,微软为 Linux 带来的 Skype 客户端与 ...

  7. centos7 docker install

    env: os :centos 7 vmware steps: 1.yum  -y install docker after installed ,using   docker version cmd ...

  8. cocos2d-x常用工具

    这些工具平常也用到,不过没有像这样整理出来,这是我在网上看到的.就记录一下. 位图字体工具Bitmap Font Tools BMFont (Windows)FonteditorGlyph Desig ...

  9. ubuntu中vi编辑器键盘错乱的问题

    Ubuntu安装完成后vi编辑器键盘不能正常使用,使用下面方法解决: 编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式: 并添加一句 ...

  10. CMS 收集器整理

    基本说明: 目标:获取最短回收停顿时间 算法:标记-清除算法 线程:并发 步骤: 初始标记:(会STP) 标记一下 GC Roots 能直接关联到的对象,速度很快 并发标记:(耗时最长,且可与用户线程 ...