Java 之 数字排列
2012-01-25 17:01
183 查看
题目:用1、2、3、4、5这五个数字,打印出所有不同的数字排列,如:51234、41235、31254等,要求:"4"不能在第三位,"3"与"5"不能相连,一个排列中数字不能重复。
题目分析:该五个数字组合实际上是一个数,这个数中最大为54321,最小为12345,因此可以用循环遍历出来。
编程实现:
public class RankNumber{
private static String [] number = new String [] {"1","2","3","4","5"};
private static boolean conditionsCheck(String str){
for(String number:number){//检查是否包含该五个数,不包含返回false
if(str.indexOf(number)<0){
return false;
}
if(str.charAt(2) == '4'){// 检查4在不在第三位,是:返回false
return false;
}
if(str.indexOf("35")>=0 || str.indexOf("53")>=0){// 检查是否存在3和5在一起,是:返回false
return false;
}
}
return true;
}
public static void main(String args[]){
System.out.println("可组成的数字排列:");
for(int i=12345; i<=54321; i++){
if(conditionsCheck(String.valueOf(i))){
System.out.print(i+" ");
}
}
}
}
题目分析:该五个数字组合实际上是一个数,这个数中最大为54321,最小为12345,因此可以用循环遍历出来。
编程实现:
public class RankNumber{
private static String [] number = new String [] {"1","2","3","4","5"};
private static boolean conditionsCheck(String str){
for(String number:number){//检查是否包含该五个数,不包含返回false
if(str.indexOf(number)<0){
return false;
}
if(str.charAt(2) == '4'){// 检查4在不在第三位,是:返回false
return false;
}
if(str.indexOf("35")>=0 || str.indexOf("53")>=0){// 检查是否存在3和5在一起,是:返回false
return false;
}
}
return true;
}
public static void main(String args[]){
System.out.println("可组成的数字排列:");
for(int i=12345; i<=54321; i++){
if(conditionsCheck(String.valueOf(i))){
System.out.print(i+" ");
}
}
}
}
相关文章推荐
- 【年少的风】java_Conti有趣的数字排列
- 【年少的风】java_Conti有趣的数字排列
- 编写一个Java应用程序。用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数, 并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同, 例如12121、3
- 2. 编写一个Java应用程序,用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、32
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
- java中输入几个数字,进行排列
- 用1、2、3、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 要求:"4"不能在第三位,"3"与"5"不能相连。
- java 递归 实现数字的排列组合
- Java实现数字排列
- 【Java中 任意几个数字获取其所有的排列组合】
- 【年少的风】java_Conti有趣的数字排列
- 【Java中 任意几个数字获取其所有的排列组合】
- 用1、2、3、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 要求:"4"不能在第三位,"3"与"5"不能相连。
- 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列
- 编程:用java 语言实现,输入一个数,就相应地输出的几维数组!||用1、2、2、3、4、5这六个数字,用java写一个函数,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- Java回溯法对数字的全排列
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
- 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连
- 2013年用友校招编程题:用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。