
本文档将指导您如何使用 Java 的 Scanner 类创建一个简单的图形面积计算器。该计算器允许用户选择不同的图形(矩形、圆形等),输入相应的参数,并计算出所选图形的面积。我们将提供详细的代码示例和步骤说明,帮助您理解和实现这一功能。
创建图形类
首先,我们需要定义表示不同图形的类。每个类都应该包含计算面积的方法。以下是 Rectangle 和 Circle 类的示例:
class Rectangle {
private double height;
private double width;
public Rectangle(double height, double width) {
this.height = height;
this.width = width;
}
public double calculateArea() {
return height * width;
}
}
class Circle {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double calculateArea() {
return radius * radius * 3.1415;
}
}使用 Scanner 接收用户输入
接下来,我们将使用 Scanner 类来接收用户的输入。用户需要选择图形的类型,并输入相应的参数。
import java.util.Scanner;
public class AreaCalculator {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter shape to calculate (rectangle or circle): ");
String shape = keyboard.next();
if ("rectangle".equals(shape)) {
System.out.println("Enter height: ");
double height = keyboard.nextDouble();
System.out.println("Enter width: ");
double width = keyboard.nextDouble();
Rectangle rectangle = new Rectangle(height, width);
System.out.println("The area of the rectangle is: " + rectangle.calculateArea());
} else if ("circle".equals(shape)) {
System.out.println("Enter radius: ");
double radius = keyboard.nextDouble();
Circle circle = new Circle(radius);
System.out.println("The area of the circle is: " + circle.calculateArea());
} else {
System.out.println("Unknown shape. Known shapes are rectangle and circle.");
}
keyboard.close();
}
}代码解释:
立即学习“Java免费学习笔记(深入)”;
- 导入 Scanner 类: import java.util.Scanner; 导入 Scanner 类,以便我们可以使用它来读取用户的输入。
- 创建 Scanner 对象: Scanner keyboard = new Scanner(System.in); 创建一个 Scanner 对象,它将从标准输入 (System.in) 读取数据。
- 提示用户输入形状: System.out.println("Enter shape to calculate (rectangle or circle): "); 提示用户输入要计算面积的形状。
- 读取用户输入的形状: String shape = keyboard.next(); 读取用户输入的形状,并将其存储在名为 shape 的字符串变量中。
-
使用 if-else 语句处理不同的形状:
- if ("rectangle".equals(shape)):检查用户是否输入了 "rectangle"。 "rectangle".equals(shape) 是一个字符串比较的好方法,因为它避免了 NullPointerException。
- 如果用户输入的是 "rectangle",则提示用户输入矩形的高度和宽度,然后创建一个 Rectangle 对象,调用 calculateArea() 方法计算面积,并将结果打印到控制台。
- else if ("circle".equals(shape)):如果用户输入的是 "circle",则提示用户输入圆的半径,然后创建一个 Circle 对象,调用 calculateArea() 方法计算面积,并将结果打印到控制台。
- else:如果用户输入的形状既不是 "rectangle" 也不是 "circle",则打印一条错误消息。
- 关闭 Scanner: keyboard.close(); 关闭 Scanner 对象,释放资源。 这是一个良好的编程习惯。
运行程序
将以上代码保存为 AreaCalculator.java,然后编译并运行它。程序将提示您输入形状,并根据您的选择计算面积。
注意事项
- 在实际应用中,应该添加更多的错误处理机制,例如验证用户输入的参数是否为数字,以及处理无效的形状输入。
- 可以扩展此程序以支持更多的图形,只需添加相应的类和 if-else 分支即可。
- 可以使用 switch 语句代替 if-else 语句来处理不同的形状,这可以使代码更简洁。
总结
本文介绍了如何使用 Java 的 Scanner 类创建一个简单的图形面积计算器。通过这个例子,您学习了如何接收用户输入、创建对象、调用方法以及使用条件语句来处理不同的情况。这是一个很好的入门项目,可以帮助您更好地理解 Java 的基本概念。










