java买汽水代码 汽水瓶java

一元钱一瓶汽水,两个空瓶能换一瓶汽水,三个瓶盖能换一瓶汽水,问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代码怎么写:有20块钱买汽水,1块一瓶,三盖子换一瓶,两空瓶换一瓶子,共能买多少汽水?

正确的结果:对兑了17次,共换了93个瓶子,第18次对兑时余下1个空瓶,2个瓶盖。

递归模型楼上“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);

}

用java模拟饮料自动售卖工作程序,如价格已知,投入高于它本事价格自动计算找零,低于会提示请继续投

下附代码,可以在键盘输入加入判断,比如是否输入的是数字而不是字母等等,是否输入的是正数而不是其他符号... 另外可以将下面代码优化,封装,在main方法只做调用即可

package test;

import java.util.Scanner;

public class test {

public static void main(String[] args) {

boolean flag = true;

while(flag){

System.out.println("欢迎使用自动饮料售卖机");

System.out.println("1.雪碧 3.00");

System.out.println("2.可乐 3.00");

System.out.println("3.特仑苏 5.00");

System.out.println("4.农夫山泉 2.00");

@SuppressWarnings("resource")

Scanner input = new Scanner(System.in);

System.out.print("请输入你的选择是:");

int choise = input.nextInt();

System.out.print("请投币:");

int money = input.nextInt();

money(money, choise);

System.out.print("是否继续'1.继续 0.退出' :");

int goon = input.nextInt();

if(goon==1){

flag = true;

}else{

flag = false;

}

}

}

public static void money(int money,int choise){

switch(choise){

case 1:

if(money-30){

System.out.println("找零"+(money-3)+"元");

}else if(money-30){

System.out.println("请再投入"+(3-money)+"元");

}else if(money-3==0){

System.out.println("生活愉快");

}else{

System.out.println("输入有误!");

}

break ;

case 2:

if(money-30){

System.out.println("找零"+(money-3)+"元");

}else if(money-30){

System.out.println("请再投入"+(3-money)+"元");

}else if(money-3==0){

System.out.println("生活愉快");

}else{

System.out.println("输入有误!");

}

break ;

case 3:

if(money-50){

System.out.println("找零"+(money-5)+"元");

}else if(money-50){

System.out.println("请再投入"+(5-money)+"元");

}else if(money-5==0){

System.out.println("生活愉快");

}else{

System.out.println("输入有误!");

}

break ;

case 4:

if(money-20){

System.out.println("找零"+(money-2)+"元");

}else if(money-20){

System.out.println("请再投入"+(2-money)+"元");

}else if(money-2==0){

System.out.println("生活愉快");

}else{

System.out.println("输入有误!");

}

break ;

}

}

}

用jAVA写程序。N瓶汽水,M个空瓶子可以换一瓶汽水。买N瓶汽水一共可以喝多少瓶? 想喝P瓶汽水,需要买多少

//-------------------------------正向的算法,就是知道N和M算出P----------------------------------------

int left=0,sum=0,newBott=0;

int N=34,M=3; //要改M,N值在这里改

newBott = N;

sum =N;

if(M==1){System.out.println("无限换");}

else

{

while((newBott+left)=M) //如果还能换

{

int temp1 = (newBott+left)%M; //换了之后剩下不够换的

int temp2 = (newBott+left)/M; //换出来新的

left = temp1;

newBott = temp2;

sum = sum + newBott + left; //总数增加

}

System.out.println("一共可换 "+sum+ " 瓶");

}

//------------------------------反向算法,就是知道P,M算出N---------------------------------------------

int left=0,sum=0,newBott=0;

int N,M=15,P=222; //要改M,P值在这里改

labelA: for(N=M;NP;N++)

{

if(M==1){N=1;System.out.println("需要 "+ N+ "瓶");break;} //如果可以1瓶换1瓶,那就只用1瓶

if(M==0){N=P;System.out.println("需要 "+ N+ "瓶");break;} //如果可以1瓶换0瓶,那就用P瓶

sum =N;

newBott = N;

while((newBott+left)M)

{

int temp1 = (newBott+left)%M;

int temp2 = (newBott+left)/M;

left = temp1;

newBott = temp2;

sum = sum + newBott + left;

if(P==sum){System.out.println("需要 "+ N+ "瓶");

break labelA;}

}

}

//--------------------------------------------------------------------------------


网页标题:java买汽水代码 汽水瓶java
转载注明:http://pwwzsj.com/article/hidihc.html