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

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. 分页技巧_抽取出公共的分页用的Service方法

    分页技巧_抽取出公共的分页用的Service方法 TopicAction.java ForumAction.java 放在父类中DaoSupport.java DaoSupportImpl.java ...

  2. 《C++ Primer Plus》第2章 开始学习C++ 学习笔记

    C++程序由一个或多个被称为函数的模块组成.程序从main()函数(全部小写)开始执行,因此该函数必不可少.函数由函数头和函数体组成.函数头指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给 ...

  3. mybatis 控制台打印出来的sql 执行结果为空 但是将sql放到mysql执行有数据

    mybatis中的sql如下 select airln_Cd airlnCd,city_coordinate_j cityCoordinateJ,city_coordinate_w cityCoord ...

  4. Linux 下8种优秀的屏幕录制机

    导读 屏幕录制机已经成为常见的和良好的实践来记录一个重要桌面会话,例如,你想玩一个难度较大的游戏,并且向记录是如何完成的,或者你打算创建一个视频教程,入门文章或指南,或任何其他活动和记录你的桌面会话, ...

  5. echarts x轴坐标文字显示不全

    在echarts中应用柱状图或者折线图时,当数据量过多的时候,X轴的坐标就会显示不全(如下图图一),在ECharts图表组件内部有一个机制,用于统计xAxis坐标刻度的个数和图表宽度,从而会自动调整刻 ...

  6. css位置相关元素

    1.border     是边框的意思,它可以设置粗细,多少像素,输入样式,solid是实线的意思,可以直接选择color边框的颜色. 也可以设置某个方向的边框,例如 设置一个div,让它的高和宽都为 ...

  7. globalToLocal和localToGlobal

    官方API: groupOut全局坐标(50,50) gourpIn全局坐标(100,100),并嵌套在groupOut里 btn全局坐标(150,150),并嵌套在groupIn里 获取组件全局坐标 ...

  8. Android上几种Animation和多个动画同时播放以ScaleAnimation应用详解

    在API Demo的View->Animation下可以找到四个Animation的Demo,第一个3D Translate比较复杂,最后再讲,先讲第2个Interpolator.该Activi ...

  9. CS无线电语

    [Radio Commands (" Z "键) - 无线电指令] 1."Cover me" (掩护我) 2."You Take The Point& ...

  10. Hibernate的检索方式--查询数据的方式

    Hibernate 提供了以下几种检索对象的方式1导航对象图检索方式: 根据已经加载的对象导航到其他对象(根据已经加载的对象,导航到其他对象-例如一对多的查询)2OID 检索方式: 按照对象的 OID ...