国外创意设计网站,宝应县天宇建设网站,国内外免费开源cms,贵阳做网站开发的公司写在前面
1、基于2022级软件工程/计算机科学与技术实验指导书
2、代码仅提供参考
3、如果代码不满足你的要求#xff0c;请寻求其他的途径
运行环境
window11家庭版
IntelliJ IDEA 2023.2.2
jdk17.0.6
实验要求
1、 控制台菜单。要求如下#xff1a;
1#xff09;… 写在前面
1、基于2022级软件工程/计算机科学与技术实验指导书
2、代码仅提供参考
3、如果代码不满足你的要求请寻求其他的途径
运行环境
window11家庭版
IntelliJ IDEA 2023.2.2
jdk17.0.6
实验要求
1、 控制台菜单。要求如下
1 在 Exp01_ x 类中添加一个方法 menu_x用于显示下面各实验题目并调它们的方 法
2 以菜单形式显示各实验题目如0.结束 1.面积和周长 2.成绩和等级
3 如果输入的题号不是菜单中所列数字序号要明确提示是负数或超范围并显示菜 单让用户重新选择
4 各实验题目执行完成后继续显示菜单直到用户选择 0 结束 menu_x 方法
5 本方法由 Main 类的 main 方法调用。
2、 面积和周长。要求如下
1 在 Exp01_ x 类中添加一个方法 areaPerimeter_x功能是当输入的两个数都大于 0 且小于等于 30 时则输出矩形的面积和周长如果只有一个数大于 0 且小于等 于 30 时则输出圆的面积和周长如果两个数均小于等于 0 或者大于 30 时则 提示输入数据无效
2 本方法由 Exp01_ x 类的 menu_x 方法调用。
3、 成绩和等级。要求如下
1 在 Exp01_ x 类中添加一个方法 grade_x功能是打印某学生一学期的 Java数据库 和英语的成绩和等级优、良、中、及格和不及格并计算出平均成绩。
2 本方法由 Exp01_ x 类的 menu_x 方法调用。
4、 求近似值。要求如下
1 在 Exp01_ x 类中添加一个方法 approximate_x功能是求 e11/1!1/2!1/3!…1/n! 的近似值当 1/n! 小于万分之一时停止计算。
2 本方法由 Exp01_ x 类的 menu_x 方法调用。
5、 公式计算。要求如下
1 在 Exp01_ x 类中分别添加方法 formulaIf_x 和 formulaSwitch_x分别用 if 和 switch 语句实现给定一个 t 值计算并输出 y 的值公式如下 { 2 − 1 0 ≤ 1 3 − 2 ⋅ − 2 1 ≤ 3 2 − ⋅ 3 ≤ 5 1 5 ≤ 7 − 1 其他
}
2 两个方法均由 Exp01_ x 类的 menu_x 方法调用
源代码
Exp01_x.java
import java.util.Scanner;
public class Exp01_x {// 实验题目1面积和周长public void areaPerimeter_x() {Scanner scannernew Scanner(System.in);int x, y;while (true) {System.out.println(实验题目1面积和周长);System.out.println(请输入两个数范围要求:大于0且小于等于30);x scanner.nextInt();y scanner.nextInt();if (x 0 x 30 y 0 y 30) {// 计算矩形的面积和周长System.out.println(输入数据都大于0且小于等于30计算矩形面积);System.out.println(矩形的面积 (x * y));System.out.println(矩形的周长 (2 * (x y)));break;} else if (x 0 x 30 || y 0 y 30) {// 计算圆的面积和周长double radius (x y) ? x : y;System.out.println(输入数据只有一个大于0且小于等于30计算圆的面积);System.out.println(圆的面积 (Math.PI * radius * radius));System.out.println(圆的周长 (2 * Math.PI * radius));break;} else {System.out.println(输入的数据无效请确保至少有一个数大于0且小于等于30。);}}}// 实验题目2成绩和等级public void grade_x() {System.out.println(实验题目2成绩和等级);double javaScore, databaseScore, englishScore;String javaGrade, databaseGrade, englishGrade;double averageScore;Scanner scannernew Scanner(System.in);System.out.println(请输入学生的Java成绩);javaScore scanner.nextDouble();System.out.println(请输入学生的数据库成绩);databaseScore scanner.nextDouble();System.out.println(请输入学生的英语成绩);englishScore scanner.nextDouble();// 计算Java成绩等级if (javaScore 90) {javaGrade 优;} else if (javaScore 80) {javaGrade 良;} else if (javaScore 70) {javaGrade 中;} else if (javaScore 60) {javaGrade 及格;} else {javaGrade 不及格;}// 计算数据库成绩等级if (databaseScore 90) {databaseGrade 优;} else if (databaseScore 80) {databaseGrade 良;} else if (databaseScore 70) {databaseGrade 中;} else if (databaseScore 60) {databaseGrade 及格;} else {databaseGrade 不及格;}// 计算英语成绩等级if (englishScore 90) {englishGrade 优;} else if (englishScore 80) {englishGrade 良;} else if (englishScore 70) {englishGrade 中;} else if (englishScore 60) {englishGrade 及格;} else {englishGrade 不及格;}// 计算平均成绩averageScore (javaScore databaseScore englishScore) / 3;// 打印成绩和等级System.out.println(Java成绩 javaScore 分等级 javaGrade);System.out.println(数据库成绩 databaseScore 分等级 databaseGrade);System.out.println(英语成绩 englishScore 分等级 englishGrade);System.out.println(平均成绩 averageScore 分);}// 实验题目3求近似值public void approximate_x() {System.out.println(实验题目4求近似值);double e 1; // e的初始值为1int n 1; // 初始化n为1double term; // 用来存储每一项的值while (true) {term 1.0 / factorial(n); // 计算第n项的值e term; // 将第n项加到e上n; // n自增if (term 0.0001) { // 当1/n小于0.0001时停止计算break;}}System.out.println(e的近似值为 e);}// 计算n的阶乘public double factorial(int n) {if (n 0) {return 1; // 0的阶乘定义为1} else {return n * factorial(n - 1); // 递归计算阶乘}}// 实验题目5公式计算// 使用if语句计算y的值public static void formulaIf_x(double t) {double y;if (t 0 t 1) {y t * t - 1;} else if (t 1 t 3) {y t * t * t - 2 * t - 2;} else if (t 3 t 5) {y t * t - t * Math.sin(Math.PI * t / 180);} else if (t 5 t 7) {y t 1;} else {y t - 1;}System.out.println(使用if语句计算出的y值 y);}// 使用switch语句计算y的值public static void formulaSwitch_x(double t) {double y;int caseValue (int) t;switch (caseValue) {case 0:case 1: y t * t - 1; break;case 2:case 3: y t * t * t - 2 * t - 2; break;case 4:case 5: y t * t - t * Math.sin(Math.PI * t / 180); break;case 6: y t 1; break;default: y t - 1; break;}System.out.println(使用switch语句计算出的y值 y);}
// 显示菜单并调用实验题目的方法public void menu_x() {int choice;Scanner scanner new Scanner(System.in);while (true) {System.out.println(请选择实验题目);System.out.println(0.结束);System.out.println(1.面积和周长);System.out.println(2.成绩和等级);System.out.println(3.求近似值);System.out.println(4.公式计算使用if语句);System.out.println(5.公式计算使用switch语句);System.out.print(请输入你的选择);choice scanner.nextInt();switch (choice) {case 0:System.out.println(程序已退出);System.exit(0);break;case 1:areaPerimeter_x();break;case 2:grade_x();break;case 3:approximate_x();break;case 4:System.out.println(请输入t的值);double t1scanner.nextDouble();formulaIf_x(t1);break;case 5:System.out.println(请输入t的值);double t2scanner.nextDouble();formulaSwitch_x(t2);break;default:System.out.println(输入的数据无效请重新输入);break;}}}}Main.java
public class Main {public static void main(String[] args) {Exp01_x exp01 new Exp01_x();exp01.menu_x(); // 调用菜单方法}
}运行结果