1、在项目中创建Number类,判断字符串“mingrikejijavabu”中字符‘i’出现了几次,并将结果输出。

方法一:

       // String str="mingrikejijavabu";
// System.out.println("输入的字符串="+str);
// String[]a=str.split("i");
// int sum=0;
// for(String t:a) //未考虑i放最后的情况,如果i放在最后则这种代码运行结果少一次
// {
// sum++;
//}
//System.out.println("字符串中字符i出现了"+(sum-1)+"次");

修改后的代码为:

 String str="mingrikejijavabui";
System.out.println("输入的字符串="+str);
String[]a=str.split("i");
int sum=0;
int l=str.length()-1;
if (str.charAt(l)=='i')
{
for(String t:a)
{
sum++;
}
System.out.println("字符串中字符i出现了"+sum+"次");
}
else
{
for(String t:a)
{
sum++;
}
System.out.println("字符串中字符i出现了"+(sum-1)+"次");
}

则运行结果为:

方法二:

        String str="mingrikejijavabu";
System.out.println("输入的字符串="+str);
String str2=str.replace("i", "");
int n=(str.length()-str2.length());
System.out.println("字符串中字符i出现了"+n+"次");

方法三:

   String str="mingrikejijavabu";
System.out.println("输入的字符串="+str);
int i=0;
int sum=0;
char g='i';
for(i=0;i<str.length();i++)
{
if(str.charAt(i)==g)
{
sum++;
}
}
System.out.println("字符串中字符i出现了"+sum+"次");

运行结果均为:

2、不用去除字符串中所有空格的两种方法,只用for循环和if条件语句实现去除空格。

 String str="   张  三 李  四     ";
System.out.println("输入的字符串="+str);
char []a= new char[str.length()]; //此种方法有缺陷,因为定义的数组a的长度是字符串str的长度,则运行结果会把所有的空格放到最后。
int j=0; //若想去掉空格,则需要用到substring截取
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)!=' ')
{
a[j]=str.charAt(i);
j++;
}
}
String b=new String (a);
//System.out.println("去掉空格后是:"+b); System.out.println("去掉空格后是:"+b.substring(0,4));//用截取之后空格消失

运行结果为:

P141 实战练习——字符串(修改后)的更多相关文章

  1. Spring+SpringMVC+MyBatis整合进阶篇(四)RESTful实战(前端代码修改)

    前言 前文<RESTful API实战笔记(接口设计及Java后端实现)>中介绍了RESTful中后端开发的实现,主要是接口地址修改和返回数据的格式及规范的修改,本文则简单介绍一下,RES ...

  2. FDMEMTABLE将修改后的数据序列为JSON

    FDMEMTABLE将修改后的数据序列为JSON procedure TForm1.Button3Click(Sender: TObject); var memtable: TFDMemTable; ...

  3. [转] eclipse SVN中文件修改后图标不变黑星解决

    原文地址:http://blog.csdn.net/luwei42768/article/details/39225641 版权声明:本文为博主原创文章,未经博主允许不得转载. 如上图, 如果文件修改 ...

  4. 将JAR包反编译,修改后重新打包(转)

     将JAR包反编译,修改后重新打包(转)   在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar.使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间.有的第三方工具,提供具体的 ...

  5. 让/etc/profile文件修改后立即生效

    方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # .  /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 让/etc/profile ...

  6. 几何服务,cut功能,输入要素target(修改后)内容。

    几何服务,cut功能测试,输入要素target(修改后)内容. {"displayFieldName":"","fieldAliases": ...

  7. SqlServer触发器判断对表操作类型(增、删、改)并将修改后的数据映射到新表

    该文章为原创,日后可能会根据实际开发经验和网友评论,进行相应地方修改,为获得最新博客动态,望在转发博客的时候注明出处. 触发器要实现的功能: (1)获取对表Table1数据操作操作类型(insert. ...

  8. Eclipse Java class修改后的即时编译

    通常情况下,修改了java文件,需要重启eclipse.但是myeclipse可以不用. 其实即时编译早就有了,通过简单配置javaRebel配置,可以达到修改java文件后不重启eclipse. 注 ...

  9. wamp中修改后mysq数据库l闪退无法登陆解决办法

    WampServer安装后密码是空的,   修改一般有三种方式:   一是通过phpMyAdmin直接修改:   二是使用WAMP的MySql控制台修改.     三是重置密码    第一种:   1 ...

随机推荐

  1. C# 对MongoDB 进行增删改查的简单操作 (转)

    运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 ...

  2. 2014年2月份第4周51Aspx源码发布详情

    AM自定义报表管理系统源码  2014-2-28 [VS2010]源码描述: 本系统有以下特色之处: 1.一套软件,多点登陆,根据权限不同共同管理报表,适应于前期获取客户需求报表字段使用. 2.客户自 ...

  3. iOS 中 #import同@class之间的区别

    很多刚开始学习iOS开发的同学可能在看别人的代码的时候会发现有部分#import操作写在m文件中,而h文件仅仅使用@class进行声明,不禁纳闷起来,为什么不直接把#import放到h文件中呢? 这是 ...

  4. FastReport产品介绍及免费下载地址

    公司地址: 俄罗斯 公司网址: http://www.fast-report.com 详细信息: 由技术总监Alexander Tzyganenko创建于1998年,Fast Reports, Inc ...

  5. BZOJ 3687 简单题

    bitset维护某个和是否存在. bit<<x:所有子集的和+x. #include<iostream> #include<cstdio> #include< ...

  6. iOS开发:JavaScriptCore.framework的简单使用--JS与OC的交互篇

    iOS7之后苹果为众猿推出了JavaScriptCore.framework这个框架,这个框架为大家在与JS交互上提供了很大帮助,可以在html界面上调用OC方法并传参,也可以在OC上调用JS方法并传 ...

  7. NSNotificationCenter 的详细说明

    1. 定义一个方法 -(void) update{       } 2. 对象注册,并关连消息 [[NSNotificationCenter defaultCenter] addObserver:se ...

  8. HDU4055 - number string(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4055 思路:dp[i][j]表示处理前i个字符以j结尾可能的序列数. 当a[i]=='I'时,dp[i ...

  9. [图论]Dijkstra 算法小结

    Dijkstra 算法小结  By Wine93 2013.11 1. Dijkstra 算法相关介绍 算法阐述:Dijkstra是解决单源最短路径的算法,它可以在O(n^2)内计算出源点(s)到图中 ...

  10. iOS-Block两个界面传值

    先说一下思路: 首先,创建两个视图控制器,在第一个视图控制器中创建一个Label和一个Button,其中Label是为了显示第二个视图控制器传过来的字符串, Button是为了push到第二个界面. ...