「java汽水案例」汽水瓶java
今天给各位分享java汽水案例的知识,其中也会对汽水瓶java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、一元钱一瓶汽水,两个空瓶能换一瓶汽水,三个瓶盖能换一瓶汽水,问20元一共能喝多少瓶。java代码怎么写?
- 2、Java代码怎么写:有20块钱买汽水,1块一瓶,三盖子换一瓶,两空瓶换一瓶子,共能买多少汽水?
- 3、有100瓶汽水,喝完后每3个空瓶能换1瓶,问最后一共喝了几瓶汽水,剩余几个空瓶。用JAVA编写程序
- 4、用jAVA写程序。N瓶汽水,M个空瓶子可以换一瓶汽水。买N瓶汽水一共可以喝多少瓶? 想喝P瓶汽水,需要买多少
一元钱一瓶汽水,两个空瓶能换一瓶汽水,三个瓶盖能换一瓶汽水,问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);
}
有100瓶汽水,喝完后每3个空瓶能换1瓶,问最后一共喝了几瓶汽水,剩余几个空瓶。用JAVA编写程序
public class Bottle
{
static int Total = 0;
static int Left = 0;
void Drink(int Num)
{
int a = Num/3;
int b = Num%3;
if(Total == 0) {
Total = Total + Num;
}
Total = Total + a;
if (a+b3) {
Left = a+b;
return;
}
else {
Drink(a+b);
}
}
public static void main(String[] args) {
Bottle Bot = new Bottle();
Bot.Drink(5);
System.out.println("一共可以喝: "+Bottle.Total+"瓶");
System.out.println("剩下空瓶: "+Bottle.Left+"瓶");
}
}
用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的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。