求助一道简单的JAVA编程题

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:13:17
我在游戏中遇到一个问题,想编写JAVA程序来解决游戏的困惑,但是老是出现问题,现求助,题目是这样的:
我现在有178个翡翠原石想做耳环,一个耳环需要1个圆形翡翠和一2个翡翠颗粒,一个圆形翡翠需要消耗2个翡翠原石来制作,1个翡翠颗粒需要消耗3个翡翠原石来制作。
问:我现有的178个翡翠原石总共可以制作多少个耳环才能使用料最合理(翡翠原石尽量用完)
我觉得用穷举法很容易就应该解决这个问题,但是做不出来,我的程序如下
public class baoshi {
public static void main(String[] args) {
int i,j;
for(i=0;i<=44;i++)
for(j=0;j<=88;j++)
if(i*2+j*2<=178){
System.out.print(i+'\t'+j);}}}
不知哪出错了,请教一下高手,谢谢
顺便给一个简单又又有效的代码吧,谢谢

我看不出来有任何需要用JAVA程序来解决的必要。一个耳环需要1个圆形翡翠和一2个翡翠颗粒,一个圆形翡翠需要消耗2个翡翠原石来制作,1个翡翠颗粒需要消耗3个翡翠原石来制作,2个翡翠颗粒就需要消耗6个翡翠原石,那不就是一个耳环需要8个翡翠颗粒嘛,178除以8等于22余2,最多22个。为什么要用JAVA?确定你的题目没搞错吧?

如果我没理解错,你的代码是想表达这个意思

for(i=0;i<=44;i++){
for(j=0;j<=88;j++){
if(i*2+j*2<=178){
System.out.print(i+'\t'+j);
}
}
}

从你的代码看你用这种方法是想把所有的178环以下的可能性都列举出来?

我建议你设一个int Max变量,所有的可能性都取完后只显示最接近178的值。

补充:我不懂Java。我的回答是根据C++的经验得出的。

//翡翠原石
int x ;
for(int x = 1 ; x< 178 ; x++ ){
if(x * 2 * 1 + x * 3 * 2 > 178){
System.out.print(x - 1);
break;
}
}

同意楼上的!
没必要用撒!哈哈
public class Test
{
public static void main(String[] args)
{
System.out.println(178/8);
}
}

用java显得很繁琐,直接用数学思维做就好!!用最简单的方式去解决问题!!这才是明智之选