今天做了这个Java题目,第一次使用与或非做出来的有点差异,刚开始没找出错误原因,然后换了多重循环做出来返回使用与或非去做发现自己的值设定存在问题,两种方法都挺简单的,给各位做参考;
方法一:多重循环
public static void main(String[] args) {
int a,b,c;
int d=0;//循环次数,值代表出现的次数;
for(a=1;a<=4;a++){//百位
for(b=1;b<=4;b++){//十位
for(c=1;c<=4;c++){//个位
if (a!=b&&b!=c&&a!=c){//设定条件,三个不等;
System.out.println("数字为:"+ (a*100+b*10+c));
d++;
}
}
}
}
System.out.println("共有:"+d+"种可能");
}
方法二:与或非
public static void main(String[] args) {
int x=0;
for(int i=100;i<1000;i++){//先输入个三位数;
int a=i/100;//百位
int b=i/10%10;//十位
int c=i%10;//个位
if(a<=4&&b<=4 &&c<=4&& a*b*c>0){
if(a!=b && b!=c && a!=c){
System.out.print( i+"\t");
x++;
}
}
}
System.out.println("\n"+"共组成:"+x+"个");
}
结果:
学习者者总结;
希望对各位有所帮助;