本帖最后由 霹雳三口组 于 2015-9-14 23:37 编辑
只想到使用for循环和if语句实现,等看几天视频再看可不可以使用其他方法实现吧,楼上的几个代码使用了还没有学到的知识点。
- package Test1;
- /**
- 用1、2、3、4这四个数字,用java写一个main函数,打印出所有不同的排列,如:1234、1243等,要求:"4"不能在第一位,"1"与"3"不能相连
- */
- public class Test2 {
- public static void main(String args[]){
- String str="";
- for (int x=1;x<4;x++){
- for (int y=1;y<5;y++){
- for(int z=1;z<5;z++){
- for(int k=1;k<5;k++){
- //for循环语句得到所有不以4开头的包含1234的组合
- if((x+y+z+k)==10){
- if ((x!=y) & (y!=z) & (z!=k) & (x!=k) &(y!=k) & (x!=z)){
- //两个if语句得到所有含有1234的组合
- str=""+x+y+z+k;
- if (!str.contains("13") & !str.contains("31")){ //排除包含的“13”或者“31”的组合
- System.out.println(str);
- }
- }
-
- }
-
- }
- }
- }
- }
-
- }
- }
复制代码
|