扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
正确的结果:对兑了17次,共换了93个瓶子,第18次对兑时余下1个空瓶,2个瓶盖。
创新互联专业为企业提供龙南网站建设、龙南做网站、龙南网站设计、龙南网站制作等企业网站建设、网页设计与制作、龙南企业网站模板建站服务,10余年龙南做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
递归模型楼上“lzs丶灬 ”同志是正确的,但存在逻辑错误。我帮他修正如下:
public static int test(int sum, int pingzi, int gaizi){
if (pingzi 2 gaizi 3)
{
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);
}
public class Card {
public String type; //卡的类型
public String cardCode; //卡号
public double money; //钱
/**
* 重写toString()方法
*/
public String toString(){
return "卡的类型:"+type+"\t卡号:"+cardCode+"\t余额:"+money;
}
}public class Person {
Card card;
/**
* 构造方法,一般用来初始化信息
* 此方法是创建对象时自动调用的
*
*/
public Person(){
card=new Card();
card.type="招商银行";
card.money=1000D;
}
/**
*
* @param money 你要取的钱
* @return 返回的是取到的钱
*/
public double getMoney(double money){
if( (card.money-money) =0){
card.money=card.money-money;//从卡中减去要取的钱,并重新改变卡中的余额
return money;
}else{
System.out.println("余额不足:请存款!");
return 0;
}
}
/**
* 存款
* @param money
*/
public void setMoney(double money){
if(money=0){
System.out.println("不能为0!");
}else
card.money=card.money+money;
}
/**
* 这个方法是输出客户卡的信息
*/
public void print(){
System.out.println(card);
}
}public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p=new Person();
p.card.cardCode="111100022222";
p.setMoney(1000);
double money=p.getMoney(2000);
System.out.println(p.card);
}
}
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瓶
public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转出,从转出账号中扣除转账金额 * fromAccoutnId 转出账号 * amount 转账金额 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转入,从转入账号中增加转账金额 * toAccoutnId 转出账号 * amount 转账金额 */ public void transerIn(String toAccountId,BigDecimal amount); } public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转出,从转出账号中扣除转账金额 * fromAccoutnId 转出账号 * amount 转账金额 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转入,从转入账号中增加转账金额 * toAccoutnId 转出账号 * amount 转账金额 */ public void transerIn(String toAccountId,BigDecimal amount); }
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流