轨道
/
Java
Java
/
练习
/
做千层面
做千层面

做千层面

学习练习

简介

基础

Java 是一种静态类型语言,这意味着变量的类型在编译期就已确定。 把值赋给一个名字,称为定义变量。 定义变量时需要显式指定它的类型。

int explicitVar = 10;

更新变量的值要通过=运算符完成。 这里的=并不表示数学意义上的相等,它只是把一个值赋给变量。 变量一旦定义,它的类型就永远无法改变。

int count = 1; // Assign initial value
count = 2;     // Update to new value

// Compiler error when assigning a different type
// count = false;

Java 是一种面向对象语言,要求所有函数都定义在_类_中。 class关键字用于定义类。

class Calculator {
    // ...
}

类中的函数称为_方法_。 每个方法可以有零个或多个形参。 所有形参都必须显式标注类型,形参没有类型推断。 同样,返回类型也必须显式写出。 方法通过return关键字返回值。 要让其他类能够调用某个方法,必须加上public访问修饰符。

class Calculator {
    public int add(int x, int y) {
        return x + y;
    }
}

调用方法时,需要指定它所属的类和方法名,并为方法的每个形参传入实参。

int sum = new Calculator().add(1, 2);  // here the  "add" method has been called to perform the task of addition

Java 中的作用域定义在{和}字符之间。

Java 支持两种注释。 单行注释以//开头,多行注释写在/*和*/之间。

说明

在这个练习中,你将编写一些代码,帮助你按照最喜欢的烹饪书做出一份美味的千层面。

一共有四个任务,都与烹饪千层面所用的时间有关。

1. 定义烤箱的预期时间(分钟)

定义expectedMinutesInOven()方法,它不接受任何形参,返回千层面应该在烤箱中烤多少分钟。根据烹饪书,烤箱的预期时间是 40 分钟:

Lasagna lasagna = new Lasagna();
lasagna.expectedMinutesInOven();
// => 40

2. 计算剩余的烤箱时间(分钟)

定义remainingMinutesInOven()方法,它接收千层面已经在烤箱中度过的实际分钟数作为形参,并根据上一个任务中得出的烤箱预期时间,返回千层面还需要在烤箱中烤多少分钟。

Lasagna lasagna = new Lasagna();
lasagna.remainingMinutesInOven(30);
// => 10

3. 计算准备时间(分钟)

定义preparationTimeInMinutes()方法,它接收你为千层面添加的层数作为形参,并返回你准备千层面花了多少分钟,假设准备每一层需要 2 分钟。

Lasagna lasagna = new Lasagna();
lasagna.preparationTimeInMinutes(2);
// => 4

4. 计算总工作时间(分钟)

定义totalTimeInMinutes()方法,它接收两个形参:第一个形参是你为千层面添加的层数,第二个形参是千层面已经在烤箱中度过的分钟数。这个函数应返回你烹饪千层面总共花了多少分钟,也就是准备时间的分钟数与此刻千层面在烤箱中度过的分钟数之和。

Lasagna lasagna = new Lasagna();
lasagna.totalTimeInMinutes(3, 20);
// => 26
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Java Exercism

准备好开始 做千层面 了吗?

注册 Exercism,借助 26 个概念158 个练习 和真人导师指导,学习并掌握 Java,全部免费。