Java宝藏实验资源库(3)类

news2024/11/25 20:21:23

一、实验目的

  1. 理解面向对象程序的基本概念。
  2. 掌握类的继承的实现机制。
  3. 熟悉类中成员的访问控制方法。
  4. 熟悉ArrayList类的使用。

二、实验内容过程及结果

*9.5Programming Exerc
ise the GregorianCal endar class) Java API has the GregorianCalendar class in the java. uti7 package, which you can use to obtain the year, month, and day of a date. The no-arg constructor constructs an instance for the current date, and the methods get(GregorianCalendar.YEAR), get(GregorianCalendar.MONTH),and get(GregorianCalendar. DAY_OF_MONTH) return the year, month, and day.Write a program to perform two tasks:
■ Display the current year, month, and day.
The GregorianCalendar class has the setTimeInMillis(long), which can be used to set a specified elapsed time since January 1, 1970. Set the value to 1234567898765L and display the year, month, and day.

*9.5编程Exerc Java API在Java中有GregorianCalendar类。Uti7包,您可以使用它来获取日期的年、月和日。无参数构造函数为当前日期构造一个实例,并使用get(GregorianCalendar. year)、get(GregorianCalendar. month)和get(GregorianCalendar)方法。DAY_OF_MONTH)返回年、月、日。编写一个程序来执行两个任务: ■显示当前的年、月、日。 GregorianCalendar类具有setTimeInMillis(long),可用于设置指定的经过时间。

运行代码如下 : 

package chapter09;
import java.util.GregorianCalendar;
class Code_05 {
    public static void main(String[] args){
        GregorianCalendar calendar = new GregorianCalendar();
        System.out.println(calendar.get(calendar.YEAR) + ":" + calendar.get(calendar.MONTH) + ":" + calendar.get(calendar.DAY_OF_MONTH));

        calendar.setTimeInMillis(1234567898765L);
        System.out.println(calendar.get(calendar.YEAR) + ":" + calendar.get(calendar.MONTH) + ":" + calendar.get(calendar.DAY_OF_MONTH));
    }
}

运行结果  

*9.10 (Algebra: quadratic equations) Design a class named QuadraticEquation fora quadratic equation ax2 + bx + x = 0. The class contains:

■ Private data fields a, b, and c that represent three coefficients.

■ A constructor for the arguments for a, b, and c.

■ Three getter methods for a, b, and c

*9.10(代数:二次方程式)为二次方程式ax2+bx+c=0设计一个名 QuadraticEquation的类。这个类包括:

■ 代表三个系数的私有成员变量a、b和c。

■ 一个参数为a、b和c的构造方法。

■ a、b、c 的三个get 方法。

运行代码如下 : 

Main.java
import java.util.Scanner;
class Unite9Test10
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入a,b,c:");
        double a = input.nextDouble();
        double b = input.nextDouble();
        double c = input.nextDouble();
        QuadraticEquation q =new QuadraticEquation(a,b,c);
        if(q.getRoot1()==0 && q.getRoot2()==0)
        {
            System.out.println("The equation has no roots");
        }else if(q.getRoot1()==q.getRoot2())
        {
            System.out.println(q.getRoot1());
        }else
        {
            System.out.println("root1 = "+q.getRoot1()+","+"root2 = "+q.getRoot2());
        }
    }
}
 QuadraticEquation.java
class QuadraticEquation
{
    private double a;
    private double b;
    private double c;
    public QuadraticEquation(double a,double b,double c)
    {
        this.a = a;
        this.b = b;
        this.c = c;
    }
    public double getA() {
        return a;
    }
    public void setA(double a) {
        this.a = a;
    }
    public double getB() {
        return b;
    }
    public void setB(double b) {
        this.b = b;
    }
    public double getC() {
        return c;
    }
    public void setC(double c) {
        this.c = c;
    }
    public double getDiscriminant()
    {
        return b*b - 4*a*c;
    }
    public double getRoot1()
    {
        double root1 = (-b +Math.sqrt(this.getDiscriminant()))/(2*a);
        if(getDiscriminant() >= 0)
        {
            return root1;
        }else
        {
            return 0;
        }
    }
    public double getRoot2()
    {
        double root2 = (-b - Math.sqrt(this.getDiscriminant()))/(2*a);
        if(getDiscriminant() >= 0)
        {
            return root2;
        }else
        {
            return 0;
        }
    }
}

运行结果  

三、实验结论 

       通过本次实验实践了二次方程式知识和操作,得到了编程与数学,逻辑思维息息相关的感悟,要想写优秀的代码,头脑必须清醒,思维必须井井有条,敲写代码时必须心无旁骛。

 结语   

细节决定成败

态度决定高度

注重细节,端正态度

!!!

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

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

相关文章

Windows11 24H2网络功能全新升级:全面支持Wi-Fi 7!

Windows11 24H2版本不仅推出了很多新功能,也全面升级了网络功能,全面支持Wi-Fi 7,带给用户最快的网速体验,还支持用户通过二维码分享Wi-Fi密码,操作更加便捷,也更新了SMB、LAPS和NDR协议。接下来跟随小编去…

《C++ Primer》导学系列:第 7 章 - 类

7.1 定义抽象数据类型 7.1.1 类的基本概念 在C中,类是用户定义的类型,提供了一种将数据和操作这些数据的函数(成员函数)组合在一起的方法。类定义了对象的属性和行为,通过实例化类来创建对象。 7.1.2 定义类 定义类…

ru俄罗斯域名如何申请SSL证书?

