输入任意字符序列,输出所有两位数的排列组合JAVA代码?

Python017

输入任意字符序列,输出所有两位数的排列组合JAVA代码?,第1张

import java.util.Scanner

public class Main {

public static void main(String[] args) {

// 创建Scanner对象,用于获取用户输入

Scanner scanner = new Scanner(System.in)

System.out.print("请输入任意字符序列:")

// 获取用户输入的字符序列

String str = scanner.nextLine()

// 循环遍历字符序列中的每个字符

for (int i = 0i <str.length()i++) {

// 获取字符序列中的第i个字符

char c1 = str.charAt(i)

// 循环遍历字符序列中的每个字符

for (int j = 0j <str.length()j++) {

// 获取字符序列中的第j个字符

char c2 = str.charAt(j)

// 如果第i个字符不等于第j个字符,则输出它们的排列

if (i != j) {

System.out.println(c1 + "" + c2)

}

}

}

}

}

按照你的要求编写的求x,y指定长度的所有排列组合的Java程序如下

import java.util.ArrayList

import java.util.List

public class EE {

 public static void combination(List<String> list, String sNumbers, String sPath, int ALen)

 {

     if (sPath.length()== ALen)

     {

      list.add(sPath)

         return

     }

     for(int i=0i<sNumbers.length()i++)

     {

      

      combination(list,sNumbers,sPath +sNumbers.substring(i,i+1), ALen)

     }

 }

 public static void main(String[] args) {

  List<String> output = new ArrayList<String>()

     System.out.println("组合")

     combination(output,"xy", "", 5)

     for(String s: output)

      System.out.print(s+" ")

     System.out.println()

     System.out.println("共"+output.size()+"个")

 }

}

运行结果

组合

xxxxx xxxxy xxxyx xxxyy xxyxx xxyxy xxyyx xxyyy xyxxx xyxxy xyxyx xyxyy xyyxx xyyxy xyyyx xyyyy yxxxx yxxxy yxxyx yxxyy yxyxx yxyxy yxyyx yxyyy yyxxx yyxxy yyxyx yyxyy yyyxx yyyxy yyyyx yyyyy

共32个