关于解决MySort
关于解决MySort
- 那天老师教给我们关于sort的用法以及String类中的split方法。在一定程度上告诉我们sort用法的原理和一些特别的用法后,老师叫我们用JAVA尝试去设计一个"MySort"来实现sort的方法。

- 据我的个人情况我对split的用法了解不够深,在帮助文档中发现其解释我能了解的也是十分有限

如:regex是什么,而又应该填什么;使用split方法时又应该用什么样的格式来使用这一方法……
带着这些疑问,我上到网上去查相关资料,发现split的用法是建立在一个String类的数组中其中的regex意思是以什么分隔符为标准,并对字符串进行分隔,用的时候分隔符要放在双括号中如:
若以"aa:10:1:1"中的":"为分隔符
"aa:10:1:1"--->"aa" "10" "1" "1"
这样一来就知道split的方法之一了,还有一个在regex参数后添加一个整形数。为探求其功能,我直接在我原来学习split的代码上试验
public class aboutsplit {
public static void main(String[] args){
String [] toSort = {"aaa:10:1:1"}
String[] div = toSort[0].split(":",2);
for(int d=0; d<div.length;d++){
System.out.println(div[d]);
}
}
}

因此可以得到这种用法可以使第n个分支开始停止断开。
- 解决了split的知识点后,仍然有新的麻烦——字符串是属于分开的状态,怎样才可以将怎段完整的字符串进行排序?
在经过一段时间的思考和纸上的运算后,可以利用老师给的模板用两个循环来实现这个想法。
- 首先创建一个新的字符串数组来存放新排列的字符串。
- 创建两个互相镶嵌的循环来实现字符串的新排列
- 第一个循环来将新排列的字符串放进新数组中
- 第二个循环用来匹配,是否满足我要求的列排序
完成后代码如下:
import java.util.*;
public class MySort {
public static void main(String [] args) {
String [] toSort = {"aaa:10:1:1",
"ccc:30:3:4",
"bbb:50:4:5",
"ddd:20:5:3",
"eee:40:2:20"};
System.out.println("Before sort:");
for (String str: toSort)
System.out.println(str);
int [] k2 = new int[toSort.length];
for(int i =0;i<toSort.length;i++){
String[] div = toSort[i].split(":");
k2[i]=Integer.parseInt(div[1]);
}
Arrays.sort(k2);
String[] save = new String[k2.length];
for(int i=0;i<toSort.length;i++)
for (int k = 0; k < k2.length; k++) {
if (toSort[i].substring(4,6).equals(String.valueOf(k2[k]))) {
save[k]=toSort[i];
}
}
System.out.println();
System.out.println("After sort:");
for(int i =0;i<save.length;i++){
System.out.println(save[i]);
}
}
}
运行结果:

- 感悟与反思
自己写代码的效率还是不够高,实践的次数和深度还是不够。今后会自己动手多写新代码,从而发现更多的问题,从而能够让自己进步。
关于解决MySort的更多相关文章
- 20162330 第10周 MySort实验
关于MySort的进一步实践 课堂作业题目如下: 模拟实现Linux下Sort -t : -k 2的功能.参考Sort的实现.提交码云链接和代码运行截图. import java.util.*; pu ...
- 20155228 2017-5-10 课堂测试:MySort
20155228 2017-5-10 课堂测试:MySort 题目和要求 模拟实现Linux下Sort-t:-k2的功能.参考Sort的实现.提交码云链接和代码运行截图. import java.ut ...
- 20155213 第十二周课堂作业MySort
20155213 第十二周课堂作业MySort 作业要求 模拟实现Linux下Sort -t : -k 2的功能 参考 Sort的实现 提交码云链接和代码运行截图 初始代码 1 import java ...
- 关于Mysort实验的补发博客
关于本次课后的一些话 关于这次课上的关于sort -nk 2 -t: sort.txt的实验没能在课上做出,有自身的知识不够,没能灵活运用所学知识,以及在当时课上走了会神,回过头来已经不知道该干些什么 ...
- 20162326 齐力锋 2016-2017-2 《程序设计与数据结构》 MySort.java 实验博客
实验代码学习编程中的问题及解决方法 代码运行成功截图 首次代码运行出现的问题截图 问题1:无法从静态上下文中引用非静态方法 问题1解决方法及思考: split方法是非静态方法,需要借助对象来调用.我查 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
- DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...
- MVVM框架从WPF移植到UWP遇到的问题和解决方法
MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...
随机推荐
- MySQL常用:Got a packet bigger than 'max_allowed_packet' bytes & MySQL开远程服务
1. 数据导入时出现错误 Got a packet bigger than 'max_allowed_packet' bytes 通过终端进入mysql控制台 mysql>show VARIAB ...
- 微信小程序 - bindtap等事件传参
什么是事件事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id, ...
- Redis之Redis持久化
Redis(Remote Dictionary Server)是一个可持久化的内存.Key-Value数据库. 作为内存数据库,为了防止因服务器断电或系统宕机而引起的数据丢失问题,Redis自带了持久 ...
- Kafka解惑之时间轮 (TimingWheel)
Kafka中存在大量的延迟操作,比如延迟生产.延迟拉取以及延迟删除等.Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而是基于时间轮自定义了一个用于实现延迟功能的定 ...
- SSIS平台下的对象和概念
包即经检索.执行和保存的工作单元,是最重要的 Integration Services 对象. 控制流元素(任务和容器),用于在包中生成控制流.控制流元素准备或复制数据,与其他进程进行交互,或实现重复 ...
- USB-Blaster驱动安装失败——文件哈希值不在指定目录中
右击此电脑,选择管理,选择设备管理器,更新USB-Blaster驱动出现问题 问题: 文件的哈希值不在指定的目录文件中,如图: 解决办法: Windows键+R→shutdown.exe /r /o ...
- postgresql 安装插件
最近由于工作需要,学习了citusdata 插件,在按照官方文档装好postgresql 之后,不能在psql 中正常启用其它插件 如 : "create extension pg_trg ...
- 【leetcode 简单】 第五十二题 有效电话号码
给定一个文本文件 file.txt,请只打印这个文件中的第十行. 示例: 假设 file.txt 有如下内容: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Li ...
- 20155234 《Java程序设计》实验四 (Android程序设计)实验报告
实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android.组件.布局管理器的使用: 掌握Android中事件处理机制. 实验步骤 (一)Android S ...
- jquery.validate使用 - 5
一些常用的验证脚本 不会写js了,只能从网上找一些常用的验证脚本. // 手机号码验证jQuery.validator.addMethod("mobile", function(v ...