20155321 2016-2017-2《Java程序设计》课堂实践项目

关于String类

  • split方法

  • charAt方法

项目题目:

模拟实现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 }

实验代码

import java.util.*;
public class Mysort1 {
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);
String [] s1 = new String[toSort.length];
for (int i = 0; i < toSort.length; i++) {
String list[] = toSort[i].split(":");
s1[i] = list[2];
}
Arrays.sort(s1);
String [] s2 = new String[toSort.length];
for (int i=0; i<s1.length;i++)
for (int j=0;j<toSort.length;j++)
if( toSort[j].charAt(7) == (s1[i].toCharArray()[0]))
s2[i] = toSort[j];
System.out.println("After sort:");
for(String str : s2 )
System.out.println(str);
}
}

实验结果

代码中所遇到的问题

  • 问题:第二层循环中使用一个数组,如果if语句成立就将toSort数组中对应的那个值赋值给新的那个数组,但是在实际应用中不知道如何填写if语句里的内容,对equals与==的使用还是不熟悉

  • 解决方案

    通过网上的资料显示:

  1. string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同;

  2. 当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;

      

  3. 基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;

最终不断通过调试即可得出答案

最新文章

  1. CSS3 Flexbox不迷路指南
  2. 基于Storm的工程中使用log4j
  3. JavaScript 阶段总结
  4. 关于GridBagLayout的讲解哦
  5. poj 2586 Y2K Accounting Bug
  6. HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))
  7. Bit data type
  8. JVM必备指南(转)
  9. DateUtils时间工具类探究
  10. docker mac 安装并初始化GO环境
  11. Java单元测试之覆盖率统计eclemma
  12. 敏捷冲刺报告--Day5
  13. js中的排序方法
  14. loadrunner场景报错:Error: CCI compilation error -/tmp/brr_5d65oV/netdir/E/\320\324/Action.c (318): undeclared identifier `LAST&#39;解决思路
  15. python更新数据库脚本三种方法
  16. Java 支付宝支付,退款,单笔转账到支付宝账户(单笔转账到支付宝账户)
  17. 【 js 基础 】【读书笔记】Javascript “继承”
  18. Java 编程下简介 Class 与类加载
  19. db2 统计信息 runstats
  20. shiro 密码如何验证?

热门文章

  1. codeforces 420D Cup Trick
  2. 《java编程思想》有必要买吗
  3. scala当中的对象
  4. 021.12 IO流 ObjectStream对象序列化
  5. [零基础学JAVA]Java SE面向对象部分.面向对象基础(06)
  6. Asp.net &amp; Aspose.cells 导入
  7. Kali-linux密码在线破解
  8. 学习T-io框架,从写一个Redis客户端开始
  9. robotframwork的WEB功能测试(一)—切换window窗口
  10. PAT——1069. 微博转发抽奖