小白错误写法
import java.util.Scanner;
public class test16 {
public static void main(String[] args) {
// 给 20 块钱买可乐,每瓶可乐 3 块钱,喝完之后退瓶子可以换回 1 块钱, 问最多可 以喝到多少瓶可乐
// 不用想着用if判断和嵌套将问题复杂化,只要这几部就能解决
Scanner sc=new Scanner(System.in);
System.out.println("请输入你所携带的金额:");
int a=sc.nextInt();
int b=a/3; //b=6瓶
int c=a%3; // c=2
int num=(c+b)/3;//num=2瓶
int num1=(c+b)%3;// num1=2
int num2=(num+num1)/3;//num2=1瓶,(num+num1)%3+1<3停止,还剩2元
int Num=b+num+num2;
System.out.println(a+"块钱最多能买"+Num+"瓶可乐");
}
}
正解:
import java.util.Scanner;
public class test16 {
public static void main(String[] args) {
// 给 20 块钱买可乐,每瓶可乐 3 块钱,喝完之后退瓶子可以换回 1 块钱, 问最多可 以喝到多少瓶可乐
// 不用想着用if判断和嵌套将问题复杂化,只要这几部就能解决
Scanner sc=new Scanner(System.in);
System.out.println("请输入你所携带的金额:");
int money=sc.nextInt();
int count=0;
int coke=3;
while (money>=coke){
money-=coke;//每买一瓶减三块钱
count++;
money+=1;//每喝一瓶加一块钱
} System.out.println("块钱可以买"+count+"瓶可乐");
运行结果如下: