java字符串练习题1、反向输出字符串

简介: java字符串练习题1、反向输出字符串

java字符串练习题1、反向输出字符串


 

反向输出字符串,这里的含义是给定一个字符串例如:我爱你,反向输出的结果就是:你爱我。

在基础的字符串长度中我们可以很简单的调换,甚至直接反向通过下标的方式进行输出,但是如果很多呢,那么我们就来分析一下,然后对比一下相同长度的字符串反向输出那种效率最高。

测试语句就是【我爱你】以及输出【你爱我】。

方法1:下标直接反向charAt输出

charAt(int index) 方法直接了当,它是将字符串按照index索引抽出来,抽出后每一个字符都是一个独立的String类型,所以我们反向输出即可。

package com.item.action;
public class Demo {
  public static void main(String[] args) {
    String s="我爱你";
    for (int i = s.length()-1; i > -1; i--) {
      System.out.print(s.charAt(i));
    }
  }
}

方法2:toCharArray字符串转char数组反向输出法

我们使用toCharArray直接通过下标反向输出即可。下面是代码示例,与方法1类似,我们没有测试效率呢,一会测试看看。

package com.item.action;
public class Demo {
  public static void main(String[] args) {
    String s="我爱你";
    char[] arr = s.toCharArray();
    for (int i = arr.length-1; i > -1; i--) {
      System.out.print(arr[i]);
    }
  }
}

输出结果:

方法3、StringBuilder反向输出函数reverse()

由于StringBuilder直接给了反向输出的函数,我们直接调用即可。

package com.item.action;
public class Demo {
  public static void main(String[] args) {
    String s="我爱你";
    StringBuffer sb = new StringBuffer(s);
    String s1 = sb.reverse().toString();
    System.out.println(s1);
  }
}

效果:

运行效果测试:

给定最终测试字符串:约1800字

