章节四、5-案例练习
假设你有一个字符串“ this is a test string”,写一段代码把这个句子颠倒一下, 颠倒
成下面这样“string test a is this”。
Java 里面有颠倒字符串方法 reverse(),不要用 java 里面已经写好的这个方法,要
自己写个方法,实现这样的功能。
用之前学过的知识去实现,这题会用到字符串类里的方法,if 条件语句,for 循环,等
等。
要对传入的字符串做有效性判断,保证传入的是有效的字符串。
package introduction5; public class ReverseString { //案例一:编写一个能够颠倒字符串顺序的程序(颠倒英文语句单词顺序) //创建一个名为reverse的方法,用于颠倒字符串的顺序 private static String reverse(String input) { //声明一个名为reverse的字符串变量,用于接收用户传入的值 String reverse = ""; //对传入字符串用命令进行有效性判断 //在使用isEmpty方法的同时使用逻辑运算符“或||”判断传入的字符串input是否为空 if(input == null||input.isEmpty()) { //如果为空则打印“不接受空字符串!!”进行提示 System.out.println("不接空字符串!!"); return input; } //当传入的字符串长度为一时,颠倒后就是传入的值本身,考虑到这种情况,因此此处对它进行判断 if(input.length()<=1) { //长度为一时,颠倒后为他本身的状态 reverse = input; //如果大于一,则执行下面的命令 }else { /* 将传入的字符串input用split方法进行分割,同时用数值originalArray进行接收, * "this is a test string"这个字符串中每一个单词都带有空格,所以我们可以使用空格 * 为界限来对字符串进行分割。因为所有的ASCLL码都需要用到“\”加数字来表示,因此java中定义了 * 一些字母前加“\”来表示常见的那些不能显示的ASCLL字符,如\0,\t,\n等,就称为转义字符, * “\\s”代表空格,因为单词间间隔可能不只一个空格,所以需要用“+”来匹配多个空格。 */ String[] originalArray = input.split("\\s+"); /* item用来表示originalArray这个数值里面的值 * originalArray表示是一个数值 * 这里使用foreach高级循环来对数值中存储的截取后的字符重新进行排序 */ for(String item:originalArray) { //reverse将item中的 值与reverse每次循环后结果进行拼接,最终形成想要的结果 reverse = item +" "+ reverse; } } //将最终结果返回给调用者 return reverse.trim(); } public static void main(String[] args) { //初始化input的值,传入reverse方法 String input = "this is a test string"; //用于接收程序执行后的最终结果 String output = reverse(input); //打印接收的最终结果 System.out.println(output); } }
版权声明:本文为luohuasheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。