Java实验二类编程实验

news2024/11/16 9:30:59

1.编写一个代表三角形的类(Triangle.java)。

其中,三条边a,b,c(数据类型为double类型)为三角形的属性,该类封装有求三角形的面积和周长的方法。分别针对三条边为3、4、5和7、8、9的两个三角形进行测试(给定三条边已经满足三角形构成条件),输出面积和周长保留2位小数。

提示:三角形面积计算公式为 

s = (a+b+c)/2

area = s * (s - a) * (s - b) * (s - c)

输出样例结果如下: 

package step1;


import java.lang.Math;
import java.util.Scanner;


public class Triangle {
	double a,b,c;
	
	public Triangle(double a, double b, double c) {
		this.a = a;
		this.b = b;
		this.c = c;
	}

	public double getArea() {
		double s = (a + b + c) / 2;
		return Math.sqrt(s * (s - a) * (s - b) * (s - c));
	}

	public double getPerimeter() {
		return a + b + c;
	}

	public static void main(String[] args) {
		Scanner input =new Scanner(System.in);
		double a = input.nextDouble();
		double b = input.nextDouble();
		double c = input.nextDouble();
    	Triangle t1 = new Triangle(a, b, c);
    	System.out.printf("三角形(%.1f,%.1f,%.1f)的面积为:%.2f\n",t1.a,t1.b,t1.c,t1.getArea());
    	System.out.printf("三角形(%.1f,%.1f,%.1f)的周长为:%.2f",t1.a,t1.b,t1.c,t1.getPerimeter());
	}

}

2.编写一个圆环类(Ring.java)。

圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性通过get和set方法进行封装,该类封装有求圆环面积、外圆周长和内圆周长的方法。

① 通过构造方法传递内半径5,外半径8,颜色为red,输出测试结果;

② 将内半径改为4,外半径改为6,颜色改为blue后,再次输出测试结果。

③ 所有输出结果要求保留2位小数。

输出样例结果如下:

package step2;

import java.lang.Math;
 
public class Ring {
    double innerRadius, outerRadius;
    String color;
 
    public Ring(double innerRadius, double outerRadius, String color) {
        this.innerRadius = innerRadius;
        this.outerRadius = outerRadius;
        this.color = color;
    }
 
    public double getArea() {
        return Math.PI * (outerRadius * outerRadius - innerRadius * innerRadius);
    }
 
    public double getInnerPerimeter() {
        return 2 * Math.PI * innerRadius;
    }
 
    public double getOuterPerimeter() {
        return 2 * Math.PI * outerRadius;
    }
    
    public void setInnerRadius(double innerRadius){
    	this.innerRadius = innerRadius;
    }
    
    public void setOuterRadius(double outerRadius){
    	this.outerRadius = outerRadius;
    }
    
    public void setColor(String color){
    	this.color = color;
    }
    
 
    public static void main(String[] args) {
    	Ring ring = new Ring(5, 8, "red");
        System.out.printf("圆环的内半径: %.1f\n",ring.innerRadius);
        System.out.printf("圆环的外半径: %.1f\n",ring.outerRadius);
        System.out.println("圆环的颜色: "+ring.color);
        System.out.printf("圆环的面积: %.2f\n",ring.getArea());
        System.out.printf("圆环的外圆周长: %.2f\n",ring.getOuterPerimeter());
        System.out.printf("圆环的内圆周长: %.2f\n",ring.getInnerPerimeter());
        System.out.println();
        ring.setInnerRadius(4);
		ring.setOuterRadius(6);
		ring.setColor("blue");
		System.out.printf("圆环的内半径: %.1f\n",ring.innerRadius);
        System.out.printf("圆环的外半径: %.1f\n",ring.outerRadius);
        System.out.println("圆环的颜色: "+ring.color);
        System.out.printf("圆环的面积: %.2f\n",ring.getArea());
        System.out.printf("圆环的外圆周长: %.2f\n",ring.getOuterPerimeter());
        System.out.printf("圆环的内圆周长: %.2f",ring.getInnerPerimeter());
		
        
 
    }
}

3.编写一个学生类(Student.java),

包含的属性有学号、姓名、年龄。将所有学生存储在一个数组中,自拟数据,用数组的初始化方法给数组赋值,并实现如下操作。 

① 按数组中顺序显示所有学生信息。

② 将所有学生年龄增加1岁。

③ 显示所有年龄大于20岁的学生信息。

输出样例结果如下:

