两个java小练习
网上看到的一个小练习,自己写了一个,但是时间限制并不符合,并且貌似还有些小问题,暂时放在这儿,代码格式什么的也不太规范。
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小练习的更多相关文章
- 献上两个java小算法
直接上代码: /** * Name: 求数组中元素重复次数对多的数和重复次数 * Description: * 数组中的元素可能会重复,这个方法可以找出重复次数最多的数,同时可以返回重复了多少次. * ...
- (10.16)java小作业!
相信大家刚刚学习java多多少少都会写一些java的基础编程来练练手感,我也不例外!今天想和大家分享一下我最近所接触到的比较有趣的java小编程! 已知a已被赋值,b已被赋值,请编写java程序实现a ...
- Java小对象的解决之道——对象池(Object Pool)的设计与应用
一.概述 面向对象编程是软件开发中的一项利器,现已经成为大多数编程人员的编程思路.很多高级计算机语言也对这种编程模式提供了很好的支持,例如C++.Object Pascal.Java等.曾经有大量的软 ...
- java小心机(3)| 浅析finalize()
每天进步一丢丢,连接梦与想 如果你停止就是谷底,如果你还在努力就是上坡 系列文章 java"小心机"(1)[资源彩蛋!] java小心机(2)| 重载和构造器的小细节 预备知识 J ...
- java小心机(2)| 重载和构造器的小细节
每天进步一点点,距离大腿又近一步! 阅读本文大概需要10分钟 java小心机,为你诉说java鲜为人知的一面 涉及基本数据类型的重载 基本类型能从一个"较小"的类型自动提升到&qu ...
- java"小心机"(1)【资源彩蛋!】
每天进步一点点,距离大腿又近一步! 阅读本文大概需要9分钟 java"小心机"系列文章在此开篇.在这,将会给你带来曾经错过.忽略或感到模糊的知识,也许它很基础,微不足道,但它能修复 ...
- 寒假答辩作品:Java小游戏
目录 java入门小游戏[test] 游戏界面 前言 (可直接跳到程序介绍) 前期入门小项目 前期收获 后期自创关卡 后续 java入门小游戏[test] 游戏界面 github地址: https:/ ...
- java正则表达式之java小爬虫
这个java小爬虫, 功能很简单,只有一个,抓取网上的邮箱.用到了javaI/O,正则表达式. public static void main(String[] args) throws IOExce ...
- Java小项目--坦克大战(version1.0)
Java小项目--坦克大战<TankWar1.0> 这个小项目主要是练习j2se的基础内容和面向对象的思想.项目实现了基本的简单功能,我方一辆坦克,用上下左右键控制移动方向,按F键为发射炮 ...
随机推荐
- win7win8 64位汇编开发环境合集安装与设置
win7win8 64位汇编开发环境合集安装与设置 下载 win7 win8 64位汇编开发环境.rar 下载地址(免积分下载) http://download.csdn.net/detail/li ...
- Leetcode: Anagrams(颠倒字母而成的字)
题目 Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will ...
- Layui前后台交互数据获取java
Layui简介 Layui是一款适用于后台程序员的UI框架,学习成本低.Json数据格式交互前后台,并且也相当适用单页面开发.有兴趣的朋友可以看看layui官网. Layui前后台数据交互 layui ...
- MySQL中关于SQL注入的相关需要的基础知识
零.绪论: 文章部分整理来源于公司同事,特此鸣谢!!! 一.关于注入点在KEY上的注入: 我们来看一个查询,你的第一个字段是过滤器(filter)第二个字段是查询的关键字,例如查询ip == 1.2. ...
- 【BZOJ3417】Poi2013 Tales of seafaring 分层图BFS
[BZOJ3417]Poi2013 Tales of seafaring Description 一个n点m边无向图,边权均为1,有k个询问 每次询问给出(s,t,d),要求回答是否存在一条从s到t的 ...
- Python全栈day10(基础知识练习题)
一,执行python的两种方式 1,写在脚本里面调用python执行,例如python test.py 2, 输入python在命令行交互执行,例如 python >>> pri ...
- 几种压缩方式:zlib
zlib:zlib.h http://www.zlib.net/manual.html 编译时加 -lz ZEXTERN int ZEXPORT compress OF((Bytef *dest, u ...
- 使用Ansible自动配置JDK环境
1.首先安装好Ansible环境,具体步骤请见Ansible安装 2.先创建hosts文件(为后面编写脚本安装JDK做铺垫) [root@localhost /]# vi hosts [jdktest ...
- android系统权限SET_PREFERRED_APPLICATIONS怎么获取
最近自己写个demo,需要用到SET_PREFERRED_APPLICATIONS权限 在网上找了半天,大概有两种方式: 1. 将手机root后,把apk强行push到system/app目录下,重启 ...
- mysql - json - look up subobjects or nested values directly by key or array index without reading all values
w https://dev.mysql.com/doc/refman/5.7/en/json.html