20155213 第十二周课堂作业MySort

20155213 第十二周课堂作业MySort

作业要求

  1. 模拟实现Linux下Sort -t : -k 2的功能
  2. 参考 Sort的实现
  3. 提交码云链接和代码运行截图
  4. 初始代码
1 import java.util.*;
  2
  3 public class MySort1 {
  4     public static void main(String [] args) {
  5         String [] toSort = {"aaa:10:1:1",
  6                             "ccc:30:3:4",
  7                             "bbb:50:4:5",
  8                             "ddd:20:5:3",
  9                             "eee:40:2:20"};
 10
 11         System.out.println("Before sort:");
 12         for (String str: toSort)
 13                     System.out.println(str);
 14
 15         Arrays.sort(toSort);
 16
 17         System.out.println("After sort:");
 18         for( String str : toSort)
 19             System.out.println(str);
 20     }
 21 }

作业实现

  • 出现的问题
    • String.split用法不当,导致编译出错
      1071611-20170510102420363-1016760022.png
  • 问题的解决以及原因
    • 将a设成字符串数组型String[] a;
    • 原因:String.split的返回值是字符串数组,所以需要用数组来接受
    • 而对于已经是字符串数组使用String.split,得到的则是一个二位字符串数组
    • 可以这样来看Integer.parseInt(toSort[j].split(":")[3])这的意思是取toSort字符串数组的地j+1项字符串以为界限,分成其他几个数组,然后取第四个字符串的值,在将该值转化成int型数字;
  • 作业截图
    1071611-20170510114025176-687936041.png

作业题拓展

  • 如何在命令行输入下Java实现Linux上的sort命令
    • 了解Linux下的sort命令
      1. sort将文件的每一行作为一个单位,进行比较,比较原则是从首字符向后,依次按ASCII码值进行比较;
      2. sort指令作用
        sort的-u选项在输出行中去除重复行
        sort的-r选项将sort改成降序
        sort的-n选项按数字大小比较
        sort的-t选项和-k选项-t用来设置间隔符,-k用来设置第几列
        1071611-20170510104501629-279873279.png
      • 实现 ,直接通过读取args的输入指令,对第几列,按升序或者降序输出
        1071611-20170510111430535-2009890573.png

作业体会

  • 课堂上没能提交,感觉提惭愧的,毕竟别人都能按时提交,为什么我不行呢,我总结了几个原因
    1. 第一个也是最主要的问题就是课堂上注意力不集中,容易开小差,没能跟上老师讲课的节奏,导致做随堂作业的时候打不动就卡壳;
    2. 课前没能花足够的时间准备,没有好好学习老师布置的课前预习
    3. 还有就是水印问题,截好了图,但没能及时绘上水印;
    4. 之前对Java学习重视,加上长时间的“积贫积弱”,导致代码编写速度跟不上,找错经验不足,浪费了不少时间
  • 我觉得学习这东西再迟也不算迟,更何况之前也不是一点没学,而现在就是重新重视起Java学习,而学习语言这东西就在于多实践,多动手敲代码
  • 改正一下,就是课前花时间多做准备,课上认真听讲的同时网上查阅不懂的知识点,保证课堂上能够多多的消化,课后做一些课堂上留下的问题的后期思考与实现
  • 水印的问题,如果老师看了我的博客,可否考虑一下我的建议,就是如果最后没足够的时间添加水印,可否代码的最后一段输出自己的学号,作为身份的证明System.out.println(2015××××);

码云链接

参考网页

linux下的sort
Arrays.Sort

转载于:https://www.cnblogs.com/elevator/p/6834743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值