package com.liuxt.sort; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class SortMain {

public static void main(String[] args) {

SortTemplate template = null;

//初始化模版类

try {

template = new SortTemplate();

} catch (Exception e) {

e.printStackTrace();

System.exit(1);

}

int dataLength=0,maxElement=0;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

//boolean isExit=false;

while (true) {

try {

String arrayLength=getInputDataLength(br);

dataLength = Integer.parseInt(arrayLength);

if (dataLength < 0){

System.out.println("\n数组的长度必须大于0:");

continue;

}

break;

} catch (NumberFormatException e) {

System.out.println("\n重新输入排序数组的长度(只能输入数字):");

continue;

} catch (IOException e) {

e.printStackTrace();

System.exit(1);

}

}

template.setDataLength(dataLength);

while (true) {

try {

String max=getInputMax(br);

maxElement = Integer.parseInt(max);

if (dataLength < 0){

System.out.println("\n数字必须大于0:");

continue;

}

break;

} catch (NumberFormatException e) {

System.out.println("\n重新输入数组的元素的最大值(只能输入数字):");

continue;

} catch (IOException e) {

e.printStackTrace();

System.exit(1);

}

}

template.setMaxElement(maxElement);

int algorithm=0;

while(true){

showUsage();

String selectNumber = null;

try {

selectNumber = br.readLine();

try{

algorithm = Integer.parseInt(selectNumber);

}catch (NumberFormatException e) {

//e.printStackTrace();

System.out.println("请选择正确的排序算法序号!");

continue;

}

if (algorithm == 0)

System.exit(0);

else if(algorithm!=9){

try {

template.sortDataByName(SortUtil.getSortNameById(algorithm-1));

} catch (Exception e) {

e.printStackTrace();

System.exit(1);

}

}

else {

try {

template.sortDataByAll();

} catch (Exception e) {

e.printStackTrace();

System.exit(1);

}

}

} catch (IOException e) {

e.printStackTrace();

System.exit(1);

}

}

}

private static

String getInputDataLength(BufferedReader br) throws IOException{

System.out.print("输入排序数组的长度:");

String arrayLength=null;

arrayLength = br.readLine();

return arrayLength;

}

private static

String getInputMax(BufferedReader br) throws IOException {

System.out.print("输入数组中整数的最大值:");

//BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String max=null;

max = br.readLine();

return max;

}

private static void showUsage() {

System.out.println("\n请选择排序算法:");

System.out.println("

1 直接插入排序 ");

System.out.println("

2 选择法排序 ");

System.out.println("

3 冒泡法排序 ");

System.out.println("

4 快速法排序 ");

System.out.println("

5 希尔法排序 ");

System.out.println("

6 堆法排序 ");

System.out.println("

7 归并排序 ");

System.out.println("

9 执行所有排序 ");

System.out.println("

0 退出 ");

} }

有关java的参考软件_Java的相关的排序实现(参考软件设计师教程)相关推荐

  1. java线程实例题_java线程相关试题实例源码代码

    java线程相关试题实例源码代码. /** * 计算输出其他线程锁计算的数据 */ class ThreadA { public static void main(String[] args) { T ...

  2. java采购管理系统设计_Java毕业设计——采购管理系统的设计参考

    各位小伙伴们是否已经拿到了开题报告,开始准备自己的毕业设计大作了? 今天为大家介绍的一个毕设项目是运用JavaEE开发采购管理系统,相关的源代码.截图和数据库已放在相应的文件夹中,供大家来参考. 采购 ...

  3. java时间的正则表达式_java日期相关的类正则表达式

    常用的API Date.Math.DateFormat.Calendar.正则表达式 Data类 public class DateDeom { public static void main(Str ...

  4. java web核心知识_JAVA web 相关知识点

    1: web的三个核心标准: URL: http   VS  https HTTP:  通信协议,客户端/服务器端信息交互方式; 特点是无状态: HTML: 2: HTTP 协议: http是通用的, ...

  5. java 多条件比较_Java 多条件复杂排序小结

    这里面最复杂的就是第3点,对秒杀活动进行排序,排序条件多,排序条件使用各不相同,在笔试中给我带来了很大的困扰,最后当然也是没做完啦···· 解决方案 吃完晚饭开始寻找解决方法,觉得应该会很有意思,果然 ...

  6. java jre怎么安装_Java Runtime Environment怎么安装 JRE安装详细图文教程

    Java Runtime Environment是运行java程序所必需的最小安装包,是java的核心运行环境.那么我们要怎么安装Java Runtime Environment,今天小编就为大家提供 ...

  7. java数组排序源码_Java 数组工具类排序,最大值最小值等

    public class ArrayUtils{ /** * 返回数组最大值 * * @param a * @return */ public static int max(int[] a){ // ...

  8. 2009北海市东盟杯导游大赛结束,各奖项名花有主-渤锐软件提供了相关的软件支持

    2009北海市"东盟杯"导游大赛结束 各奖项名花有主-渤锐软件提供了相关的计分及抽奖软件支持 北海旅游商务网讯(2009年5月28):昨晚,由北海市旅游局.北海市旅游协会主办,北海 ...

  9. java ocr文字识别软件_Java文字识别软件-调用百度ocr实现文字识别

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

最新文章

  1. 【AJAX】JavaScript的面向对象
  2. 读书:历史 -- 奥斯曼帝国六百年
  3. Drug Discov. Today | 简要综述GNNs用于分子性质预测
  4. WindowManagerPolicy的后缀 解释
  5. RAX,eax,ax,ah,al 关系
  6. bzoj1012: [JSOI2008]最大数maxnumber [单调队列]
  7. AI ProCon 2020第一天:40+大厂专家共话AI技术应用下一个十年!
  8. 揭秘井井有条的流水线(ZooKeeper 原理篇)
  9. fiddler响应中文乱码问题
  10. Android、IOS JavascriptBridge 兼容方案
  11. 练习:去除df某列里面字符串里面的空格, .str.strip(); series.str.replace(); df.replace()
  12. 多媒体计算机主要有哪些基本特性,多媒体的特点主要包括哪些?
  13. ppt to html c,PPTC参数.pdf
  14. 【CSS3】CSS3动画——我离前端的炫酷又近了一步
  15. 免费远程控制软件新功能
  16. 鸿蒙是什么动物,悟空是猴,八戒是猪,沙和尚是什么动物?乌巢禅师一句话说出答案...
  17. 关于软件的一些哲学思考(四)软件基本要素 四要素
  18. 一劳永逸批量启动Jar包
  19. 金蝶K/3系统结账前检查
  20. W3school:CSS基础:教程、简介、语法、选择器、使用(在HTML中引入)

热门文章

  1. 进入陕西教育行业市场:TurboMail邮件系统与西京大学合作
  2. [Android1.6]横竖屏切换时自动弹出键盘的问题
  3. Ant部署测试出错(关键字:Ant NoClassDefFoundError xml-apis/jar)
  4. B - Friends
  5. kotlin mysql数据库_在kotlin中使用mysql行级锁
  6. HTML5中拖动功能的添加属性,html5中可拖动dragable属性及其他成员的讲解
  7. 面向过程和面向对象的本质理解
  8. onresize的应用--自适应弹窗
  9. Android -- 自定义View小Demo,绘制四位数随机码(一)
  10. linux安装软件方法汇总