20155301第十二周java课程程序

内容一:在IDEA中以TDD的方式对String类和Arrays类进行学习

  • 测试相关方法的正常,错误和边界情况

  • String类

    • charAt
    • split
  • Arrays类

    • sort
    • binarySearch

1.String.charAt(i)的功能是引用字符串下标索引为i的字符,例如:

String string="fengxingck";
System.out.println(string.charAt(0));

在Junit中的测试:

String buffer="feng:xing:ck";
String[] sp=buffer.split(":");
@Test
public void testCharAt(){
assertEquals('f',buffer.charAt(0));
}

2.String.split的功能是将字符串按照原有字符串中特定的符号进行分割并返回到字符串数组当中,例如:

string2[]="feng|xing|ck".split("\\|");

在Junit中的测试:

String buffer="feng:xing:ck";
String[] sp=buffer.split(":");
@Test
public void testsplit(){
assertEquals("feng",sp[0]);
}
  • 产品代码截图:

  • 测试代码截图:

3.Arrays.sort()的功能是对数组进行升序排序,并返回到原来的数组中,例如:

int a[]={1,3,2,4,5};
for(int score:a){
System.out.print(score);
}
System.out.println();
Arrays.sort(a);
for(int score:a){
System.out.print(score);
}

测试代码:

int[] score={1,2,4,5};
@Test
public void testSort(){
Arrays.sort(score);
assertEquals(4,score[2]);
}

4.Arrays.binarySearch(a[],key)的功能是对数组a中的内容进行查找关键字key,如果有则返回关键字的下标索引,否则返回-1或者"-"(插入点)。插入点是索引键将要插入数组的那一点,即第一个大于该键的元素索引,例如:

for(int i=0;i<a.length;i++){
System.out.printf("%d的索引为:",a[i]);
System.out.println(Arrays.binarySearch(a,a[i]));;
}

测试代码:

@Test
public void testbinarySearch(){
Arrays.sort(score);
assertEquals(0,Arrays.binarySearch(score,1));
assertEquals(-5,Arrays.binarySearch(score,6));
}
  • 产品代码截图:

  • 测试代码截图:

内容二:模拟实现Linux下Sort -t : -k 2的功能。参考 Sort的实现。提交码云链接和代码运行截图。

  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 }

解答过程:

1.首先我设置了一个整形数组temp,用于存放第四列的所有数字,其次将字符串数组进行分割,由于各个字符串之间是以“:”的形式隔开的,所以用toSort[i].split("

20155301第十二周java课程程序的更多相关文章

  1. 第十二周java实验作业

    实验十二  图形程序设计 实验时间 2018-11-14 1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: Java的集合框架实现了对各种数据结构的封装. jav ...

  2. 第十二周Java学习总结

    学习总结: 本周主要学习了其他容器和事件处理 1.窗体事件(WindowListener)常用接口方法voidwindowActivated/windowDeactivated(WindowEvent ...

  3. 201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十二周学习总结 项目 内容 这个作业属于哪个课程  https://www.cnblogs.com/nwnu-daizh/ ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第十二周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第十二周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...

  5. 201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十二周学习总结 项       目 内      容 这个作业属于哪个课程 https://www.cnblogs.co ...

  6. 201871010109-胡欢欢《面向对象程序设计(java)》第十二周学习总结

    201871010109-胡欢欢<面向对象程序设计(java)>第十二周学习总结   内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  7. 201871010101-陈来弟《面向对象程序设计(Java)》第十二周学习总结

    201871010101-陈来弟<面向对象程序设计(Java)>第十二周学习总结 实验十   集合与GUI初步 实验时间 2019-11-14 第一部分   理论部分 1.(1) 用户界面 ...

  8. 201871010104-陈园园 《面向对象程序设计(java)》第十二周学习总结

    201871010104-陈园园 <面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  9. 201871010105-曹玉中《面向对象程序设计(java)》第十二周学习总结

    201871010105-曹玉中<面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

随机推荐

  1. JQuery的getJSON函数跨域

    由于一开始看到“$”等类似符号就头晕,所以注定与PHP和JQuery无缘了,不过自己用JavaScript可不代表其他人也得用,这不,麻烦到了... 两个网站:A.B A站点提供了一个重要的API,由 ...

  2. python异常处理及内置模块

    异常处理 有时候我们在写程序的时候会出现错误或者异常,导致程序终止,如下这个例子: #!/usr/bin/env python a = 2/0 print(a) 结果提示如下错误: Traceback ...

  3. Mac Sublime Text3快捷键

    下载地址http://www.sublimetext.com/3 一.安装Package Control 按Ctrl + ` 调出console,粘贴下列安装代码到底部命令行并回车: import u ...

  4. DOM操作怎样添加、移除、移动、复制。创建和查找节点?

    (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节 ...

  5. 【jQuery】deferred对象了解

    deferred对象就是jQuery的回调函数解决方案,在英语中,defer的意思是"延迟",所以deferred对象的含义就是"延迟"到未来某个点再执行. 它 ...

  6. vue 路由缓存 路由嵌套 路由守卫 监听物理返回

    最近开发vue项目,遇到的一些问题,这里整合一下,看到一些博客已经有写相关知识,然后自己再次记录一下. 这是关于vue路由相关比较常见的问题,以后遇到相关路由的问题,会不断更新这篇博客. 需求1:从填 ...

  7. Order by排序

    asc 升序(默认),desc 降序 order by 后面  可以加 列.表达式.别名.序号(从1开始) desc; --表达式 年薪 from emp order by 年薪 desc; --别名 ...

  8. Xcode缓存数据清除

    1. 移除 APP 打包的ipa历史版本(Archives) 不可恢复,就是你打的包,如果需要dysm文件,及时备份 路径:~/Library/Developer/Xcode/Archives 2. ...

  9. 『ACM C++』 PTA 天梯赛练习集L1 | 025-026

    满课一天,做25的时候还疯狂WA,进度可以说是很慢了 哭泣 ------------------------------------------------L1-025---------------- ...

  10. 必须掌握的前端模板引擎之art-template

    常用的模板引擎有tpl.js.baiduTemplate.doT.js.art-template等等: 我所理解的模板引擎就是把js数据传到html中展示出来: art-template 是一个简约. ...