Java递归算法——变位字
2016-04-06 16:57
399 查看
轮换的含义
1.c ats --> 2.ca st
3.c tsa --> 4.ct as
5.c sat --> 6.cs ta
7. atsc
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; //================================================= // File Name : Anagram_demo //------------------------------------------------------------------------------ // Author : Common //类名:BinarySearch_Find //属性: //方法: //主类 //Function : Anagram_demo public class Anagram_demo { static int Size; static int count=0; static char[] arrChar = new char[100]; public static void main(String[] args) throws Exception{ // TODO 自动生成的方法存根 System.out.println("请输入一个单词:"); String input = getString(); Size = input.length(); for(int i=0;i<Size;i++){ arrChar[i] = input.charAt(i); } doAnagram(Size); } public static void doAnagram(int newSize){ if(newSize == 1) //只有一个就不做任何处理 return; for(int i=0;i<newSize;i++){ doAnagram(newSize - 1); if(newSize == 2){ displayWord(); } rorate(newSize); } } public static void displayWord(){ System.out.print(++count); for(int i=0;i<Size;i++){ System.out.print(arrChar[i]); } System.out.println("、"); } public static void rorate(int newSize){ //轮换函数 int position = Size - newSize; char temp = arrChar[position]; for(int i=position;i<Size-1;i++){ arrChar[i] = arrChar[i+1]; } arrChar[Size-1] = temp; } //输出方法 public static String getString() throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = br.readLine(); return s; } //输出方法 public static int getInt() throws IOException{ String s = getString(); return Integer.parseInt(s); } }
相关文章推荐
- Java实现定时任务的三种方法
- javacsript:在函数内访问全局变量
- struts1和struts2原理解析
- Java8 Stream经典示例
- 不要使用String作为非最终显示信息的承载对象
- Java+Spring+MySql环境中安装和配置MyBatis的教程
- jdk安装
- 裴波那契数列 java实现
- java代理的几种方式
- Java中json的使用之创建篇(三)
- 我的技术地图
- java读写串口
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 【Java集合源码剖析】LinkedList源码剖析
- 简单的java打印功能
- MAC 环境ADT eclipse.ini 文件所在位置
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- Java多线程学习
- 深入理解Java之线程池
- 别的项目导入myeclipese出现struts problem report JDBC Exception:can not open connection解决办法