java换汽水代码 java汽水瓶( 二 )


递归模型楼上“lzs丶灬 ”同志是正确java换汽水代码的 , 但存在逻辑错误 。我帮他修正如下:
public static int test(int sum, int pingzi, int gaizi){
if (pingzi2gaizi3)
{
return sum;
}
int newPingzi = pingzi / 2;
int newGaizi = gaizi / 3;
sum += newPingzi;
sum += newGaizi;
pingzi = newPingzi + newGaizi + pingzi % 2;
gaizi = newGaizi + newPingzi + gaizi % 3;
return test(sum, pingzi, gaizi);
}
一元钱一瓶汽水 , 两个空瓶能换一瓶汽水,三个瓶盖能换一瓶汽水 , 问20元一共能喝多少瓶 。java代码怎么写?package 递归;
import java.util.Scanner;
public class 汽水 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入您购买汽水所花的钱");
int money=scan.nextInt();
System.out.println("20元一共能喝"+cal(money,money,money)+"瓶");
}
/**
*
* @param sum 总瓶数
* @param cap 瓶盖数
* @param bottle 瓶子数
* @return
*/
public static int cal(int sum,int cap,int bottle){
int add=cap/3+bottle/2;//每次循环所增加的汽水
sum=sum+add;
System.out.println(sum);
cap=cap%3+add;//每次循环后的瓶盖子
System.out.println(cap);
bottle=bottle%2+add;//每次循环后的瓶子
System.out.println(bottle);
System.out.println("-----------------");
if(cap3bottle2){//递归结束的条件
return sum;
}else{
return cal(sum,cap,bottle);//递归调用
}
}
}
20元一共能喝113瓶
关于java换汽水代码和java汽水瓶的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读