gpt4 book ai didi

java - 厨师做饭又如何来回?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:14 28 4
gpt4 key购买 nike

我正在练习制作一个 cooking 程序,但我被困在厨师做饭以及如何计算两位厨师做了多少顿饭的问题上。

import java.util.Scanner;

public class Cooking {

int count = 0;
String chefName;
String foodName;
Scanner scanner = new Scanner(System.in);

public void chefName() {
System.out.println("What is the name of chef 1?");
scanner.next();
System.out.println("What is the name of chef 2?");
scanner.next();
count++;
//System.out.println("This week you made " + count + " deliveries!");
//System.out.println("Bye, " + driverName + "!");
}

public void foodName() {
Scanner console = new Scanner(System.in);
System.out.println("Meal 1: What would you like to eat?");
foodName = scanner.nextLine();
System.out.println(chefName + " is cooking " + foodName);
System.out.println("Meal 2: What would you like to eat?");
foodName = scanner.nextLine();
System.out.println(chefName + " is cooking " + foodName);
scanner.next();
count++;
}
}

public class MainProgram1 {

public static void main(String[] args) {
// Create cooking records
Cooking cookingByBob = new Cooking();
cookingByBob.chefName = "Bob";

Cooking cookingByAnne = new Cooking();
cookingByAnne.chefName = "Anne";

// Start delivering
System.out.println("Hi!");
cookingByBob.chefName();
cookingByAnne.foodName();

当我运行它时,安妮负责做饭。

我要怎么做才能让安妮做饭 1,然后做鲍勃 2 和鲍勃 3,然后安妮做饭 4 5?另外,我如何计算所有煮熟的饭菜?

最佳答案

你的主要问题是你有很多抽象错误;这让您很难将真正需要的东西添加到您的代码中。

例子:类应该代表一些“真实”的概念;与现实相似的东西。你的类(class) Cooking 不是那样的。首先是此类向用户查询厨师的姓名和食物;但另一方面,您的主程序随后会以编程方式 为这些字段分配值。这非常令人困惑。

只需考虑像这样改变整个事情:

class Cook {
private final String name;
Cook(String name) { this.name = name; }

允许您创建

Cook bob = new Cook("bob");

然后你可以像 Cook 添加方法

class Cook { ...
void prepareFood(String foodName) ...
List<String> getPreparedFoods() ...

现在你可以做

bob.prepareFood("1");
anne.prepareFood("2");

以后

System.out.println("food by bob: " + bob.getPreparedFoods());

或类似的东西。问题是:您当前的程序中有很多“噪音”,这让您很难以正确的方式写下那个简单的序列。

长话短说:在开始编码之前,请考虑要实现的“故事”所需的“事物”和“行为”。然后围绕这些抽象构建您的程序。

关于java - 厨师做饭又如何来回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937225/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com