用java程序编写,1234这四个数进行排列组合,
1个回答
展开全部
程序已写出,希望对你有帮助。
import java.util.ArrayList;
import java.util.List;
public class Order {
public static String[] str = {"1","2","3","4"};
public static void main(String[] args){
System.out.println("-------------");
for(String s:str){
System.out.println(s+" , ");
}
System.out.println("-------------");
for(String s:get2byte()){
System.out.print(s+" , ");
}
System.out.println("-------------");
for(String s:get3byte()){
System.out.print(s+" , ");
}
System.out.println("-------------");
for(String s:get4byte()){
System.out.print(s+" , ");
}
}
public static List<String> get2byte(){
List<String> list = new ArrayList<String>();
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
list.add(str[i]+str[j]);
}
}
return list;
}
public static List<String> get3byte(){
List<String> list = new ArrayList<String>();
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
for(int k=0;k<str.length;k++){
list.add(str[i]+str[j]+str[k]);
}
}
}
return list;
}
public static List<String> get4byte(){
List<String> list = new ArrayList<String>();
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
for(int k=0;k<str.length;k++){
for(int h=0;h<str.length;h++){
list.add(str[i]+str[j]+str[k]+str[h]);
}
}
}
}
return list;
}
}
import java.util.ArrayList;
import java.util.List;
public class Order {
public static String[] str = {"1","2","3","4"};
public static void main(String[] args){
System.out.println("-------------");
for(String s:str){
System.out.println(s+" , ");
}
System.out.println("-------------");
for(String s:get2byte()){
System.out.print(s+" , ");
}
System.out.println("-------------");
for(String s:get3byte()){
System.out.print(s+" , ");
}
System.out.println("-------------");
for(String s:get4byte()){
System.out.print(s+" , ");
}
}
public static List<String> get2byte(){
List<String> list = new ArrayList<String>();
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
list.add(str[i]+str[j]);
}
}
return list;
}
public static List<String> get3byte(){
List<String> list = new ArrayList<String>();
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
for(int k=0;k<str.length;k++){
list.add(str[i]+str[j]+str[k]);
}
}
}
return list;
}
public static List<String> get4byte(){
List<String> list = new ArrayList<String>();
for(int i=0;i<str.length;i++){
for(int j=0;j<str.length;j++){
for(int k=0;k<str.length;k++){
for(int h=0;h<str.length;h++){
list.add(str[i]+str[j]+str[k]+str[h]);
}
}
}
}
return list;
}
}
追问
额~~没说清楚,排列的组合中不能有重复数据呢。
1、2、3、4、12、13、14、23、24、34、123、124、134、234、1234输出结果应该是这样子的
如果输入5位数也能这样排序最好了
追答
//好了,以下程序的输出结果和你想要的一致,但输出顺序未作控制,如果想要的话,请留言
//顺便鄙视一下另一位评论者,挑毛病的功夫谁不会,不用学编程都会挑,有能耐你也把程序写出来帮助别人呀....我花时间为人解答题目就是给你这种人挑毛病的?我的目的是什么,是给你挑刺的吗,我希望能够通过我的回答帮助到别人,懂不?
public class Order {
public static String[] str = {"1","2","3","4"};
public static void main(String[] args){
for(int i=0;i<str.length;i++){
System.out.print(str[i]+",");
for(int j=i+1;j<str.length;j++){
System.out.print(str[i]+str[j]+",");
for(int k=j+1;k<str.length;k++){
System.out.print(str[i]+str[j]+str[k]+",");
for(int h=k+1;h<str.length;h++){
System.out.print(str[i]+str[j]+str[k]+str[h]+",");
}
}
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询