java题目-用java实现字符串的镜像翻转

问题描述

用java实现字符串的镜像翻转

用java实现一个方法,将一个字符串进行镜像翻转,例如ABC翻转为CBA,又如1234翻转为3412,再如abcde翻转为decab。

解决方案

public static String doMirroringConvert(String str) {
str = convertStr(str);
// 字符串长度
int size = str.length();
// 是否是偶数
int IsEven = size % 2;
int centeEndIndex = size % 2 == 0 ? size >> 1 : (size - 1) >> 1;
StringBuilder sb = new StringBuilder();

// 字符串长度为偶数
if (IsEven == 0) {
    String start = convertStr(str.substring(0, centeEndIndex));
    String end = convertStr(str.substring(centeEndIndex, size));
    sb.append(start).append(end);
}
// 字符串长度为基数
else {
    String start = convertStr(str.substring(0, centeEndIndex));
    String center = convertStr(str.substring(centeEndIndex, centeEndIndex + 1));
    String end = convertStr(str.substring(centeEndIndex + 1, size));
    sb.append(start).append(center).append(end);
}

return sb.toString();

}
public static String convertStr(String str) {
// 将String 对象转换为可改变的StringBuffer类对象,然后调用StringBuffer类的reverse()方法实现反转
String strReverse = new StringBuffer(str).reverse().toString();
return strReverse;
}
算是一个勉强的实现吧,性能方面很差,只是一个初步的想法。

解决方案二:

public String doStr(String str){
char[] ch = str.toCharArray();
char[] data=new char[ch.lenth];
for(int i=0;i<ch.length:i++){
data[i]=ch[ch.length-i];
}
return new String(data);
}

解决方案三:

转化成字符数组(调用toCharArray()方法) ,然后把这个数组倒序输出就行

时间: 2024-12-25 11:01:57

java题目-用java实现字符串的镜像翻转的相关文章

java-一道Java题目,请大虾们帮帮忙,谢谢了

问题描述 一道Java题目,请大虾们帮帮忙,谢谢了 用Java编写一个程序,对于输入的一段英语文本,可以统计: 1.该文本中有多少英语单词: 2.该文本中有多少不同的英语单词. 如,输入 I am a good student. I am in Zhengzhou. 则可以统计出有9个英语单词.7个不同的英语单词. 解决方案 首先,需要对输入信息进行处理,去掉输入的标点符号,并以空格替换,需要用正则表达式,进行全部替换: 其次,就是对输入单词进行统计,使用字符串的分割函数split(" &quo

java实现求两个字符串最长公共子串的方法_java

本文实例讲述了java实现求两个字符串最长公共子串的方法.分享给大家供大家参考,具体如下: 这个是华为OJ上的一道题目.首先,如果我们用java写代码,华为OJ有以下三条规则需遵守,否则编译无法通过或者用例无法通过,规则如下: (1)一定不可以有包名: (2)主类名只能为Main: (3)不可以输出与结果无关的信息. 好了,按照以上规则,我们写出来的代码如下(此代码不是最优的,只是用来记录华为OJ上java代码的书写规则): import java.util.Scanner; public cl

java类的问题-java题,将该字符串每个字符与&amp;amp;#39;U&amp;amp;#39;之差的绝对值的升序排序

问题描述 java题,将该字符串每个字符与'U'之差的绝对值的升序排序 输入一组字符串,将该字符串每个字符与'U'之差的绝对值的升序排序.在线等!!? 解决方案 每个字符都减去同一个字符跟不减不一样么?没有必要啊.直接排序即可. 解决方案二: 首先,按照我的一贯观点,这种问题和编程语言无关,和编程语言无关,和编程语言无关.重要的事情说三遍! 设计重点:1.与U的差值存储;2.升序排序. 已知的排序算法相当多,不过在本问题情形下,需要稍作变通. 给出一个简单方案吧:给定字符串Char[];比较差值

Gson对Java嵌套对象和JSON字符串之间的转换

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识,请参考以下内容:http://json.org/json-zh.html 在服务器和客户端之间使用JSON数据格式进行通信,经常会涉及到JAVA对象和JSON字符串之间的转换.通常,我们可以使用一些JSON解析工具,例如:Gson,FastJson等.当然,我们也可以手动解析,只是会比较繁琐. 下面

c语言编程-java题目和C语言题目,面试题目,急用

问题描述 java题目和C语言题目,面试题目,急用 竞赛编程题目"> 解决方案 c语言面试题目C语言面试题目关于C语言的题目 解决方案二: 这么多,,,还是找同学助攻吧 解决方案三: 这么多,,,还是找同学助攻吧 解决方案四: 都看不清,兄弟,你这都不会,到时工作也没法进行啊 解决方案五: 参考一下这个去找找 http://www.doc88.com/p-3601057756733.html 解决方案六: 2015Java软件开发工程师面试题宝典 几百道常用题及答案 http://www.

一道java题目,请大虾们帮帮忙,我是个新手,谢谢

问题描述 一道java题目,请大虾们帮帮忙,我是个新手,谢谢 编写一个程序,对于输入的一段程序,可以获取该程序的单词符号.单词符号的类别有基本字.标识符.常数.算符和界符.关键字为基本字,由字母组成,如int.for和while:变量名和函数名为标识符,由字母和数字构成,如fun1和age:固定不变的数值为常数,如12.13.86和25e8(科学计数法):算符如+.-.*./ .%.&&:界符如 {.[.(. :和:等. 如, public?static?void?main (String

string-关于java中String类型汉字字符串的升序问题

问题描述 关于java中String类型汉字字符串的升序问题 本人新手,遇到一个项目问题:有若干个对象,每个对象里面都有一个String类型的姓名属性,现在要求根据姓名属性的升序将这些对象排列在List集合里,问如何将String类型的汉字升序排列.求大神 解决方案 String[] strs = {""张三(Z)""李四(L)""王五(W)""}; // 定义一个中文排序器 Comparator c = Collator.g

java怎么把转换成字符串转换成中国人习惯看的时间。

问题描述 java怎么把转换成字符串转换成中国人习惯看的时间. 如下代码 public class Test{ public static void main(String[] args) throws Exception { String str="2015/4/13"; Date d=new SimpleDateFormat("yyyy/MM/dd").parse(str); System.out.println(d);} } 打印出来的结果是 Mon Apr

java-这是一个比较有意思的Java题目,我却不太会

问题描述 这是一个比较有意思的Java题目,我却不太会 这个不太会写代码,知道怎么写的求教一下,大神们来帮帮忙吧,快死了???????????? 解决方案 int egg = 100; double price = 1; double prices = 0.8; double payMoney = 0; int number = 0; Scanner sc = new Scanner(System.in); Sytem.out.print("请输入要购买的数量:"); number =