做个菜
代码:
import java.util.Scanner;
public class 学做菜
{
/**
* @param args
*/
public static void main(String[] args) {
// 涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。
// 涛涛现在会做的菜有五种:
// 1、 西红柿炒鸡蛋 原料:AABDD
// 2、 酸辣鸡丁 原料:ABCD
// 3、 宫保鸡丁 原料:CCD
// 4、 水煮西红柿 原料:BBB
// 5、 怪味蛋 原料:AD
// 这天早上,开开去早市给涛涛买了一些原料回来。由于事先没有什么计划,涛涛决定,对于现存的原料,每次尽量做菜单上靠前(即编号小)的菜。
// 现在请你写一个程序,判断一下开开和涛涛中午能吃到哪些菜。
Scanner sc = new Scanner(System.in);
// 输入开开买的原料
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = sc.nextInt();
//声明一维数组存储做的菜
int[] arr = new int[5];
//循环找到相应符合的菜
while ((a >= 2 && b >= 1 && d >= 2)
|| (a >= 1 && b >= 1 && c >= 1 && d >= 1) || (c >= 2 && d >= 1)
|| (b >= 3) || (a >= 1 && d >= 1))
{
if (a >= 2 && b >= 1 && d >= 2)
{
arr[0]++;
a -= 2;
b -= 1;
d -= 2;
continue;
}
if (a >= 1 && b >= 1 && c >= 1 && d >= 1)
{
arr[1]++;
a -= 1;
b -= 1;
c -= 1;
d -= 1;
continue;
}
if (c >= 2 && d >= 1)
{
arr[2]++;
c -= 2;
d -= 1;
continue;
}
if (b >= 3)
{
arr[3]++;
b -= 3;
}
if (a >= 1 && d >= 1)
{
arr[4]++;
a -= 1;
d -= 1;
continue;
}
}
//输出
for (int i = 0; i < arr.length; i++)
{
System.out.println(arr[i]);
}
}
}