1.重新编写strim方法,去掉字符串两端的空格

package www.shangguigu.java.exer;
import org.junit.Test; /*
练习一:重写Strim方法,输入一个字符串,去掉两端的空格
*/
public class StringDemo {
@Test
// 测试1:
public void test1(){
String str = " wangqin wo aini! ";
//String str = " "; //只有空格的字符串时,理论上是不打印,但是会出现空指针异常,加上
String newStr = StringDemo.MyStrim(str);
System.out.println(newStr);
} //练习一:
public static String MyStrim(String str){
int start = 0;
int end = str.length()-1;
while(start<=end && str.charAt(start)==' '){
start++;
}
while(start<=end &&str.charAt(end)==' '){
end--;
}
String strimStr = str.substring(start,end+1);
return strimStr;
}

  2.对字符串进行反转,例如“abcdefg”,反转成为“abfedcg”

package www.shangguigu.java.exer;
import org.junit.Test; /*
练习二:将一个字符串进行反转。将字符串的一部分进行反转,比如讲“abcdefg"反转为”abfedcg".
练习三:
*/
public class StringDemo {
@Test
public void test2(){
String str = "abcdefg";
String revStr1 = StringDemo.reverseString1(str, 2, 5);
System.out.println(revStr1);
String revStr2 = StringDemo.reverseString2(str, 2, 5);
System.out.println(revStr2); }
//练习二:方法一:使用截取字符串的方式
public static String reverseString1(String str,int start,int end){
String str1 = str.substring(0,start);
String str2 = str.substring(end+1);
for(int i=end;i>=start;i--){
char c = str.charAt(i);
str1 += c;
}
str1 += str2; return str1;
}
//练习二:方法二:通过将字符串转发成字符数组,在进行反转操作,最后在将字符数组转换成字符串
public static String reverseString2(String str,int start ,int end){
char [] strArray = str.toCharArray();
return reverseCharArray(strArray,start,end);
}
public static String reverseCharArray(char[] strArray,int start,int end){
for(int i=start,j=end;i<end;i++,j--){
char temp = strArray[i];
strArray[i] = strArray[j];
strArray[j] = temp;
}
return new String(strArray);
}

  3.获取一个字符串在另一个在字符串中出现的次数。例如:

:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数
package www.shangguigu.java.exer;
import org.junit.Test; /*
练习三:获取一个字符串在另一个字符串中出现的次数。 比如:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数
*/
public class StringDemo {
@Test
public void test3(){
String str1 = "abcab3fabkkkabddcadl";
String str2 = "ab";
int count = StringDemo.getTime(str1, str2);
System.out.println(count); }
//练习3:获取一个字符串在另一个字符串中出现的次数。获取str2在str1中出现的次数
public static int getTime(String str1,String str2){
int count = 0;
int len;
while((len=str1.indexOf(str2))!=-1){ //str1.indexof(str2) 判断str2在str1中首次出现的位置
count++;
str1 = str1.substring(len + str2.length());
}
return count;
}

  

尚硅谷JavaSEday18 String类练习题的更多相关文章

  1. Java String类练习题

    题目:1. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位 ...

  2. 尚硅谷Java高级笔记

    尚硅谷Java高级笔记 idea的使用: 一些小区别: 其他细节参考idea配置pdf 多线程: 基本概念: 多线程的优点: 何时需要多线程: 线程的创建和使用: 创建多线程的第一种方式: /** * ...

  3. JavaSE学习笔记(5)---内部类和String类

    JavaSE学习笔记(5)---内部类和String类 一.内部类基础 转自菜鸟教程 ​ 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来 ...

  4. 尚硅谷springboot学习14-自动配置原理

    配置文件能配置哪些属性 配置文件能配置的属性参照 自动配置的原理 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@Ena ...

  5. 尚硅谷韩顺平Linux教程学习笔记

    目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...

  6. 20191003 尚硅谷Spring Cloud教学视频

    视频信息 视频日期:2018-4-19 讲师:尚硅谷周阳 Spring Cloud版本:Dalston.RELEASE 当前版本:Greenwich SR3 微服务.微服务架构.Spring Clou ...

  7. 20200228 尚硅谷-NIO

    尚硅谷-NIO Java NIO简介 Java NIO(New IO.Non Blocking IO)是从Java1.4版本开始引入的新的 IO API,可以替代标准的 Java IO API. NI ...

  8. 尚硅谷spring 事物管理

    接下来我们重点来学习spring中的事务管理 接下来我们通过代码来实现 spring实现事物我们采用aop的方式来实现 获得连接和手动设置事物相当于@before标注的前置通知,conn.commit ...

  9. 3、尚硅谷_SSM高级整合_使用ajax操作实现删除的功能

    点击删除的时候,要删除联系人,这里同点击编辑按钮一样给删除按钮添加点击事件的时候不能使用 $(".delete_btn").click(function(){ }); 这种方式,因 ...

随机推荐

  1. 设置控件如ImageButton可见与否

    继承view的控件有三种ui属性: 1.setVisibility(View.Gone); 不可见,不占有空间 2.setVisibility(View.VISIBLE); 可见 3.setVisib ...

  2. Python3基础 print , 输出多个数据

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  3. SRLTE,SGLTE,SVLTE,CSFB,VoLTE的区别【转】

    本文转载自:https://blog.csdn.net/dangbochang/article/details/43851979 SRLTE——Single Radio LTE,俗称单待LTE. SG ...

  4. P2709 小B的询问

    题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...

  5. Stream API

    引例: 1 List<String> strList = Arrays.asList("zhaojigang","nana","tiany ...

  6. BZOJ 5424: 烧桥计划

    BZOJ 5424: 烧桥计划 目前暂居rk1QAQ 首先,设\(f[i][k]\)为前i个点中,选了第i个点,总共选了k个点的答案.那么就有: \[f[i][k]=min_{j<i}\{f[j ...

  7. BZOJ2563: 阿狸和桃子的游戏 贪心

    Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶 ...

  8. ajax中的contentType使用

    本文为博主原创,未经允许不得转载: 最近在修改部分项目功能的时候,遇到一个问题.局部刷新某页面的功能是由ajax实现的,但当我进行局部刷新的时候,页面并没有刷新和响应, 在后台的代码中打了断点也并没有 ...

  9. UVa 11300 分金币

    https://vjudge.net/problem/UVA-11300 题意: 圆桌上有n个人,每个人都有一定的初始金币,每个人可以给他旁边的人一些金币,最终使每个人的金币数相等.计算最少需要转手的 ...

  10. python 生成元组

    #create a tuple l = [(,), (,), (,)] print(list(zip(*l)))