如何在Java中利用循环编写健壮的程序?

2025 年 1 月 6 日 | 阅读 4 分钟

在这里,我们将研究如何利用循环来开发更高效的代码。普遍认为,用循环来解决问题陈述是一种不明智的策略。尽管如此,这里仍然有大量的试验和错误空间。简而言之,循环语句允许我们多次运行一个语句或一组语句。此外,我们还可以设计健壮的代码并修改其执行以满足我们的需求。确保我们的代码能够优雅地处理各种边缘情况、用户错误和意外输入,对于设计健壮的程序至关重要。通过明智地使用循环,可以大大增强健壮性。

示例 1

假设我们想计算一个矩形的面积和周长。一个新手程序员通常会先检查长度是否大于零。如果不是,则打印一个非零的正整数。现在有什么缺陷?如果用户反复输入小于或等于零的数字,程序将打印“请输入一个非零的正整数”并终止执行。在这种情况下,我们必须不断地编译我们的代码。

实施

文件名: AreaOfRectangleExample1.java

输出

Enter the length of the rectangle:
-5
Enter the width of the rectangle:
-6
Please provide positive numbers that are not zero.

解释

我们在上面的示例中观察到,每当用户输入任何非零或负整数时,我们都必须不断地编译和运行程序。`while`循环可用于避免这种情况。通过使用循环,我们可以编写实质性的代码并控制其执行以满足我们的需求。

示例 2

给定的Java程序使用用户输入的长度和宽度作为参数来计算和显示矩形的面积和周长。当两个维度都是正数时,面积计算为 length * width,周长计算为 2 * (length + width)。然后显示结果。如果输入的尺寸不是正数,则提示用户再次输入数字,直到他们给出正确的正尺寸。在执行数学计算之前,循环确保了输入的持续验证。

实施

文件名: AreaandPerimeterRectangleExample2.java

输出

Enter the Length of the rectangle:
-5
Enter the Width of the rectangle:
10
Please specify length and width in non-zero positive numbers.
Enter Length of the rectangle:
6
Enter Width of the rectangle:
5
Perimeter of the rectangle: 22.0
Area of the rectangle: 30.0

注意:我们可以从上面的程序中观察到,在只读取一次缓冲区后,它将停止存储数据。如果我们尝试再次读取,它将提示我们输入。