继续来看一个字符串操作的编程面试题。题目是给定一个字符串,实现翻转并输出,例如“abcd”,翻转后效果变成“dcba”。

分析:

如果题目没有限制不能使用Java JDK自带API,那么我们第一个要想到的就是StringBuilder的reverse()方法,当然集合类也有这个方法,为了考虑性能,和不大材小用,这个时候就不考虑集合的方法。如果是限定不能使用JDK API,那么基本就有利用字符数组,倒序输出,还有利用临时变量,交换两头的值。

1.看看StringBuilder的方法

  1. package com.pharmacodia.uc.testsuites;
  2. public class Demo {
  3. public static void main(String[] args) {
  4. String st1 = "abcdefg";
  5. StringBuilder sb = new StringBuilder(st1);
  6. System.out.print(sb.reverse().toString());
  7. }
  8. }

2.看看使用字符数组,倒序输出

  1. package com.pharmacodia.uc.testsuites;
  2. public class Demo {
  3. public static void main(String[] args) {
  4. String st1 = "abcdefg";
  5. // 把字符串转换成字符数组
  6. char[] array = st1.toCharArray();
  7. // 定义一个新字符串,来保存翻转后字符串
  8. String reverse = "";
  9. // 循环,注意这里i的初始的值是length-1,也就是末尾那个
  10. for (int i = array.length - 1; i >= 0; i--)
  11. // 循环一次,就把末尾字母采用加号进行拼接
  12. reverse += array[i];
  13. System.out.print(reverse);
  14. }
  15. }

3. 直接利用加号拼接成新的字符串

  1. package com.pharmacodia.uc.testsuites;
  2. public class Demo {
  3. public static void main(String[] args) {
  4. String st1 = "abcdefg";
  5. // 定义一个空字符串,用来保存翻转后新字符串
  6. String reverse = "";
  7. for (int i = 0; i < st1.length(); i++) {
  8. reverse = st1.charAt(i) + reverse;
  9. }
  10. System.out.print(reverse);
  11. }
  12. }

上面的窍门在于:

reverse = st1.charAt(i) + reverse;

一定要让+ reverse放表达式的后面。一定不能简写成 reverse += st1.charAt(i)。上面第二种和第三种方法,一定要掌握,特别是第二种利用字符数组的思想,这个思想在很多类似字符串操作编程的题目中都有使用到。

实现字符串倒序并输出相关推荐

  1. 用python倒序输出一个字符串_Python字符串逆序输出的实例讲解

    1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> st ...

  2. python解决字符串倒序输出

    #python解决字符串倒序输出 def string_reverse(m):num=len(m)a=[]for i in range(num):a.append(m[num-1-i])#从最后一位的 ...

  3. 汇编程序:将字符串倒序输出

    [任务] 程序功能:从键盘上输入一个字符串,以$结束,将字符串倒序输出(字符串不超过80个字符). 输入样例:abcd#1234 efg$ 输出样例:gfe 321#dcba 算法要求:逐个输入字符( ...

  4. 从键盘输入一个已确定长度的字符串。然后将这个字符串倒序输出

    字符:tnndwhynotdrinkit(催逝员警告) VS无法运行,会报错a[n]中必须为常量 ------------------------------------------ 代码: ​ #i ...

  5. 字符串倒序输出 递归和正常写法

    字符串倒序输出,我们第一个想到的就是位置互换,将字符串的第一个位置,与字符串的最后一个位置互换,然后字符串的第二个位置,与倒数第二个位置互换,以此类推,到了中间,左边的位置大于右边的时候,那么这个循环 ...

  6. string字符串内容倒叙_Java实现字符串倒序输出的常用方法小结

    本文实例汇总了Java实现字符串倒序输出的常用方法,分享给大家供大家参考.具体方法如下: 1. 最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了. 实现代码如 ...

  7. C++ 递归算法将输入的字符串倒序输出

    C++ 递归算法将输入的字符串倒序输出 直接上代码. #include <iostream> #include<string> using namespace std; //使 ...

  8. Java实现字符串倒序输出

    Java实现字符串倒序输出 package Strin;//文件夹名称import java.util.Scanner;//导入的Scanner包public class Demo {//类的名称pu ...

  9. 字符串倒序函数 java_编写将给定字符串倒序输出的函数[Java笔试题]

    面试的过程中经常会出现这样一个问题:写一个函数,将给定的字符串倒叙输出. 以下是StringReverseOpt定义静态方法: public class StringReverseOpt { /** ...

最新文章

  1. java 内存测试_请你说一下java jvm的内存机制
  2. 消息队列 策略_消息模型:主题和队列有什么区别?
  3. 互联网+激发连锁酒店竞争意识 OTA遭遇对抗危机
  4. Elasticsearch 5.2.x 使用 Head 插件连接不上集群
  5. 小程序使用sass_如何使用Sass Maps生成所有实用程序类
  6. SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-008-带参数的ADVICE
  7. 关于Toast 详解
  8. hdu1385 最短路字典序
  9. 计算机毕设(附源码)JAVA-SSM基于JAVA宠物店管理系统
  10. AUTOCAD——标注打断
  11. “计算机无法访问,您可能没有权限使用网络资源”解决方法
  12. 电脑连接宽带,给手机开热点
  13. 安卓产品方案开发广告机案例
  14. Spring boot集成RabbitMQ(山东数漫江湖)
  15. android p 预览版壁纸,Android P预览版加入黑暗模式主题 iOS啥时候才能有呢?
  16. IDEA部署项目到tomcat运行成功但是页面404的两种原因
  17. c# 指定打开某个路径下的CMD_这招太厉害了,不用鼠标也可以打开指定文件
  18. 知到/智慧树——英语听说:实境主题与技能(参考答案)
  19. GOM登录器配置免费版生成图文教程
  20. 史上最全C++排序算法总结!!!(没有之一)

热门文章

  1. 闲扯测试工程师之发展(觉得不错,拿来与大家分享)
  2. 美创科技深度参编的《数据安全治理实践指南(2.0)》发布
  3. Davinci Resolve Studio 17d5达芬奇调色软件专业版
  4. sap LICENSE KEY和 ACCESS KEY 破解
  5. element ui框架(准备)
  6. Categories(分类,类别)
  7. JSM jQuery插件开源
  8. google.com 打不开,但是mail.google.com无法打开,请问怎么解决?
  9. 【NO ST-LINK Detected】解决办法
  10. DOM基本知识及DOM查询