黑马程序员技术交流社区
标题:
用JAVA解决一个小问题,求解
[打印本页]
作者:
李征
时间:
2013-5-16 23:25
标题:
用JAVA解决一个小问题,求解
本帖最后由 李征 于 2013-5-17 18:06 编辑
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?分别打印出来,貌似要用到循环,但是没有思路,求大神给个思路,然后再写个大概的代码,十分感谢
作者:
long
时间:
2013-5-17 00:02
public class Print{
public static void main(String[] args) {
for(int i = 123; i <= 432; i++){
//i中的数字必须为1至4,否则排除i
if(((i/100) > 4) || ((i/10%10) > 4) || (i%10 > 4) || (i%10 == 0) || (i/10%10 == 0))
continue;
//i的百位、十位、各位互不相同
else if((i/100) != (i/10%10) && (i/100) != (i%10) && (i/10%10) != (i%10))
System.out.println(i);
}
}
}
复制代码
作者:
逸盏清茶
时间:
2013-5-17 00:25
public static void main(String[] args)
{
int i,j,k;
System.out.printf("\n");
for(i=1;i<5;i++)
{
for(j=1;j<5;j++)
{
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k)
System.out.println(""+i+j+k);
}
}
}
}
复制代码
作者:
尖卡斌引
时间:
2013-5-17 00:51
/*
给定四个数 1 2 3 4 。排列组合成三位数。不重复
思路:1。 选出一个数放在百位上
2. 选出一个数和百位上的数字不同,放在十位上
3. 选出一个数和百位上的数和十位上的数都不同,放在个位上
4. 打印这个数。
*/
class ShuLie1234
{
public static void main(String[] args)
{
int[] arr = {1,2,3,4}; //定义一个数组 把这四个数存进去。
int a,b,c;
int num=0; //用于存储这样的数的个数
for(int i=0;i<4;i++)
{
a = arr[i]; // 确定百位上的数。
for(int j=0;j<4;j++)
{
if(j!=i)
{
b = arr[j]; //确定十位上的数。
for(int k=0;k<4;k++)
{
if(k!=j&&k!=i)
{
c = arr[k]; // 确定 个位上的数
num++;
System.out.println(a*100+b*10+c); // 打印这个数
}
}
}
}
}
System.out.println("这样的数的个数为:"+num); //打印个数。
}
}
作者:
李征
时间:
2013-5-17 18:07
谢谢楼上3位,我看懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2