/* JAVA 算法例程源代码
*
* 作者: MT.LIU
*
* 功能:选择算法,根据输入通过算法获得输出
*
*/
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;
import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.*;
public class JavaExample
{
static int[] array=new int[] {3,44,38,5,5000,15,36,26,27,7786,2,46,4,151,50,48,1,65535};
static int temp[]=new int[array.length];
static int mval;
static Socket skt;
private static ServerSocket ss;
private static Socket s;
public static void main(String[] args) throws InterruptedException, Exception
{
char[] OptionChar=new char[100]; //定义选择的字符数组1个字符
String Inputdata=null; //定义一个空字符串
Scanner scan = new Scanner(System.in); //创建键盘输入对象 从键盘接收数据
System.out.print("《采用JAVA语言实现常用简单算法例程》\n\n"); //打印例程标题
System.out.println("A - 每隔1秒打印一次当前操作系统时间,共打印6次,即:6秒打印完毕");
System.out.println("B - 打印当前计算机操作系统的IP地址");
System.out.println("C - 打印整数数组里的最大值");
System.out.println("D - 基本冒泡排序法");
System.out.println("E - 优化冒泡排序法");
System.out.println("F - 选择排序法");
System.out.println("G - 插入排序法");
System.out.println("H - 希尔排序法");
System.out.println("I - 快速排序法");
System.out.println("J - 合并排序法");
System.out.println("K - 堆排序法");
System.out.println("L - 计数排序法");
System.out.println("M - 基数排序法");
System.out.println("N - 获取网络文件内容、大小、修改日期");
System.out.println("O - 获取域名信息");
System.out.println("P - 解析URL信息");
System.out.println("Q - 指定服务器PORT检查");
System.out.println("R - 打印倒三角");
System.out.println("S - 打印 99乘法表 99加法表");
System.out.println("T - 服务器端");
System.out.println("U - 客户端");
System.out.println("V - 欧几里德算法(求两个正整数的最大公约数)");
System.out.println("W - 斐波那契数列\n\n");
System.out.println("请输入算法选项:");
try //判断是否还有输入
{
if (scan.hasNext()) //next方式接收字符串
{
Inputdata = scan.next();
System.out.println("您选择的是" + Inputdata +"算法");
}
scan.close();
Inputdata.getChars(0, 1, OptionChar, 0); //只选取第一个字符
}
catch( Exception ex) //输入字符错误
{
System.out.println("输入数据触发异常...");
}
switch(OptionChar[0])
{
case 'A' :
PrintDatatime(); //调用获取操作系统时间算法
break;
case 'B' :
LocalIPAddress(); //调用获取操作系统网络IP地址算法
break;
case 'C' :
System.out.println("数组内的整数:");
System.out.println(Arrays.toString(array));
System.out.println("打印整数数组里的最大值");
maxval(array); //调用获取数组最大值函数
break;
case 'D' :
System.out.println("基本冒泡排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
BubbleSort(array); //调用基本冒泡排序算法
break;
case 'E' :
System.out.println("优化冒泡排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
BubbleSort_Opt(array); //调用优化冒泡排序算法
break;
case 'F' :
System.out.println("选择排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
SelectSort(array); //调用选择排序算法
break;
case 'G' :
System.out.println("插入排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
InsertSort(array); //调用优化插入排序算法
break;
case 'H' :
System.out.println("希尔排序法"); //调用希尔排序算法
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
ShellSort(array);
break;
case 'I' :
System.out.println("\n快速排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
quicksort(array,0,array.length-1); //调用快速排序算法
System.out.println(Arrays.toString(array));
break;
case 'J' :
System.out.println("\n合并排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
mergesort(array,0,array.length-1,temp); //调用合并排序算法
System.out.println(Arrays.toString(array));
break;
case 'K' :
System.out.println("\n堆排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
sort(array); //调用堆排序算法
System.out.println(Arrays.toString(array));
break;
case 'L' :
System.out.println("计数排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
int max = findMaxElement(array);
int[] sortedArr = countingSort(array, max + 1); //调用计数排序算法
System.out.println(Arrays.toString(sortedArr));
break;
case 'M' :
System.out.println("\n基数排序法");
System.out.println("排序前数组内容:");
System.out.println(Arrays.toString(array));
System.out.println("排序后数组内容:");
RaixSort(array); //调用基数排序算法
break;
case 'N' :
GetUrlContent();
GetRemoteFileSize();
GetRemoteFileMDdate();
System.out.println("查询完毕");
break;
case 'O' :
GetDNSAddress();
System.out.println("查询完毕");
break;
case 'P' :
PaserURL();
break;
case 'Q' :
Loca
Java 语言编程的小栗子
需积分: 1 198 浏览量
2024-02-13
18:38:12
上传
评论
收藏 54KB ZIP 举报
FOOLCODE
- 粉丝: 166
- 资源: 4
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