我的第一节Java实验课:图形面积计算器实现全记录


我的第一节Java实验课:图形面积计算器实现全记录 | 附完整可运行代码

作为刚接触Java的新手,第一次完成实操实验课的图形面积计算器作业,从理解基础语法到调试代码,踩了几个小坑也收获了不少入门经验。今天把完整的实现过程和可直接运行的代码分享出来,希望能给同样刚入门的小伙伴一点参考~

一、实验需求

本次实验的核心目标是用Java编写一个控制台程序,实现4种常见图形的面积计算:

  1. 控制台展示图形选择菜单(矩形、正方形、圆形、三角形);
  2. 根据用户输入的图形编号,接收对应参数(长/宽、边长、直径、底/高);
  3. 封装不同图形的面积计算方法,通过调用方法得到结果并输出。

二、完整实现代码

代码采用「主方法处理逻辑+分方法封装计算」的结构,兼顾可读性和复用性,新手直接复制就能运行:

import java.util.Scanner;
public class GraphicArea {
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
                // 展示菜单//
         System.out.println("1. 矩形   2. 正方形  3. 圆形   4. 三角形");
         System.out.print("请选择需要计算面积的图形:");
                //获取操作编号//
         int bianhao = scanner.nextInt();
         //设置初始面积//
         double area = 0;
         //用switch结构语句来实现选择分支,根据输入的操作编号在case语句中编写对应的面积计算//
         switch (bianhao) {
             case 1:
                 System.out.print("请输入矩形的长:");
                 double chang = scanner.nextDouble();
                 System.out.print("请输入矩形的宽:");
                 double kuan = scanner.nextDouble();
                 area = getRectangleOrSquareArea(chang,kuan);
                 break;
             case 2:
                 System.out.print("请输入正方形的边长:");
                 double bianchang = scanner.nextDouble();
                 area = getRectangleOrSquareArea(bianchang,bianchang);
                 break;
             case 3:
                 System.out.print("请输入圆的直径:");
                 double zhijing = scanner.nextDouble();
                 area = calculateCircleArea(zhijing);
                 break;
             case 4:
                 System.out.print("请输入三角形的底:");
                 double di = scanner.nextDouble();
                 System.out.print("请输入三角形的高:");
                 double gao = scanner.nextDouble();
                 area = calculateTriangleArea(di,gao);
                 break;

        }
                System.out.println("该图形的面积为:" + area);
     }
     //计算矩形和正方形面积
     public static double getRectangleOrSquareArea(double x,double y ){
         double s=x*y;
         return s;

     }
     //计算圆形面积
     public static double calculateCircleArea(double d) {
        double s=Math.PI *(d/2)*(d/2);
        return s;
     }
     //计算三角形面积
     public static double calculateTriangleArea(double d,double h) {
         double s=(d*h)/2;
         return s;

     }
 }

三、代码核心解析(新手友好版)

1. 输入交互:Scanner类的使用

通过Scanner scanner = new Scanner(System.in);创建输入对象,实现控制台和用户的交互,分别获取「图形编号」和「图形参数」,这是Java控制台程序最基础的输入方式。

2. 分支逻辑:switch语句

switch (bianhao)根据用户输入的编号匹配对应图形,每个case处理一种图形的参数输入和方法调用,break确保执行完当前分支后退出switch,避免分支穿透。

3. 功能封装:方法定义与调用

把不同图形的面积计算逻辑封装成独立方法(比如calculateCircleArea计算圆形面积),主方法只负责逻辑调度,既符合面向对象的思想,也让代码更易维护。

  • 矩形/正方形复用同一个方法(因为正方形是特殊的矩形);
  • 圆形面积通过Math.PI调用Java内置的圆周率,基于直径计算(半径=直径/2);
  • 三角形面积遵循「底×高÷2」的公式。

四、新手小总结

第一次写Java实操代码,最大的收获是理解了「方法封装」和「分支语句」的实际应用,也踩了两个小坑:

  1. 一开始忘记给double类型的变量赋值初始值,导致编译报错;
  2. 调用方法时参数个数写错,后来对照方法定义修正后就解决了。
    这些小问题也让我意识到,Java作为强类型语言,语法细节一定要注意~

华北电力大学北京校部2025年高校专项计划录取分数统计 | 各省物理类/综合改革分数线汇总

江苏省2025年河海大学高校专项计划录取详情:分数与机遇的新图景

评 论