百元买百鸡问题
public class ChichenNum
{int i,j,k//i公鸡数量,j母鸡数量,k小鸡数量,公鸡5元1只,母鸡3元一只,小鸡一元3只
void cnum()
{int i,j,k;
for(i=0;j<100;i++)
for(j=0;j<100;j++)
for(k=0;k<100;k++)
if(5*i+3*j+k/3==100)
{ returnthis.i=i;
returnthis.j=j;
returnthis.k=k;}
}
public staic void main(String[] args)
{ChichenNum cn=new ChichenNum();
println("公鸡数量:"+cn.i)
println("公鸡数量:"+cn.j)
println("公鸡数量:"+cn.k)
}
}
哪里错了?谢谢了(跳过代码优化)
public class ChichenNum
{int i,j,k//i公鸡数量,j母鸡数量,k小鸡数量,公鸡5元1只,母鸡3元一只,小鸡一元3只
void cnum()
{int i,j,k;
for(i=0;j<100;i++)
for(j=0;j<100;j++)
for(k=0;k<100;k++)
if(5*i+3*j+k/3==100)
{ returnthis.i=i;
returnthis.j=j;
returnthis.k=k;}
}
public staic void main(String[] args)
{ChichenNum cn=new ChichenNum();
println("公鸡数量:"+cn.i)
println("公鸡数量:"+cn.j)
println("公鸡数量:"+cn.k)
}
}
哪里错了?谢谢了(跳过代码优化)
for (j = 0; j < 100; j++) {
for (k = 0; k < 100; k++) {
if (5 * i + 3 * j + k / 3 == 100) {
return;
}
}
}
}
} public static void main(String[] args) {
ChichenNum cn = new ChichenNum();
cn.cnum();
System.out.println("公鸡数量:" + cn.i);
System.out.println("母鸡数量:" + cn.j);
System.out.println("小鸡数量:" + cn.k);
}
}以最小的修改改了一个 而且你 staic 都写错了.......static
{
int i,j,k; //i公鸡数量,j母鸡数量,k小鸡数量,公鸡5元1只,母鸡3元一只,小鸡一元3只
ChichenNum()
{
for(int i=0;i<20;i++) //最多只可能买20只,减少循环次数
for(int j=0;j<34;j++)
for(int k=0;k<100;k++)
{ if(5*i+3*j+k/3==100&&i+j+k==100)
System.out.println("公鸡数量:"+i+" 母鸡数量:"+j+" 小鸡数量:"+k); 结果可能有种
}
}
public static void main(String[] args)
{
new ChichenNum();
}
}
区别就是代码好看多了,而且可以达到复用,假如你有另外一个函数也要调用该函数,总不能去调用main函数吧,main函数当且只有一个!是程序的入口~