1、春水四泽是你的爱恋,夏云绕峰是你的缠绵,秋月扬辉是你的温柔,冬梅喜雪是你的情缘。
2、想你没有理由,爱你没有理由,在白天你是太阳,在夜晚你是月亮,下雨了你是我的雨伞,天冷了你是我的衣裳。
3、春宵酒醒,芬芳何寻?
4、你的微笑藏在我心里,春风吹我为你动了情,明月照我思念着你,往事历历在梦里,今生注定爱着你,真心真意永不分离。
5、缘起,在人群中,我看见你。缘灭,我看见你,在人群中。
6、如果可以和你在一起,我宁愿让天空所有的星光全部损落,因为你的眼睛,是我生命汇总最亮的光芒。
7、看到你的第一眼,我知道了什么叫一见钟情,从此,我要用心呵护你一辈子,祝你天天开心,永远漂漂亮亮。
8、答案很长,我准备用一生时间来回答,你准备听了吗?
9、相爱是一种很美好的感觉,与你相识、相知、相爱成就了这种美好,我深爱你和感谢你!愿与你携手一生,相恋、相伴、相守一辈子!
10、情话是看来的,情书是抄来的,套路是学来的,玫瑰是偷来的,勇气是借来的,爱你是天生的。
11、如果喜欢什么人,就要去找她,别在原地等哦。
12、我多么希望靠近你,感觉你散发的诱人的气息;多么希望你抱着我,体会那幸福的感觉!真的好想你!让我们用多一点点的辛苦,来交换多一点点的幸福。
13、两个人相遇,在一起不是目的,目的是要在那些“在一起”的日子一直保有初次见面的热切,欣喜和新鲜。为了对方,每天努力变得不一样,有新鲜空气的相守值得期待,呼吸彼此废气共度余生,就辜负了初遇的缘分。相爱不仅是朝夕相处,更是结伴前行。
14、因为爱你,所以我肝脑涂地!
15、亲爱的,我愿化作满天的星星,为你祝福,我愿成为甘甜的露水,滋润你生气的心灵,我愿做牛做马,只求你的一句可以宽恕。
16、在爱情的世界里,我一无所有,也一无所知,在情感的小站里,我愿你是第一位来客,也是永远的主人,伴着我宠着我:一生一世!
17、曾经人生酸辣苦,有了你之后,便凑齐了甜。
18、我是一条小小的船,船上装满了对你的爱。我经过风暴,游过险滩,不顾一切向你划来。你永远是我停泊的边岸,你永远是我避风的港湾。
19、时间过得真快,一转眼,进入盛夏,暑气逼人。算了算,离最近一次写心情日志的时间,已经过去一个多月了。再敲键盘,指尖生涩,似有许多话要说,却又一时不知从何说起。
20、少和别的女孩子说话,晚上早点睡觉别熬夜。
21、我曾踏月而来,只因你在山中。
22、微风轻轻起,我好喜欢你。
23、走过曲曲折折,才懂得家最温馨。
24、你愿意做我的女朋友吗?如果不愿意,那就换我做你的男朋友!
25、总有一天,你会遇到一个彩虹般绚烂的人,怦然而心动,就如我。
26、不论天涯海,只要你需要我的时候,我就会“飞”回你的身边。
27、是缘分太少,离别太早,互相珍重,就好。
28、我们从来没有抱怨过老天的不公,只是默默的努力、彼此的鼓励。因为我们相信只有努力才可以得到需要的。真心的谢谢你陪我一路走来。
29、如果说每一次选择就是一种放弃,那么就要看你是否承受得了那些放弃!选择了你我放弃了所有的不幸!
30、想把世界都给你,惯到生活不能自理。
31、你可知我百年的孤寂,只为你一人守候千夜的恋歌,只为你一人而唱。
32、日子过得很慢,生活过得很烂,除了想你,其他,我什么都做不好。
33、曾经迷惘的心中,是你牵引我走出寂寞。
34、未来的日子里,希望每天都有你!
35、亲爱的,没有我的日子里你一个人还好吗?只要两颗心在一起,就不怕寂寞来袭。在没有我的日子里,记得照顾好自己哦!
36、抱着你是一种快乐,吻着你是一种陶醉,爱着你是一种刻骨铭心,所以我会用我的一生来换取这份感觉!
37、我一生最奢侈的事,就是途中与你相遇,然后相濡以沫,共闻花香。
38、这世界最好看的风景,最动人的情话,都比不上你看着我时含笑的眼睛。
39、你听听我的心跳,有没有发现,我对你心动了。
40、遇到你心跳加快,不见你心情变坏,梦见你时间溜得太快,拥有你是不是漫长的等待?
41、没有尊重,爱会走掉。没有在乎,爱会无聊。没有诚实,爱会不爽。没有信任,爱会不牢。
42、距离不代表分离;没联络不代表忘记;没通电话不代表冷落;没见面更不是没关心你;在凉爽的季节里,我会牵挂你!
43、喜欢你,用打字很容易,用写的也很容易,别人说的也很容易,可是为什麼当著你的面,我就是说不出来。
44、原谅我将你的手机号码告诉了一个陌生人,他叫丘比特,他要帮我告诉你;我心喜欢你,我心在乎你,我心等待你。
45、别人都说我们的关系就像鱼和水。我想做你这个水里的鱼!

方法1用时4毫秒

方法2用时5毫秒

方法3用时1毫秒

总结

总效率上看,方法3用时最少,仅仅1毫秒,方法3通过StringBuilder的反向输出函数reverse()效率是最高的。

相关文章
|
14天前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
222 108
|
3月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
244 14
|
3月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
403 82
|
7月前
|
存储 缓存 安全
Java字符串缓冲区
字符串缓冲区是用于处理可变字符串的容器,Java中提供了`StringBuffer`和`StringBuilder`两种实现。由于`String`类不可变,当需要频繁修改字符串时,使用缓冲区更高效。`StringBuffer`是一个线程安全的容器,支持动态扩展、任意类型数据转为字符串存储,并提供多种操作方法(如`append`、`insert`、`delete`等)。通过这些方法,可以方便地对字符串进行添加、插入、删除等操作,最终将结果转换为字符串。示例代码展示了如何创建缓冲区对象并调用相关方法完成字符串操作。
148 13
|
7月前
|
存储 缓存 安全
Java 字符串详解
本文介绍了 Java 中的三种字符串类型:String、StringBuffer 和 StringBuilder,详细讲解了它们的区别与使用场景。String 是不可变的字符串常量,线程安全但操作效率较低;StringBuffer 是可变的字符串缓冲区,线程安全但性能稍逊;StringBuilder 同样是可变的字符串缓冲区,但非线程安全,性能更高。文章还列举了三者的常用方法,并总结了它们在不同环境下的适用情况及执行速度对比。
171 17
|
11月前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
254 83
|
3天前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
26 1
|
3天前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
29 2
|
25天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案

热门文章

最新文章