/*3.分析以下需求,并用代码实现:
(1)打印由7,8,9三个数组组成的三位数,要求该三位数中任意两位数字不能相同
(2)打印格式最后的三位数字以空格分隔,如789 798 879 897 978 987
分析:
输入三个数字;*/
package com.heima.work13;
import java.util.Scanner;
public class TestWork03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
System.out.println("请输入第一个数字:");
arr[0] = sc.nextInt();
System.out.println("请输入第二个数字:");
arr[1] = sc.nextInt();
System.out.println("请输入第三个数字:");
arr[2] = sc.nextInt();
if(arr[0]==arr[1]||arr[0]==arr[2]||arr[1]==arr[2])
System.out.println("输入数字不能相同!");
String str = result(arr);
System.out.println("三个数字的所有组合为:"+str);
}
//穷举法:
public static String result(int[] arr) {
StringBuilder str = new StringBuilder("");
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
for (int j2 = 0; j2 < arr.length; j2++) {
if (arr[i] != arr[j] && arr[i] != arr[j2]
&& arr[j] != arr[j2])
str = str.append(arr[i]).append(arr[j]).append(arr[j2]).append(" ");
}
}
}
return str.toString().trim();
}
}
|
|