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

一、实验目的

  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),可用于设置指定的经过时间。

运行代码如下 :

java 复制代码
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 方法。

运行代码如下 :

java 复制代码
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;
        }
    }
}

运行结果

三、实验 结论

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

结语

细节决定成败

态度决定高度

注重细节,端正态度

!!!

相关推荐
一水鉴天41 分钟前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
Frank_refuel1 小时前
C++11之一场名为“搬家”的 C++ 之旅
开发语言·c++
Wang's Blog2 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_962071572 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
hetao17338373 小时前
2026-10-03~04 hetao1733837 的刷题记录
c++·算法
\光辉岁月/3 小时前
5.java-数组
java·开发语言
Java后端的Ai之路3 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
谢亮_vipxieliang4 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
Zootopia6264 小时前
飞行力学知识梳理1|飞行性能与稳定性
人工智能·python·算法·机器学习·无人机·学习方法·信息与通信
longlongzihan4 小时前
从LeetCode 70. 爬楼梯看动态规划:如何精准推导状态转移方程?
c++·算法·leetcode·动态规划