用Java编写函数反转字符串

如下所示,下面是两种反转字符串的方法。

实践过程中发现,如果是中文字符串,第二种反转方法会输出乱码。

因此,建议首选第一种方法。

/**
 * 反转字符串 演示实例
 * 假设有一个字符串 “ABCDEF”,反转后,输出“FEDCBA”
 */
package com.reverse;

/**
 * @author snowdream
 *
 * @since 2012.03.05
 *
 */
public class StringReverse {

	/**
	 *
	 * ReverseString: 利用StringBuffer反转字符串
	 *
	 * @param      str  待反转字符串
	 * @return     String 已反转字符串
	 */
	public String ReverseString(String str){
		StringBuffer mstr = new StringBuffer(str);

		System.out.println("Reversed String : "+ mstr.reverse().toString());

		return mstr.reverse().toString();
	}

	/**
	 *
	 * ReverseString1: 利用字符数组的方法反转字符串
	 *
	 * @param      str  待反转字符串
	 * @return     String 已反转字符串
	 */
	public String ReverseString1(String str){
		byte[] mchars = str.getBytes();
		byte temp = 0;
		int length = mchars.length;

		for(int i = 0; i < length/2 ;i++){
			temp = mchars[i];
			mchars[i] = mchars[length -1 -i];
			mchars[length -1 -i] = temp;
		}

		String mstr = new String(mchars);

		System.out.println("Reversed String : "+ mstr);

		return mstr;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		StringReverse mReverse = new StringReverse();

		//String str = "Hello World!";
		String str = "你好 中国!";

		mReverse.ReverseString(str);

		mReverse.ReverseString1(str);

	}

}
时间: 2024-08-04 00:35:53

用Java编写函数反转字符串的相关文章

三角函数 c++函数-用java编写函数怎么编呀

问题描述 用java编写函数怎么编呀 用java变一个能够实现sinx cosx e∧x的函数的-程序在线等,用c++也行, 解决方案 一个函数只做一件事情,不要把3件不相干的事情写在一起.sin cos pow等java,C++都封装好了.你实在自己要写函数,就再包装下. 比如 double MySin(double x) { return Math.sin(x); } 解决方案二: 百度一下这三个函数用Java怎么表示,,然后再自己写一个方法把它们封装起来即可 解决方案三: 可以参考API中

[20120117]函数反转字符串reverse.txt

[20120117]函数反转字符串reverse.txtSQL> select * from v$version ;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64biPL/SQL Release 10.2.0.3.0 - ProductionCORE    10.2.0.3.0  

PHP反转字符串函数strrev()函数的用法_php基础

呵呵,好玩吧,一真的想做一个函数百科网,只是由于我的精力有限了,只写WEB开发笔记,一天一篇文章的更新就已经够忙了,因为,我的职业也不只是写这一个博客,还有其它很多网站需要维护,天天就是写软文,发原创,真够累的,好了,以后有机会,我还是要把函数百科网做起来,希望大家支持. 定义和用法 strrev() 函数反转字符串. 语法 strrev(string) 参数 描述 string 必需.规定要反转的字符串. 例子 复制代码 代码如下: <?php echo strrev("Hello Wo

java-Java编写函数图像生成器,没报错,可是图像显示之后立即消失。

问题描述 Java编写函数图像生成器,没报错,可是图像显示之后立即消失. 现在的问题是,能够实现输入函数生成相应的函数图像,但是图像生成后马上消失,求帮忙,谢谢! 解决方案 没有具体的代码,大概说下你的问题. 你要知道,在界面上绘图如同用粉笔在黑板上画画,一旦窗口被别的覆盖.刷新等等,画上去的东西就没有了,窗口没有自动保存图像并且恢复的机制. 你必须在绘图的事件被触发的时候自己重绘图像. 解决方案二: 抓包看看是不是有其他请求

java 面试中的一道编写一个截取字符串的函数!!!!

函数|字符串 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个". package string;class SplitString { private String str; private int byteNum; publi

用C语言编写函数计算子字符串substr在主字符串mainstr中的索引值

在大小写敏感的前提下,用C语言编写函数计算子字符串substr在主字符串mainstr中的索引值. 如果substr完全包含在mainstr中,请计算出索引值.否则,返回-1. 具体代码如下: findstr.c /** Author: snowdream <yanghui1986527@gmail.com> Data: 2012.03.05 Description: 假设一个主要字符串"Hello World!",和一个子字符串"World". 在大小

java substring()函数删除指定字符串

java substring()函数删除指定字符串 public class main {   /**    * case insensitive removal of a substring if it is at the end of a source string,    * otherwise returns the source string.    *    * a <code>null</code> source string will return <code

java中split拆分字符串函数用法

经常需要用java拆分字符串如1,2,3,4 tom,jim,andy,han 1.语法如下 String.split(sourceStr,maxSplit) String.split(sourceStr) 参数说明:sourceStr是被分割的字符串,maxSplit是最大的分割数 返回值说明:split函数的返回值是一个字符串数组String[] 例子  代码如下 复制代码 package com.java.lang;   public class StringSp {    /**   *

java学习笔记之字符串查找函数

java中查找一个字符串是否包含一个字符,或者一段字符串java.lang.String indexOf方法  代码如下 复制代码 package com.java.lang;   public class StringX {    /**   * @param args   */  public static void main(String[] args) {   java.lang.String a = "my name is yuexiaosheng,my blog is java-er