T001-UT001-0016
来源:互联网 发布:淘宝联盟推广位爱分享 编辑:程序博客网 时间:2024/05/17 02:41
集合练习
编写一个程序,从标准输入设备上输入若干实数,要求每行代表一个实数,直到当输入的一行内容为"sort"时,对已输入的所有实数进行生序排序,并将结果打印在标准输出设备上,注意每行输出一个实数。当输入存在不合法时,比如输入除非sort以外的字符时,则输出Error Input并退出程序。 注意,输出的实数必须和输入的实数保留相同的位数。例如,输入的事1.00则输出时也必须是1.00;若输入的是10则输出的也必须是10,而不能是10.00。
举例:1
程序运行后,直接等待输入,如下
输出如下:
举例二:
输入:
输出:
注意:输出的最后没有换行
代码如下:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class D0016 {public static void main(String[] args)throws IOException{String reD_I="^[+-]?([0-9]*\\.?[0-9]+|[0-9]+\\.?[0-9]*)$";//"^[+-]?([0-9]*\\.?[0-9]+|[0-9]+\\.?[0-9]*)$";String reInt="^([0-9]+)$";//"^([eE][+-]?[0-9]+)$";int flag=0;//Scanner input=new Scanner(System.in);BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String num=null;List<Double> numsort = new ArrayList<Double>();List<Integer> numInteger = new ArrayList<Integer>();List<String> numDouble = new ArrayList<String>();while(true){//num=input.nextLine();num=br.readLine();if(num.equals("sort")){if(flag==1){System.out.print("Error Input");return;}break;}else{if(num.matches(reD_I)){if(num.matches(reInt)){int numInt= Integer.parseInt(num);numInteger.add(numInt);}else{numDouble.add(num);}double numD=Double.parseDouble(num);numsort.add(numD);}else{flag=1;//System.out.print("Error Input");//return;}}}Collections.sort(numsort);for(int i=0;i<numsort.size();i++){int j=0,z=0;while(numDouble.size()!=0){double numDouble1=Double.parseDouble(numDouble.get(j));if((double)numsort.get(i)==numDouble1){System.out.print(numDouble.get(j));if((double)numsort.get(numsort.size()-1)!=numDouble1)System.out.println();break;}else{j++;if(j==numDouble.size()){break;}}}while(numInteger.size()!=0){if(numsort.get(i)==(double)numInteger.get(z)){//(double)System.out.print(numInteger.get(z));if(numsort.get(numsort.size()-1)!=(double)numInteger.get(z))System.out.println();break;}else{z++;if(z==numInteger.size()){break;}}}}}}
0 0
- T001-UT001-0016
- T001-UT001-0017
- T001-UT001-0018
- T001-UT001-0019
- T001-UT001-0001
- T001-UT001-0002
- T001-UT001-0003
- T001-UT001-0004
- T001-UT001-0005
- T001-UT001-0006
- T001-UT001-0007
- T001-UT001-0008
- T001-UT001-0009
- T001-UT001-0010
- T001-UT001-0011
- T001-UT001-0012
- T001-UT001-0013
- T001-UT001-0014
- KVM虚拟机IO处理过程(二) ----QEMU/KVM I/O 处理过程
- Emacs 降魔系列之制作 Python IDE
- #290 (div.2) B. Fox And Two Dots
- Android四大组件及其生命周期详解
- mongodb系列之六:java聚合函数
- T001-UT001-0016
- JS函数调用、修改全局变量的知识
- 言论字面意思记忆
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- C++ 成员函数成员变量 静态成员函数和变量
- 2-5-4 静态成员应用
- 汪海爬虫学习笔记1
- QT放单刷单最安全公会|QT放单刷单最安全平台|QT放单刷单最安全频道| 24团珍帅推荐qt1130平台
- 通信系统为何编码和解码(第三次作业)