java入门--4110:圣诞老人的礼物-Santa Clau’s Gifts
2015-08-13 14:25
609 查看
学习了一下java的语法,就用poj上的题目做作练习,好更快的熟悉常用的java语法。
题目在这里 http://bailian.openjudge.cn/practice/4110/
虽然简单,但是学习了java怎么处理输入;怎么排序;嵌套类默认会有一个外部类的引用,只能声明为static,才能在外部类的static函数中引用
题目在这里 http://bailian.openjudge.cn/practice/4110/
import java.util.*; public class Main { private static class Ware { public int value; public int count; public double v_p; } public static void main(String[] args) { Scanner scan = new Scanner(System.in); int rowcount = scan.nextInt(); int weight = scan.nextInt(); List<Ware> wares= new ArrayList<Ware>(); for(int i = 0; i < rowcount; ++i) { Ware w = new Ware(); w.value = scan.nextInt(); w.count = scan.nextInt(); w.v_p = w.value * 1.0 /w.count; wares.add(w); } Collections.sort(wares, new Comparator<Ware>() { @Override public int compare(Ware o1, Ware o2) { if (Math.abs(o1.v_p - o2.v_p) < 1e-6) { return 0; } else if (o1.v_p > o2.v_p) return -1; else return 1; } }); double sum = 0; for (int i = 0; i < wares.size(); ++ i) { Ware w = wares.get(i); if (w.count <= weight) { sum += w.value; } else { sum += weight * w.v_p; break; } weight -= w.count; } System.out.printf("%.1f", sum); } }
虽然简单,但是学习了java怎么处理输入;怎么排序;嵌套类默认会有一个外部类的引用,只能声明为static,才能在外部类的static函数中引用
相关文章推荐
- java jaxb
- spring事务定义中,@Transactional(readOnly = true, propagation = Propagation.NOT_SUPPORTED) 这样定义有问题吗?
- Java设计模式之抽象工厂模式
- java.lang.OutOfMemoryError: Java heap space
- java设计模式图
- java设计模式----装饰模式
- java 垃圾回收
- java实现的数据库管理类(mysql)
- springMVC
- RSA加密解密及数字签名Java实现
- 在Myeclipse中的动态web工程如何加入struts配置文件
- mybatis整合spring 之 基于接口映射的多对一关系
- Java web学习笔记一:JSP学习
- Android 开发环境配置图文教程(jdk+eclipse+android sdk)
- Java基本数据类型
- OOM 之 mina java.lang.OutOfMemoryError
- Java Statement和PreparedStatement性能测试(转)
- Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock
- Java中的Error和Exceptiond的异同点
- Java中的异常执行顺序