尚硅谷JavaSEday18 String类练习题
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类练习题的更多相关文章
- Java String类练习题
题目:1. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位 ...
- 尚硅谷Java高级笔记
尚硅谷Java高级笔记 idea的使用: 一些小区别: 其他细节参考idea配置pdf 多线程: 基本概念: 多线程的优点: 何时需要多线程: 线程的创建和使用: 创建多线程的第一种方式: /** * ...
- JavaSE学习笔记(5)---内部类和String类
JavaSE学习笔记(5)---内部类和String类 一.内部类基础 转自菜鸟教程 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来 ...
- 尚硅谷springboot学习14-自动配置原理
配置文件能配置哪些属性 配置文件能配置的属性参照 自动配置的原理 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@Ena ...
- 尚硅谷韩顺平Linux教程学习笔记
目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...
- 20191003 尚硅谷Spring Cloud教学视频
视频信息 视频日期:2018-4-19 讲师:尚硅谷周阳 Spring Cloud版本:Dalston.RELEASE 当前版本:Greenwich SR3 微服务.微服务架构.Spring Clou ...
- 20200228 尚硅谷-NIO
尚硅谷-NIO Java NIO简介 Java NIO(New IO.Non Blocking IO)是从Java1.4版本开始引入的新的 IO API,可以替代标准的 Java IO API. NI ...
- 尚硅谷spring 事物管理
接下来我们重点来学习spring中的事务管理 接下来我们通过代码来实现 spring实现事物我们采用aop的方式来实现 获得连接和手动设置事物相当于@before标注的前置通知,conn.commit ...
- 3、尚硅谷_SSM高级整合_使用ajax操作实现删除的功能
点击删除的时候,要删除联系人,这里同点击编辑按钮一样给删除按钮添加点击事件的时候不能使用 $(".delete_btn").click(function(){ }); 这种方式,因 ...
随机推荐
- 设置控件如ImageButton可见与否
继承view的控件有三种ui属性: 1.setVisibility(View.Gone); 不可见,不占有空间 2.setVisibility(View.VISIBLE); 可见 3.setVisib ...
- Python3基础 print , 输出多个数据
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- SRLTE,SGLTE,SVLTE,CSFB,VoLTE的区别【转】
本文转载自:https://blog.csdn.net/dangbochang/article/details/43851979 SRLTE——Single Radio LTE,俗称单待LTE. SG ...
- P2709 小B的询问
题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...
- Stream API
引例: 1 List<String> strList = Arrays.asList("zhaojigang","nana","tiany ...
- BZOJ 5424: 烧桥计划
BZOJ 5424: 烧桥计划 目前暂居rk1QAQ 首先,设\(f[i][k]\)为前i个点中,选了第i个点,总共选了k个点的答案.那么就有: \[f[i][k]=min_{j<i}\{f[j ...
- BZOJ2563: 阿狸和桃子的游戏 贪心
Description 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的: 1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶 ...
- ajax中的contentType使用
本文为博主原创,未经允许不得转载: 最近在修改部分项目功能的时候,遇到一个问题.局部刷新某页面的功能是由ajax实现的,但当我进行局部刷新的时候,页面并没有刷新和响应, 在后台的代码中打了断点也并没有 ...
- UVa 11300 分金币
https://vjudge.net/problem/UVA-11300 题意: 圆桌上有n个人,每个人都有一定的初始金币,每个人可以给他旁边的人一些金币,最终使每个人的金币数相等.计算最少需要转手的 ...
- python 生成元组
#create a tuple l = [(,), (,), (,)] print(list(zip(*l)))