package step3;


 
public class Student {
	int id;
	int age;
	String name;
 
	public Student(int id, int age, String name) {
		this.id = id;
		this.age = age;
		this.name = name;
	}
 
	public void increaseAge() {
		this.age += 1;
	}
 
	public static void main(String[] args) {
		// 创建并初始化学生数组
		Student s1 = new Student(1, 18, "小明");
		Student s2 = new Student(2, 20, "小张");
		Student s3 = new Student(3, 19, "小李");
		Student s4 = new Student(4, 18, "小王");
		Student s5 = new Student(5, 20, "小赵");
 
		Student s[] = { s1, s2, s3, s4, s5 }; // 给对象数组赋值
		System.out.println("班级学生名单如下:");
 
		// 显示所有学生信息
		for (Student student : s) {
			System.out.println("学号:" + student.id + ",姓名:" + student.name + ",年龄:" + student.age);
		}
 
		// 将所有学生年龄增加1岁
		System.out.println("所有学生年龄加 1 后...");
		for (Student student : s) {
			student.increaseAge();
		}
		for (Student student : s) {
			System.out.println("学号:" + student.id + ",姓名:" + student.name + ",年龄:" + student.age);
		}
 
		// 显示所有年龄大于20岁的学生信息
		int number = 0;
		for (Student student : s) {
			if (student.age > 20) {
				number++;
			}
		}
		System.out.println("大于 20 岁人数是:" + number);
	}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1163775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试:postman使用总结

一、为何使用postman postman是一款简单高效的接口测试工具,能够很方便发送接口请求,易于保存接口请求脚本,postman提供接口响应数据比对功能,可以设置预期结果作断言,还能把测试用例放在一个集合中批量执行&#xff…

七月论文审稿GPT第二版:从Meta Nougat、GPT4审稿到mistral、llama longlora

前言 如此前这篇文章《学术论文GPT的源码解读与微调:从chatpaper、gpt_academic到七月论文审稿GPT》中的第三部分所述,对于论文的摘要/总结、对话、翻译、语法检查而言,市面上的学术论文GPT的效果虽暂未有多好,可至少还过得去&am…

图论问题建模和floodfill算法

目录 引入:leetcode695.岛屿的最大面积 分析与转换 一维二维转换 四联通 完整代码解答: 1)显示的创建图解决问题的代码 2)不显示的创建图解决此问题的代码 floodfill算法 定义 引入:leetcode695.岛屿的最大面…

精准测试:提高软件质量和用户满意度的利器

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

c语言练习(9周)(16~20)

输入12个一位整数,创建二维数组a[3][4],显示二维数组及各列的平均值,平均值四舍五入到小数点后一位。 题干输入12个一位整数,创建二维数组a[3][4],显示二维数组及各列的平均值,平均值四舍五入到小数点后一…

华为云服务器,在线安装MySQL

需求 在华为云服务器上,部署MySQL数据库,通过 公网IP 访问数据库。 通过 yum ,在线安装MySQL;配置远程连接,开放3306端口,能够通过公网访问。 云服务器配置说明 本文所使用的 华为云服务器 配置如下。 …

有关常见的#define定义的函数的陷阱和修正(详解)

一、#define f(x) x*x #include<stdio.h> #define f(x) x*x int main() {int a6,b2,c;cf(a)/f(b);printf("f(a)%d\n",f(a));//6*6printf("f(b)%d\n",f(b));//2*2printf("f(b1)%d\n",f(b1));//21*21; printf("f(b2)%d\n",f(b2))…

如何回答好“测得怎么样了?”

有测试员抱怨开发很糟糕&#xff0c;但我们没办法要求开发在会写代码的同时还要把代码写好&#xff0c;没有过多的bug&#xff0c;因为这就是我们的工作&#xff1b;测试员吐槽自己的老板很较真&#xff0c;但我们没办法拒绝领导们的批评指责&#xff0c;因为批评代表我们还有继…

VFIO的使用及原理

vfio设备透传主要用于将设备直通给虚拟机以提高性能&#xff0c;本篇以一张网卡为例讲述VFIO设备的配置使用及底层原理。其中涉及的技术背景主要有linuxqemukvmvfio。 一、VFIO网卡的配置使用 1.host配置iommu 首先是宿主机host必须支持硬件虚拟化技术&#xff0c;如x86架构…

是谁家班主任还不知道 怎么发布期中成绩啊。

