Java学习之字符串练习
1、给定一个字符串数组。按照字典顺序进行从小到大的排序。
* 思路:
 * 1,对数组排序。可以用选择,冒泡都行。
 * 2,for嵌套和比较以及换位。
 * 3,问题:以前排的是整数,比较用的比较运算符,可是现在是字符串对象。
 *   字符串对象怎么比较呢?爽了,对象中提供了用于字符串对象比较的功能。
 public static void sort(String[] strings){
         String temp = null;
         for(int i=0;i<strings.length;i++){
             for(int j = i+1;j<=strings.length-1;j++){
                 if(strings[i].compareTo(strings[j])>0){
                     temp = strings[i];
                     strings[i]=strings[j];
                     strings[j]= temp;
                 }
             }
         }
     }
2、一个子串在整串中出现的次数
* 思路:
 * 1,要找的子串是否存在,如果存在获取其出现的位置。这个可以使用indexOf完成。
 * 2,如果找到了,那么就记录出现的位置并在剩余的字符串中继续查找该子串,
 * 而剩余字符串的起始位是出现位置+子串的长度.
* 3,以此类推,通过循环完成查找,如果找不到就是-1,并对 每次找到用计数器记录。
 public static int sum(String string,String string1){
         int length = string1.length();
         int count = 0;
         int index = string.indexOf(string1);
         while(index!=-1){
             count++;
             index = string.indexOf(string1,index+length);
         }
         return count;
 }
3、两个字符串中最大相同的子串
* 思路:
 * 1,既然取得是最大子串,先看短的那个字符串是否在长的那个字符串中。
 * 如果存在,短的那个字符串就是最大子串。
 * 2,如果不是呢,那么就将短的那个子串进行长度递减的方式去子串,去长串中判断是否存在。
 * 如果存在就已找到,就不用在找了。
 public static String getMaxSubstring(String s1, String s2) {
         String max = null,min = null;
         max = (s1.length()>s2.length())?s1:s2;
         min = max.equals(s1)?s2:s1;
         System.out.println("max="+max);
         System.out.println("min="+min);
         for (int i = 0; i < min.length(); i++) {
             for(int a = 0,b = min.length()-i; b != min.length()+1; a++,b++){
                 String sub = min.substring(a, b);
 //                System.out.println(sub);
                 if(max.contains(sub))
                     return sub;
             }
         }
         return null;
     }
4、模拟一个trim功能一致的方法。去除字符串两端的空白 
 * 思路:
 * 1,定义两个变量。
 * 一个变量作为从头开始判断字符串空格的角标。不断++。
 * 一个变量作为从尾开始判断字符串空格的角标。不断--。
 * 2,判断到不是空格为止,取头尾之间的字符串即可。
 */
 public static String myTrim(String s) {
         int start = 0, end = s.length() - 1;
         while (start <= end && s.charAt(start) == ' ') {
             start++;
         }
         while (start <= end && s.charAt(end) == ' ') {
             end--;
         }
         return s.substring(start, end + 1);
     }
Java学习之字符串练习的更多相关文章
- Java学习笔记--字符串和文件IO
		
1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1. ...
 - java学习-关于字符串String
		
有必要总结记录一下java的学习,否则,永远只是记忆碎片化和always google(费时) 刚好,小伙伴给了一份自己做的review,在学习的过程中,update一下自己的见解和学习内容: 关于S ...
 - Java学习之字符串的创建
		
转自:http://lavasoft.blog.51cto.com/62575/80034/ Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时 ...
 - Java学习之字符串类
		
String在Java中是一个类类型(非主类型),是一个不可被继承的final类,而且字符串对象是一个不可变对象.声明的String对象应该被分配到堆中,声明的变量名应该持有的是String对象的引用 ...
 - Java学习:字符串概述与特点
		
字符串概述与特点 java.lang.String类 代表字符串 API当中说:Java程序中的所有字符串字面值(如“abc“)都作为此类的实例实现.其实就是说:程序当中所用的双引号字符串,都是Str ...
 - Java学习笔记——字符串常用函数
		
class JavaTest4_String { public static void main(String[] args) { String str1 = "IOS,ANDROID,BB ...
 - JAVA学习笔记--字符串概述
		
一.String类 String类代表字符串,是由字符构成的一个序列.创建String对象的方法很简单,有以下几种: 1)用new来创建: String s1 = new String("m ...
 - Java学习总结:飘逸的字符串
		
Java学习:飘逸的字符串 前言 相信不管我们运用Java语言来开发项目还是进行数据分析处理,都要运用到和字符串相关的处理方法.这个社会处处有着和字符串相关的影子:日志.文档.书籍等.既然我们离不开字 ...
 - Java学习(API及Object类、String类、StringBuffer字符串缓冲区)
		
一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就 ...
 
随机推荐
- .NET,你忘记了么?(八)—— 从dynamic到特性误用 [转]
			
1. 摘要 每个程序员都想写出漂亮的代码,但是什么是漂亮,这个我想每个人都有着自己的看法.那么我就说几种典型的想法: A. 写出别人看不懂的代码,让别人觉得很高深. B. 写出简短的代码 C. 用最新 ...
 - JFinal开发web项目出现故障小记
			
导读 作为中国优秀的开源项目之中的一个JFinal有着极速开发的优点,是中小型应用开发的首选.在导师的建议下.我使用了JFinal来开发一个Java服务端应用,官方教程非常easy.就几十页(当然是中 ...
 - Apache经常使用配置
			
Apache採用IBM HTTPServer,内核为Apache/2.0.47 Server version: IBM_HTTP_Server/6.1.0.13 Apache/2.0.47 查 ...
 - Love Hotels and Unicode[转]
			
原文地址:http://www.reigndesign.com/blog/love-hotels-and-unicode/ 讲得挺通俗的一篇文章 On Sunday 28 October I atte ...
 - mac apktool配置
			
Apktool:http://ibotpeaches.github.io/Apktool/install/ 最新版本2.0.1 dex2jar: https://github.com/pxb1988/ ...
 - firefox 自写底层扩展,源码简介
			
还记得2010年的时候,那时候开始喜欢上了js,经常逛MDN 一开始写些简单的油猴脚本,慢慢的接触了扩展开发,发现用自己的js知识 加上firefox的插件API,可以完成好多功能. 看了很多插件的源 ...
 - sf
			
#include <stdio.h> #include <time.h> #include <stdlib.h> #define MAXN 150 //最大节点数 ...
 - 解决“无法连接到Python代码运行助手。请检查本机的设置”问题
			
廖雪峰老师python课程里有个代码运行助手,可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码,很方便的一个脚本工具,但是很多人用过之后出现了这样的提示:“无法连接到 ...
 - Apache commons (Java常用工具包)简介
			
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...
 - Java学习疑惑(8)----可视化编程, 对Java中事件驱动模型的理解
			
我们编写程序就是为了方便用户使用, 我觉得UI设计的核心就是简洁, 操作过于繁琐的程序让很大一部分用户敬而远之. 即使功能强大, 但是人们更愿意使用易于操作的软件. 近年流行起来的操作手势和逐渐趋于成 ...