Java算法基础-逆序算法
2017-11-06 10:51
232 查看
package com.seatel.testjava; import java.util.Stack; /** * 关于java算法 */ public class myClass { public static void main(String[] args) { String string = "123abc"; System.out.println(string); //非静态方法(非static的方法要先new一个对象才能调用) myClass m = new myClass(); string = m.reverse1(string); //静态方法(static方法可通过类名.方法名的方式调用) String string1 = reverse2(string); System.out.println(string); System.out.println(string1); } //字符串逆序的方法 public String reverse1(String string) { StringBuffer sb = new StringBuffer(); for (int i = string.length() - 1; i >= 0; i--) { sb.append(string.charAt(i)); } return sb.toString(); } public static String reverse2(String string) { StringBuffer sb = new StringBuffer(string); for (int i = 0, j = sb.length() - 1; i < sb.length() >>> 1; i++, j--) { char temp = sb.charAt(i); //首 sb.setCharAt(i, sb.charAt(j)); //尾 sb.setCharAt(j, temp); } return sb.toString(); } public static String reverse3(String string) { StringBuffer sb = new StringBuffer(); Stack<Character> s = new Stack<Character>(); for (int i = 0; i < string.length(); i++) { s.add(string.charAt(i)); } for (int i = 0; i < string.length(); i++) { sb.append(s.pop()); } return sb.toString(); } }
打印结果:
另外在Android studio中直接运行java程序的方法:
project -> 新建 Module -> Java Library -> Run myClass.main()
相关文章推荐
- java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现
- JAVA代码—算法基础:子数组的最大累加和问题
- 算法-蓝桥杯-基础练习 杨辉三角形(JAVA)
- java(34):基础算法(3):二分查找法
- 算法-蓝桥杯-基础练习 十六进制转十进制(JAVA)
- java基础算法之因式分解
- 基础算法(Java实现)导航
- java基础一些简易算法题
- java 基础知识-数组的7种算法(排序、求和、最值、遍历...)
- 传说中的15道常见的基础算法题java解法
- JAVA代码—算法基础:寻找缺失的数组元素
- java基础—算法设计
- Java 算法基础 -递归
- JAVA代码—算法基础:马走8×8棋盘问题
- 数据结构(Java)——图的基础算法
- 算法-蓝桥杯- 基础练习 闰年判断 (JAVA)
- 【Java一些基础算法】
- Java入门:基础算法之计算三角形面积
- java 基础知识-数组的7种算法(排序、求和、最值、遍历...)
- JAVA代码—算法基础:二叉树基础(基本性质)