你知道吗&#xff1f;居然还有班主任不知道怎么发布期中成绩&#xff01; 发布成绩并不是一件难事&#xff0c;只需几个步骤&#xff0c;就能轻松搞定&#xff01; 给大家讲一下成绩查询是什么。成绩查询是指学生通过一定的方式&#xff0c;如输入学号、姓名等&#xff0c;在指…

小程序如何设置自动使用物流账号发货

小程序支持自动使用物流账号发货并生成运单号。商家需要与物流公司合作&#xff0c;获取物流账号&#xff0c;支持快递物流和同城外卖配送平台。具体方法请参考公众号之前发布的文章&#xff0c;例如可以搜索“快递账号”。 导入物流账号后&#xff0c;在小程序管理员后台->…

Ansible中的变量及加密

目录 1.变量命名 2.变量级别 3.变量设定和使用方式 在playbook中直接定义变量 在文件中定义变量 使用变量 设定主机变量和清单变量 目录设定变量 用命令覆盖变量 使用数组设定变量 ​编辑 注册变量 事实变量 ​编辑 魔法变量 JINJA2模板 j2模板书写规则 ​编辑 f…

【MySQL】 索引(上)

文章目录 1. 索引的概念2. MySQL与磁盘 的交互基本单位3. 建立共识4. 现象与结论如何理解mysql中page概念为什么 要采用page的方案 进行交互 而不是用多少加载多少&#xff1f; 5. 页目录为什么要引入 页目录概念单页情况多页情况使用B树 构建索引为什么不用其他数据结构为什么…

打造更智能的移动端平台,蚂蚁mPaaS5.0亮相云栖大会

11月2日&#xff0c;在云栖大会上&#xff0c;蚂蚁数科宣布mPaaS正式升级至5.0版本。mPaaS5.0融合了蚂蚁大模型框架下的多种算法能力&#xff0c;以AI智能引擎驱动移动端平台的运营、服务和体验管理实现全链路升级&#xff0c;助力金融机构及企业打造更加智能、更懂用户的移动端…

数据结构与算法:使用数组模拟环形队列Java版

文章目录 如何使用数组模拟队列环形队列逻辑分析自己写的听课笔记实现代码部分方法说明 如何使用数组模拟队列 不知道如何使用数组模拟队列的可以看上一篇文章 使用数组模拟队列点击跳转 环形队列逻辑分析 自己写的听课笔记 实现代码 package com.haimeng.queue;import java…

Java实验三类的继承与派生

1.定义一个Person类&#xff0c;包含姓名&#xff08;name&#xff09;、性别&#xff08;sex&#xff09;、年龄&#xff08;age&#xff09;等字段&#xff1b;继承Person类设计Teacher 类&#xff0c;增加职称&#xff08;pro&#xff09;、部门&#xff08;department&…

配置git并把本地项目连接github

一.配置git 1.下载git&#xff08;Git&#xff09;&#xff0c;但推荐使用国内镜像下载&#xff08;CNPM Binaries Mirror&#xff09; 选好64和版本号下载&#xff0c;全部点下一步 下载完成后打开终端&#xff0c;输入 git --version 出现版本号则说明安装成功 然后继续…

《巴渝小将》少儿电视综艺走进江小白金色黄庄拍摄圆满成功!

巴渝小将&#xff0c;乘风破浪&#xff01; 张扬巴渝魅力&#xff0c;展示少年风采&#xff0c;本期拍摄我们来到了位于江津的江小白金色黄庄。 江小白金色黄庄位于永兴镇黄庄村&#xff0c;是一座充满诗意又不乏童趣的农文旅综合体&#xff0c;基于当地良好的酿酒高粱产业基础…

Diango项目-简易个人博客项目

项目实现功能 在admin后台自定义添加上传文档。对展示在首页的文章分页显示。在首页点击文章的阅读全文按钮可进入该文章全文详情页进行浏览。对文章实现了内容分类何以发布时间进行归档分类。使用django的whoose搜索引擎对全文实现内容的搜索。 项目涉及技术 Mysql Djan…

性价比最高的开放式耳机是哪款、超高性价比开放式耳机

入耳式的耳机堵塞耳道&#xff0c;长时间佩戴耳朵闷闷的很不舒服。很多人更倾向于选择开放式耳机&#xff0c;即使是暴汗耳朵依旧保持通透。今天就来多方位评测一下市面上炙手可热的几款开放式耳机吧 1、西圣开放式耳机 推荐指数&#xff1a;★★★★★ 官方售价&#xff1a…