我们日常看到的都是com这种国际域名比较普遍,尤其是主流网站,主要原因考虑的其通用性,那么对于地方性的域名大家很少看到,比如俄罗斯国家域名.ru大家还是有些陌生的,但要说中国.CN域名那你就很熟悉了。 有用户在申请过…

Anthropic AI模型Claude 3.5 Sonnet在Amazon Bedrock上正式可用

Claude 3.5 Sonnet是Anthropic最先进的Claude系列AI模型的新成员,比Claude 3 Opus更智能且价格只有其五分之一 北京——2024年6月21日 亚马逊云科技宣布,Anthropic最新、最强大的模型Claude 3.5 Sonnet现已在Amazon Bedrock上正式可用,该模型…

Syslog日志外发

Syslog是一种广泛应用于网络设备、操作系统和应用程序的日志通信协议,通过收集、监控和分析Syslog日志,企业可以有效维护网络安全、故障排除和运营管理。 除了内部监控,有时企业也需要将Syslog日志外发以实现更多的管理和合规需求。在实现Sy…

C#委托:事件驱动编程的基石

目录 了解委托 委托使用的基本步骤 声明委托(定义一个函数的原型:返回值 参数类型和个数) 根据委托定义的函数原型编写需要的方法 创建委托对象,关联“具体方法” 通过委托调用方法,而不是直接使用方法 委托对象所关联的方…

YOLOv8改进 | FPN | 新型上采样算子CARAFE【全网独家】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容,内含各种Head检测头、损失函数Loss、…

构建个人文件上传服务:Python Flask实现上传和下载完整指南

介绍 在本教程中,我们将学习如何使用Python Flask框架将文件上传到服务器,并使用SQLite数据库来跟踪上传的文件。我们将提供后端代码和一个示例项目的Git链接,以便您可以轻松地跟随本教程。 准备工作 首先,您需要安装Python和F…

揭秘无局放电源:定义、工作原理及其在工业设备中的重要性

当代社会对电源安全性,精密性要求越来也高,对电源设备的需求也越来越高。无局放电源作为电源设备中的一种,由于其独特的优点,越来越受到各行各业的关注。目前,无局放电源在全球范围内得到了广泛应用,尤其是…

springboot特殊问题处理2——springboot集成flowable实现工作流程的完整教程(一)

在实际项目开发过程中,流程相关的业务实现采用工作流会异常清晰明了,但是Activity学习成本和开发难度对追求效率的开发工作者来说异常繁琐,但是作为Activity的亲儿子之一的flowable,其轻量化的使用和对应的api会让开发者感受简单&…

今日分享丨浅谈RAG的技术特点及优势

一、引言 随着AI技术的发展,我们见证了人工智能在理解和处理自然语言方面取得的巨大进步。特别是结合了检索增强生成(Retrieval-Augmented Generation, RAG)和大语言模型(Large Language Model, LLM)的系统&#xff0…

华企网安技术博弈:白帽子团队如何破解网赌网站

在数字化时代,網賭作为一种新型犯罪形式,其隐蔽性和跨国性给执法机关带来了前所未有的挑战。一批专业的网络安全团队——白帽子,正利用他们的专业技能与犯罪分子进行技术博弈,有效地破解網賭网站,为打击網賭犯罪贡献力…

银河麒麟V10安装docker和docker-compose

1. 说明 系统镜像使用的是Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso如果是在VMware中安装这个系统,需选择Ubuntu,如果选Centos会有问题。 尝试使用在线方式安装docker,报了很多错误,比较麻烦,建议使用离…

Bilibili开源发布轻量级 Index 系列语言模型:2.8T 训练数据,支持角色扮演

Bilibili首次发布 Index 系列模型中的轻量版本:Index-1.9B 系列 本次开源的 Index-1.9B系列包含以下模型: Index-1.9Bbase:基座模型,具有 19 亿 非词嵌入参数量,在 2.8T 中英文为主的语料上预训练,多个评测基准上与…

Marin说PCB之电源完整性PDN--Murata三端子电容--01

不知道诸位老铁们有没有忘记我们常用的电容的一些特性,例如在其谐振频率左边,电容主要呈容性,在谐振频率右边,电容主要呈感性。我随便找了一个电容:GRT188C80J226ME13,其频率特性图如下所示: 我…

Qt creator day5练习

Qt 中实现TCP 聊天服务器 大致流程 创建套接字服务器QTcpServer对象 通过QTcpServer对象设置监听,即QTcpServer::listen() 基于QTcpServer::newConnection()信号检测…

大模型面试题目精选分享

前言 掌握大模型面试关键,我精选了一系列面试题目。从模型理解到应用实践,全方位考察大模型知识。无论你是初学者还是资深专家,这里都有适合你的题目。快来挑战自己,提升面试技能吧! 面试题笔记分享 为了助力朋友们…

日常工作中常用的管理工具

日常工作中常用的管理工具 SWOT分析法: 帮你清晰地把我全局,分析自己在资源方面的优势域劣势,把握环境提供的机会,防范可能存在的风险与威胁,对我们的成功有非常重要的意义 PDCA循环规则: 每一项工作&#…

RPM 打包入门(基于openEuler)

主要参考内容(均为官方文档): https://rpm-packaging-guide.github.io/#building-rpms https://docs.redhat.com/zh_hans/documentation/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/introduction-to-rpm_packagin…

用Python设置Excel工作表网格线的隐藏与显示

Excel表格界面的直观性很大程度上得益于表格中的网格线设计,这些线条帮助用户精确对齐数据,清晰划分单元格。网格线是Excel界面中默认显示的辅助线,用于辅助定位,与单元格边框不痛,不影响打印输出。然而,在…