java字符串反向输出

系统管理员 2024-03-29 14:46 167阅读 0赞

正常字符串反向

转字符串方法

  1. String s = " 向着星辰与深渊";
  2. //。length是长度,对应下标所以减去一
  3. //倒序,实现反向
  4. for (int i = s.length()-1; i > -1; i--) {
  5. //.charAt()方法,输出字符串类型
  6. System.out.print(s.charAt(i));
  7. }
  8. System.out.println();
  9. System.out.println("----------------------------------");
  10. //转换为字符串类型
  11. char[] arr = s.toCharArray();
  12. //下标倒序实现反向输出
  13. for (int i = arr.length-1; i > -1; i--) {
  14. System.out.print(arr[i]);
  15. }

这段代码将输出如下结果,原理是通过把字符串转换为字符串类型,并通过按照下标反向输出的方式来达到反向输出字符串的目的,注意下标是从0开始

e4d01fd8e59a7700a28ab45d439284da.png

StringBuffer方法

  1. String s1 = " 向着星辰与深渊";
  2. StringBuffer sb = new StringBuffer(s1);
  3. StringBuffer rev = sb.reverse();
  4. System.out.println(rev);

这段代码将输出如下结果,原理是通过StringBuffer内置方法reverse实现返现输出字符串,调用该方法就可以将指定字符串反向输出

235983ffa7ae55c13ea7d1f7933665aa.png

分单词的反向输出

因为单词的特殊性,直接反向输出会导致不可辨认的情况,所以需要特殊方法

例如

ac43dab7e5a7b719634cb7c426b7031f.png

split拆分字符串处理方法

  1. String s = "To the stars and the abyss";
  2. String[] sp = s.split(" ");
  3. //通过split拆分后没有空格,反向输出我们需要填充空格
  4. //通过下标方式,处理的字符串是拆分后的sp
  5. for (int i = sp.length-1; i >-1 ; i--) {
  6. if (i>0) {
  7. System.out.print(sp[i]+" ");
  8. }else {
  9. System.out.print(sp[i]);
  10. }
  11. }
  12. System.out.println();
  13. System.out.println("--------------------------");
  14. //
  15. //创建字符串arr
  16. //处理的字符串是拆分后的sp
  17. String [] arr = new String[sp.length];
  18. for (int i = 0; i < sp.length; i++) {
  19. //通过下标增加
  20. arr[i] =sp[sp.length-i-1];
  21. }
  22. for (int i = 0; i < arr.length; i++) {
  23. if (i==arr.length-1) {
  24. System.out.print(arr[i]);
  25. }else {
  26. System.out.print(arr[i]+" ");
  27. }
  28. }
  29. System.out.println();
  30. System.out.println("--------------------------");
  31. //
  32. StringBuffer sb = new StringBuffer();//创建
  33. for (int i = 0; i < sp.length; i++) {
  34. if (i==sp.length-1) {
  35. //stringbuffer的增加操作
  36. sb.append(sp[sp.length-i-1]);
  37. }else {
  38. sb.append(sp[sp.length-i-1]);
  39. sb.append(" ");
  40. }
  41. }
  42. System.out.println(sb);

这段代码将输出如下结果,可以看到是按单词的反向,

原理是通过split拆解成了一个字符串类型的数组,在通过下标进行反向输出,同理对其他符号也适用

第一个方法:是通过for循环集合if函数不断按照反向顺序输出,注意if分支,,i因为最后输出的是是不应该有空格的,所以需要if分支来判断下标为0时候不输出空格/

第二个方法:是new了一个等长的字符串然后不断向里面输入数值

b4996174664505edae4c743a4979fded.png

发表评论

表情:
评论列表 (有 0 条评论,167人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C 反向输出

    使用C语言的递归方法对输入的字符进行反向输出。 效果 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_