20155321 2016-2017-2《Java程序设计》课堂实践项目
2017-05-10 10:34
513 查看
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与==的使用还是不熟悉解决方案
通过网上的资料显示:
string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同;
当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;
基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;
最终不断通过调试即可得出答案
相关文章推荐
- 20155321 2016-2017-2《Java程序设计》课堂实践项目2
- 20155308 2016-2017-2《Java程序设计》课堂实践项目
- 20155307 2016-2017第二次《Java程序设计》课堂实践项目
- 20155307 2016-2017第三次《Java程序设计》课堂实践项目
- # 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日
- 20155308 2016-2017-2《Java程序设计》课堂实践项目
- 20155320 2016-2017-2《Java程序设计》第十二周课堂实践项目
- 20162318 2016-2017-2《Java程序设计》课堂实践项目
- 20145209 2016-2017-2 《Java程序设计》课堂实践内容
- 20155310 2016-2017-2《Java程序设计》课堂实践补交
- 2016-2017-2 《Java 程序设计》课堂实践项目
- 20155321 2016-2017-2 《Java程序设计》第八周学习总结
- 20155321 2016-2017-2 《Java程序设计》第六周学习总结
- 20155321 2016-2017-2 《Java程序设计》第十周学习总结
- 2016-2017第一学期 20155332 第八周课堂实践
- 20155307 《Java程序设计》课堂实践项目数据库
- 2017-2018-1 20155320 《信息安全系统设计基础》第四周学习总结(课堂实践补交+myhead与mytail加分项目)
- 20155321 2016-2017-2 《Java程序设计》第五周学习总结
- 20155321 2016-2017-2 《Java程序设计》第四周学习总结
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结