有 1、 2、 3、 4 个数字, 能组成多少个互不相同且无重复数字的三位数? 计算并打印出这些数字
2016-11-16 15:18
543 查看
作业:1、 有 1、 2、 3、 4 个数字, 能组成多少个互不相同且无重复数字的三位数? 计算并打印出这些数字;
编写思想:在百位、个位、十位数字上分别遍历1/2/3/4, 只要十位、个位、百位上的数字均不相等 就输出来
用到的知识点:for循环,数组,if语句的使用
第一种方法:
public class Arrange {
public static void main(String[] args) {
Nums n = new Nums();
int[] arr = n.print();
}
class Nums {
/*
* 定义一个输出数组的方法
*/
public int[] print() {
}
第二种方法:简化版
int i=0,j=0,k=0;
for(i=1;i<5;i++){
for(j=1;j<5;j++){
if(i!=j){
for( k=1;k<5;k++){
if(k!=j&&k!=i){
System.out.print(i);
System.out.print(j);
System.out.print(k);
System.out.println();
}
}
}
}
或 把数据封装后可以有下列写法
编写思想:在百位、个位、十位数字上分别遍历1/2/3/4, 只要十位、个位、百位上的数字均不相等 就输出来
用到的知识点:for循环,数组,if语句的使用
第一种方法:
public class Arrange {
public static void main(String[] args) {
Nums n = new Nums();
int[] arr = n.print();
//使生成的数组打印成两排 for(int i=0;i<arr.length/2;i++){ System.out.print(arr[i]+" "); } System.out.println(); for(int i=arr.length/2;i<arr.length;i++){ System.out.print(arr[i]+" "); } }
}
class Nums {
/*
* 定义一个输出数组的方法
*/
public int[] print() {
int[] arr1 = new int[64]; //共有64种可能 int flag = 0; //标记数组的产生 for (int i = 1; i < 5; i++) { //百位循环 for (int j = 1; j < 5; j++) { //十位循环 for (int k = 1; k < 5; k++) { //个位循环 if (i != j && (i != k) && (j != k)) { //判断百位、个位、十位都不相等 arr1[flag] = i * 100 + j * 10 + k; flag++; } } } } int[] arr2 = new int[flag]; System.arraycopy(arr1, 0, arr2, 0, flag);//复制生成新的数组 return arr2; }
}
第二种方法:简化版
int i=0,j=0,k=0;
for(i=1;i<5;i++){
for(j=1;j<5;j++){
if(i!=j){
for( k=1;k<5;k++){
if(k!=j&&k!=i){
System.out.print(i);
System.out.print(j);
System.out.print(k);
System.out.println();
}
}
}
}
或 把数据封装后可以有下列写法
char[] a ={'1','2','3','4'}; int index = 0; char[] arrys=new char[3]; for(int i = 0; i<a.length;i++){ for(int j = 0; j<a.length;j++ ){ for(int k = 0; k<a.length;k++ ){ if(a[i]!=a[j] && a[j]!=a[k]&& a[k] !=a[i]){ arrys[0]=a[i]; arrys[1]=a[j]; arrys[2] =a[k] ; index++; System.out.println("循环第 "+index+" : "+arrys[0]+" , "+arrys[1]+" , "+arrys[2]); } } }
相关文章推荐
- c语言:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- C语言 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- 有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?打印出来
- c语言:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- C语言 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- 编写程序求解: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- 编写程序求解: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
- 有1、2、3、4四个数字,编写程序计算出能组成多少个互不相同且无重复数字的三位数
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数
- [Java] 练习题011: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
- 问题十七:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- [Java] 练习题011: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
- 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?