import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test7
{
    private static String s="";
    
    public static void main(String[] args)
    {
        String str = "我是谁";
        System.out.println(permutation(str.toCharArray(), 0));
    }
    
    //随机打乱一个字符串的排序方式
      public static String shuffleForSortingString(String s) {
            char[] c = s.toCharArray();
            List<Character> lst = new ArrayList<Character>();
            for (int i = 0; i < c.length; i++) {
                lst.add(c[i]);
            }
            System.out.println(lst);
            Collections.shuffle(lst);
            System.out.println(lst);
            String resultStr = "";
            for (int i = 0; i < lst.size(); i++) {
                resultStr += lst.get(i);
            }
            System.out.println(resultStr);
            return resultStr;
        }
        
        
  //打印字符串中所有排序(包含单个的)
        public static void execute(char[] array, List<String> list) {
            for (int i = 0; i < array.length; i++) {
                if (list.contains(array[i])) {
                    continue;
                }
                list.add(array[i]+"");
                if (list.size() == array.length) {
                    String str = "";
                    for (int n = 0; n < list.size(); n++) {
                        str += list.get(n);
                    }
                    System.out.println(str);
                } else {
                    execute(array, list);
                }
            
                list.remove(list.size() - 1);
            }
        }

//打印字符串中所有排序(就是一个字符串中的排序方式)
     public static String permutation(char[] str, int i) {
         if (i>= str.length)
             return s;
         if (i == str.length - 1) {
             s+="'"+String.valueOf(str)+"',";
             System.out.println(String.valueOf(str));
         } else {
             for (int j = i; j < str.length; j++) {
                 char temp = str[j];
                 str[j] = str[i];
                 str[i] = temp;
                 permutation(str, i + 1);
                 temp = str[j];
                 str[j] = str[i];
                 str[i] = temp;
             }
         }
         return s!=""?"select * from tableName where name in("+s.substring(0,s.length()-1)+")":s;
     }
    
}

java输入一个字符串,打印出该字符串中字符的所有排列,随机打乱排序的更多相关文章

  1. java 输入一个字符串,打印出该字符串中字符的所有排列

    import java.util.Scanner; public class Demo001 { public static void main(String[] args) { String str ...

  2. 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007

    include "stdafx.h" #include<iostream> #include<vector> #include <algorithm& ...

  3. 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

    题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输 ...

  4. 剑指offer27:按字典序打印出该字符串中字符的所有排列

    1 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: ...

  5. 编写javad代码实现使用Scanner从键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符

    package com.loaderman.test; import java.util.HashSet; import java.util.Scanner; public class Test2 { ...

  6. 剑指Offer-14:输入一个链表,输出该链表中倒数第k个结点。

    题目描述: 输入一个链表,输出该链表中倒数第k个结点.例如有一个链表有六个节点1,2,3,4,5,6.则它的倒数第二个节点为5 节点定义如下: public class ListNode { int ...

  7. 算法:输入一个链表,输出该链表中倒数第k个结点。

    算法:输入一个链表,输出该链表中倒数第k个结点.<剑指offer> 思路加到注释里面了: 1:两个if判断是否返回值为空,首个为空,没有第k个值: 2:for循环找到倒数第k个值,返回为a ...

  8. 【剑指offer】输入一个链表,输出该链表中倒数第k个结点。

    一.题目: 输入一个链表,输出该链表中倒数第k个结点. 二.思路: 用两个指针p1和p2,p2先跑k步,然后p1和p2同时跑,p2跑到头p1所在的位置就是倒数第k个节点.很简单吧?简单你也想不到,想到 ...

  9. 剑指offer14:输入一个链表,输出该链表中倒数第k个结点。

    1. 题目描述 输入一个链表,输出该链表中倒数第k个结点. 2. 思路和方法 可以用两个指针,一个指针遍历到第k个结点的时候,第二个指针再走到第一个节点,然后两个指针的距离始终保持k-1.这样,当第一 ...

随机推荐

  1. 6个值得推荐的Android开源框架简介(转)

    虽然我们在做app的时候并不一定用到框架,但是一些好框架的思想是非常有学习价值的 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo  ...

  2. IIS配置php运行环境默认加载的php.ini路径

    第一步: 把PHP的安装路径添加到环境变量Path中,右键 “我的电脑” -> 高级 -> 环境变量 -> 系统变量,追加 D:PHP-5.2.8\; 第二步: 新建“系统变量” P ...

  3. session应用----登录验证小案例

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  4. Eclipse中Ctrl+方法名发现无法进入到该方法中……

    我现在的情况是,按住Ctrl点击该方法后,发现进入不到这个方法的定义. 后来我发现,是因为这个项目是在某个项目文件夹中,如下: 这时直接找到server这个项目就没有问题了,如图:

  5. loadrunner中切割strtok字符串

    http://blog.sina.com.cn/s/blog_7ee076050102vamg.html http://www.cnblogs.com/lixiaohui-ambition/archi ...

  6. dubbo服务治理框架设计

    dubbo.JSF作为使用最广泛的服务端框治理架,其设计和实现思想值得进行学习研究. 整个服务管理框架核心的原理基于反射以及socket调用实现,服务管理框架包含服务的注册管理 服务的索引管理以及服务 ...

  7. 03 Javascript初识

    Javascript语言(★★★★★)      Javascript是基于对象和事件驱动的脚本语言,作用在客户端.              特点: * 交互性 * 安全性(不能访问本地的硬盘)   ...

  8. codefroces 589A

    time limit per testsecondsmemory limit per testmegabytesinputstandard inputoutputstandard outputPoly ...

  9. wpf中手风琴控件Accordion编辑模板后控件不正常。

    昨天有个网友Accordion控件从sl迁移到wpf时候显示不正常.也是就没有效果. 我也是sl做的比较多,wpf玩的少,Accordion模板里触发器,状态组调了一早上都没达到满意效果, 无奈只有百 ...

  10. springmvc导出excel并弹出下载框

    https://my.oschina.net/aptx4869/blog/298507