JAVA用标准库自己写一个字符串翻转方法,翻转字符串中字母非单词

例如输入:I love programming

输出:I evol gnimmargorp

算法思路就是:根据空格提取每一个单词,存放在一个buffer里进行翻转处理,再添加到新的字符串。最后新的字符串就完成整个方法过程。

public class ReserveString {
	public String reserve(String sentence){
		String backS = new String();
		StringBuffer temp = new StringBuffer();

		int i=0;

			while (i<sentence.length()-1 && sentence.charAt(i)!=' '){
				temp.append(sentence.charAt(i));
				i++;

				if (i==sentence.length()-1 || sentence.charAt(i)==' '){
					if (i==sentence.length()-1) {temp.append(sentence.charAt(i));}
					int ii=temp.length()-1;
					int jj=0;
					while (ii-jj>=0){
						char Sii=temp.charAt(ii);
						char Sjj=temp.charAt(jj);
						temp.setCharAt(ii,Sjj);
						temp.setCharAt(jj,Sii);
						ii--;jj++;
					}//得到单个单词并反转

					i++; //跳过空格
					backS=backS+temp+" "; //添加翻转后单词和空格
					temp = new StringBuffer(); //重置temp存放单个单词
				}
			}
		return backS;
	}

	public static void main(String[] args) {
		ReserveString reserveString = new ReserveString();
		System.out.println(reserveString.reserve("I love programming rly"));
	}
} 

JAVA用标准库自己写一个字符串翻转方法,翻转字符串中字母非单词

时间: 2024-12-24 03:10:47

JAVA用标准库自己写一个字符串翻转方法,翻转字符串中字母非单词的相关文章

写一个函数,实现去除字符串空格

写一个函数,实现去除字符串左右空格: <script> var str="  yex   j00  "; var newstr=str.replace(/(^\s*)|(\s*$)/g,''); document.write(newstr); </script> 写一个函数,实现去除字符串中的所有空格,不仅仅包含前后空格 : <script> var str="  yex   j00   "; var newstr=str.rep

需求:有一个猜数字小游戏,请写一个程序实现在测试类中只能使用5次,超过5次提示:游戏试玩结束,请付费。

package cn.idcast4; import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Writer;import java.util.Properties; /* * 需求:有一个猜数字小游戏,请写一个程序实现在测试类中只能使用5次, *

怎样写一个好的方法

方法,一个程序的基本组成,程序编写的最小设计单位,但写好一个方法却不容易. 先说什么样的方法才是一个好方法.首先,可读性要好,因为程序在编译运行之前一直都是给人看的:其次,对于耗费资源或者运算量大的方法,效率也很重要. 这里只讨论可读性.对于效率那是程序优化的技术问题,需要一定的功底,但可读性是我们所有人花些心力都可以做的很好的,而且这个做好了,也就很好了. 首先看一个方法有哪些组成部分,以Java为例,包括访问控制关键字,static关键字(对于static方法),返回值,方法名,参数列表,异

给IConfiguration写一个GetAppSetting扩展方法

给 IConfiguration 写一个 GetAppSetting 扩展方法 Intro 在 .net core 中,微软已经默认使用 appsettings.json 来代替 app.config,并重新设计了一套完整的配置系统,可以支持 json/xml/ini/环境变量等. 在 .net core 中有一个 GetConnectionString 的扩展方法用来比较方便的获取链接字符串,类似于在 .net framework 中使用 ConfigurationManager.Connec

Java面试题从零开始:写一个函数把字符串反转

前言:为了能够找一个代表我从零开始的诗词,我挖空心思去找,然而怎么也找不到一个贴合我心意的,被迫上了度娘也不曾找到.真想把小学一年级的语文课本拿出来好好的通读一遍,肯定能找到答案. 好了,既然找不到也不必耿耿于怀了.今天读了<高效能程序员的修炼>第四章,发现自己好烂,如果按照作者的看法,我是无论如何都入不了他的法眼,于是乎,我告诉自己,从零开始,把作者提出的面试题按照Java来写一遍,无论是参考别人还是自己略能想得到的办法,亲自动手把它们敲出来,并且记录下来吧! 写一个函数把字符串反转,作为本

采用jsp页面与java代码分离的方式写一个简单的二维表

前提:在我们做程序时追求的是高内聚,低耦合,但是如果我们把jsp页面的的代码和java的代码都放在了jsp的代码编写中,使java和jsp高耦合这样的话不仅使jsp代码页面显得很复杂,而且也特别让不利于以后的维护,所以我们有了一个不成文的规范就是分层架构,把javad代码与jsp的代码分离开来,使jsp代码页中更加干净整洁. 下面我将于用jsp和java代码分离的方法做出这样的一个二维表(做一个jsp页面动态显示信息表) 第一步:首先我们需要一个实体类用于存放一个人的一整条信息(根据表格信息有编

写一个函数将传入的字符串转换成驼峰表示法

/* *已知有字符foo="get-element-by-id".写一个function将其转换成驼峰表示法"getElementById" */ var o = { trans:function (msg){ var i, tempArr = msg.split('-'), len = tempArr.length; for(i = 1; i < len; i++){ tempArr[i] = tempArr[i].charAt(0).toUpperCase

如何写一个能在gulp build pipe中任意更改src内容的函数

gulp在前端自动化构建中非常好用,有非常丰富的可以直接拿来使用的plugin,完成我们日常构建工作. 但是万事没有十全十美能够完全满足自己的需求,这时我们就要自己动手写一个小的函数,用于在gulp stream pipeline中执行我们想要的动作,比如我有一个需求在build后将gulp-inject插入的assets url修改为laravel的一个helper以便识别不同的运行环境:如果是staging环境则不要上cdn方便调试,如果是生产环境则将url修改为cdn的url,实现网站快速

【Java学习笔记】如何写一个简单的Web Service

本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程: 1.系统条件: Eclipse Java EE IDE for Web Developers Java SE 6 Windows XP 2.基本环境搭建: 1)Java SE6 JDK的安装:下载Java SE6 JDK,双击,安装默认选项进行安装即可. 2)Eclipse的安装与配置: 安装时直接解压.     配置处有两点,Window>Preferences>Jav