下载 >  课程资源 >  Java > java中用数组为一个类定义多个对象
4

java中用数组为一个类定义多个对象

java中用数组为一个类定义多个对象,并对其进行实例化
2011-11-17 上传大小:768B
分享
收藏 举报

评论 共4条

sparta_why 模板不错,可以用来学习
2015-01-18
回复
linxiaobo2125 有些模板可以套用
2014-07-18
回复
moranzifang 还不错,写的蛮详细的
2012-12-12
回复
liutao12311 应该说 新手可以看看把
2012-11-21
回复
2.方法与构造方法
java中怎么创建对象数组
JAVA 对象数组必须实例化
面向对象与Java实现(类、对象、构造方法

面向对象与Java实现(类、对象、构造方法

立即下载
Spring包下面的所有类

Spring docs可以方便查找spring包下面的所包含的类,可以更适合应用哦

立即下载
面向程序对象设计

c++ppt,c++ppt帮你快速学习,吕凤翥般

立即下载
JAVA程序设计面向对象实训报告

目录 模块一、创建程序包 1 模块二、添加Customer 类 4 模块三、修改存款、提款方法 8 模块四、用数组表示多重性 12 模块五、Account类的两个子类 15 扩展练习1、创建客户账户 21 扩展练习2、实现更为复杂的透支保护机制 29 模块六、单例模式 37 模块七、自定义异常 42 模块八、集合 48 扩展训练3:修改CustomerReport类 55 模块九、利用文件I/O实现数据持久化 59 扩展训练4:添加DAO接口 64 总结与体会 68 模块一、创建程序包 创建一个简单的银行程序包 实训目的: Java 语言中面向对象的封装性及构造器的创建和使用。 实训说明: 在这个练习里,创建一个简单版本的 Account 类。将这个源文件放入 banking 程序包中。在创建单个帐户的默认程序包中,已编写了一个测试程序 TestBanking。这个测试程序初始化帐户余额,并可执行几种简单的事物处理。最后,该测试程 序显示该帐户的最终余额。 提示: 1.创建 banking 包 2. 在 banking 包下创建 Account 类。该类必须实现上述 UML 框图中的模型。 a. 声明一个私有对象属性:balance,这个属性保留了银行帐户的当前(或 即时)余额。 b. 声明一个带有一个参数(init_balance)的公有构造器,这个参数为 balance 属性赋值。 c. 声明一个公有方法 geBalance,该方法用于获取经常余额。 d. 声明一个公有方法 deposit,该方法向当前余额增加金额。 e. 声明一个公有方法 withdraw 从当前余额中减去金额。 3.打开TestBanking.java文件,按提示完成编写,并编译 TestBanking.java 文件。 4. 运行 TestBanking 类。可以看到下列输出结果: public class Account { private double balance = 0; public Account(){ } public Account(double newbalance){ this.balance = newbalance; } public double getbalance(){ return balance; } public void setbalance(double newbalance){ balance = (newbalance >=0) ? newbalance:0; } public void withdraw(double drawbalance){ setbalance(getbalance()-drawbalance); } public void deposit(double depban){ setbalance(getbalance()+depban); } } public class TestBanking { public static void main(String[] args){ Account billy = new Account(500); billy.withdraw(150); billy.deposit(22.5); billy.withdraw(47.62); System.out.println("Creating an account with a 500.00 balance\nWithdraw 150.00\nDeposit 22.50\nWithdraw 47.62" +"\nThe account has a balance of "+ billy.getbalance()); } } 小结模块一:在本学期的作业中已经做过,改了一下,很简单。 模块二、添加Customer 类 扩展银行项目,添加一个 Customer 类。Customer 类将包含一个 Account对象。 实训目的: 使用引用类型的成员变量。 提 示: 1. 在banking包下的创建Customer类。该类必须实现上面的UML图表中的模型。 a. 声明三个私有对象属性:firstName、lastName 和 account。 b. 声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f 和 l) c. 声明两个公有存取器来访问该对象属性,方法 getFirstName 和 getLastName 返回相应的属性。 d. 声明 setAccount 方法来对 account 属性赋值。 e. 声明 getAccount 方法以获取 account 属性。 2. 在 exercise2 主目录里,编译运行这个 TestBanking 程序。应该看到如下输出结果: public class Customer { public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public Account getAccount() { return account; } public void setAccount(Account account) { this.account = account; } private String firstName; private String lastName; private Account account; public Customer(String name){ String[] n = name.split("\\s+"); this.firstName=n[0];this.lastName=n[1]; } } public class TestBanking { public static void main(String[] args){ Customer billy=new Customer("Jane Smith"); billy.setAccount(new Account(500)); billy.getAccount().withdraw(150); billy.getAccount().deposit(22.5); billy.getAccount().withdraw(47.62); System.out.println( "Creating the customer "+billy.getFirstName()+" "+billy.getLastName()+ "\nCreating an account with a 500.00 balance\nWithdraw 150.00\nDeposit 22.50\nWithdraw 47.62" +"\nCustomer ["+billy.getLastName()+","+billy.getFirstName()+"] has a balance of "+ billy.getAccount().getbalance()); } } 小结模块二:Account是为Customer做准备,学会了构造类的技巧。 模块三、修改存款、提款方法 修改 withdraw 方法以返回一个布尔值,指示交易是否成功。 实训目的: 使用有返回值的方法。 提 示: 1. 修改 Account 类 a. 修改 deposit 方法返回 true(意味所有存款是成功的)。 b. 修改 withdraw 方法来检查提款数目是否大于余额。如果amt小于 balance, 则从余额中扣除提款数目并返回 true,否则余额不变返回 false。 2. 在主目录编译并运行 TestBanking 程序,将看到下列输出; public class Account { private double balance = 0; public Account(){ } public Account(double newbalance){ this.balance = newbalance; } public double getbalance(){ return balance; } public void setbalance(double newbalance){ balance = (newbalance >=0) ? newbalance:0; } public boolean withdraw(double drawbalance){ if(drawbalance<=getbalance()){ setbalance(getbalance()-drawbalance); return true;} return false; } public boolean deposit(double amount){ if(amount>0){setbalance(getbalance()+amount);return true;} return false; } } public class TestBanking { public static void main(String[] args){ Customer billy=new Customer("Jane Smith"); billy.setAccount(new Account(500)); System.out.println( "Creating the customer "+billy.getFirstName()+" "+billy.getLastName()+ "\nCreating her account with a 500.00 balance.\nWithdraw 150.00:"+ billy.getAccount().withdraw(150)+ "\nDeposit 22.50:"+billy.getAccount().deposit(22.5)+ "\nWithdraw 47.62:"+billy.getAccount().withdraw(47.62) +"\nWithdraw 400:"+billy.getAccount().withdraw(400)+ "\nCustomer ["+billy.getLastName()+","+billy.getFirstName()+ "] has a balance of "+ billy.getAccount().getbalance()); } } 小结模块三:难点是在测试程序,加深理解了类的get、set方法的使用。 模块四、用数组表示多重性 将用数组实现银行与客户间的多重关系。 实训目的: 在类中使用数组作为模拟集合操作。 提示: 对银行来说,可添加 Bank 类。 Bank 对象跟踪自身与其客户间的关系。用 Customer 对象的数组实现这个集合化的关系。还要保持一个整数属性来跟踪银 行当前有多少客户。 a. 创建 Bank 类 b. 为 Bank 类 增 加 两 个 属 性 : customers(Customer对象的数组 ) 和 numberOfCustomers(整数,跟踪下一个 customers 数组索引) c. 添加公有构造器,以合适的最大尺寸(至少大于 5)初始化 customers 数组。 d. 添加 addCustomer 方法。该方法必须依照参数(姓,名)构造一个新的 Customer 对象然后把它放到 customer 数组中。还必须把 numberofCustomers 属性的值加 1。 e. 添加 getNumOfCustomers 访问方法,它返回 numberofCustomers 属性值。 f. 添加 getCustomer方法。它返回与给出的index参数相关的客户。 g. 编译并运行 TestBanking 程序。可以看到下列输出结果: public class TestBanking { public static void main(String[] args){ Bank a=new Bank(); a.addCustomer("Simms","Jane"); a.addCustomer("Bryant","Owen"); a.addCustomer("Soley","Tim"); a.addCustomer("Soley","Maria"); System.out.println("Customer [1] is "+ a.getCustomer(1).getFirstName()+","+a.getCustomer(1).getLastName()); System.out.println("Customer [2] is "+ a.getCustomer(2).getFirstName()+","+a.getCustomer(2).getLastName()); System.out.println("Customer [3] is "+ a.getCustomer(3).getFirstName()+","+a.getCustomer(3).getLastName()); System.out.println("Customer [4] is "+ a.getCustomer(4).getFirstName()+","+a.getCustomer(4).getLastName()); } } public class Bank {private Customer[] customers; private int numberOfCustomer=0 ; public Bank(){ super(); customers=new Customer[10]; } public void addCustomer(String f,String l) { customers[this.numberOfCustomer]=new Customer(f,l); this.numberOfCustomer+=1; } public Customer getCustomer(int index) { return customers[index-1]; } public int getNumberOfCustomer() { return numberOfCustomer; } } 小结模块四:Customer是为Bank做准备,利用数组添加Customer进Bank。

立即下载
声明测试类TestStudent完成对多态性的测试:(1)在主方法中声明Student类的数组(含五个元素)。(2)生成五个对象存入数组,其中三个Student类的对象一个StudentXW类的对象一个StudentBZ类的对象。(3)将方法testScore()发送给数组的每一个元素,输出结果,并分析具体执行的是哪一个类中的方法

声明测试类TestStudent完成对多态性的测试:(1)在主方法中声明Student类的数组(含五个元素)。(2)生成五个对象存入数组,其中三个Student类的对象、一个StudentXW类的对象、一个StudentBZ类的对象。(3)将方法testScore()发送给数组的每一个元素,输出结果,并分析具体执行的是哪一个类中的方法

立即下载
简单银行账户应用程序

添加一个有两个参数的公有构造器:message和deficit。Message参数应传递给超类构造器。deficit参数初始化deficit实例变量

立即下载
声明一个类Point,然后利用它声明一个组合类Line,实现由用户输入两点确定直线的长度和斜率,编写程序实现测试

声明一个类Point,然后利用它声明一个组合类Line,实现由用户输入两点确定直线的长度和斜率,编写程序实现测试

立即下载
试题库程序编写题.doc

两个protected属性:矩形的宽width;矩形的高height。 两个构造器方法: (1)一个带有两个参数的构造器方法,用于将width和height属性初化; (2)一个不带参数的构造器,将矩形初始化为宽和高都为10。 两个方法: (1) 求矩形面积的方法area() (2) 求矩形周长的方法perimeter() 1、 答案内容: class Rect

立即下载
求平均值的接口

声明一个求平均值的接口 Average,其中两个求平均值的方法,分别以 整形数组、字符串数组(数字的字符串形式)为参数,返回数组值的平均数。

立即下载
面向对象与C++试题.doc

《面向对象程序设计》试题 一、单选题(每空2分,共40分) 1、关于C++与C语言关系的描述中,( )是错误的。 A.C语言是C++语言的一个子集 B.C语言与C++语言是兼容的 C.C++语言对C语言进行了一些改进 D.C++语言和C语言都是面向对象的 2、已知:int m=10; 下列表示引用的方法中,( )是正确的。 A.int& x=m; B.int& y=10; C.int& z; D.float& t=&m; 3、考虑下面的函数原型声明: void DefPar(int a, int b=7, char z = '*'); 下面函数调用中,不合法的是( )。 A.DefPar(5); B.DefPar(5,8); C.DefPar(5,'#'); D.DefPar(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( )。 A.函数的返回值类型 B.参数的类型 C.函数名称 D.参数个数 5、下列有关C++类的说法中,不正确的是( )。 A.类是一种用户自定义的数据类型 B.只有类中的成员函数或类的友元函数才能存取类中的私有成员 C.在类中,如果不做特别说明,所有成员的访问权限均为私有的 D.在类中,如果不做特别说明,所有成员的访问权限均为公用的 6、已知X类,则当程序执行到语句X array[3];时,调用了( )次构造函数。 A.0 B.1 C.2 D.3 7、有关析构函数的说法,不正确的是( )。 A.析构函数有且仅有一个 B.析构函数和构造函数一样可以有形参 C.析构函数的功能是在系统释放对象之前作一些内存清理工作 D.析构函数无任何函数类型 8、类定义的内容允许被其对象无限制地存取的是( )。 A.private 部分 B. protected 部分 C.public 部分 D.以上都不对 9、关于常数据成员的说法,不正确的是( )。 A.常数据成员的定义形式与一般常变量的,只不过常数据成员的定义必须出现在类体中 B.常数据成员必须进行初始化,并且不能被更新 C.常数据成员通过构造函数的成员初始化列表进行初始化 D.常数据成员可以在定义时直接初始化 10、运用运算符delete删除一个动态对象时( )。 A.系统首先为该动态对象调用构造函数,再释放其占用的内存 B.系统首先释放该动态对象占用的内存,再为其调用构造函数 C.系统首先为该动态对象调用析构函数,再释放其占用的内存 D.系统首先释放动态对象占用的内存,再为其调用析构函数 11、可在类外用p.a的形式访问派生类对象 p的基类成员a,其中a是( )。 A.私有继承的公用成员 B.公用继承的私有成员 C.公用继承的保护成员 D.公用继承的公用成员 12、在公用继承方式下,有关派生类对象和基类对象的关系,不正确的叙述是(  )。 A.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用 C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类的指针 13、设置虚基类的目的是( )。 A.简化程序 B.消除二义性 C.提高运行效率 D.减少目标代码 14、在C++中,用于实现动态多态性的是( )。 A.内联函数 B.重载函数 C.模板函数 D.虚函数 15、不能说明为虚函数的是( )。 A.析构函数 B.构造函数 C.类的成员函数 D.以上都不对 16、如果一个类至少有一个纯虚函数,那么就称该类为( )。 A.抽象类 B.派生类 C.纯基类 D.以上都不对 17、下面关于友元的描述中,错误的是( )。 A.友元函数可以访问该类的私有数据成员 B.一个类的友元类中的成员函数都是这个类的友元函数 C.友元可以提高程序的运行效率 D.类与类之间的友元关系可以继承 18、下列运算符中,( )运算符在C++中不能被重载。 A.&& B.[ ] C.:: D.new 19、模板的使用实际上是将类模板实例化成一个( )。 A.函数 B.对象 C.类 D.抽象类 20、假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )。 A.MyClass(MyClass x) B.MyClass&(MyClass x) C.MyClass(MyClass &x) D.MyClass(MyClass *x) 二、填空题(前16个空,每空1分,后2个空,每空2分,共20分) 1、类和对象的关系可表述为:类是对象的 ,而对象则是类的 。 2、在C++中,三种继承方式的说明符号为 、 和 ,如果不加说明,则默认的继承方式为 。 3、如果只想保留公共基类的一个复制,就必须使用关键字 把这个公共基类声明为虚基类。 4、若要把void fun( )定义为类A的友元函数,则应在类A的定义中加入语句 。 5、类的静态成员分为 和 。 6、运算符重载要求保持其原来的操作数个数、 、 和语法结构。 7、通过关键字 可以声明模板,通过关键字 指定函数模板的类型参数,有几个类型参数就有几个类型关键字。 8、列出C++中两种用户自定义的数据类型: 、 。 9、构造函数的作用是 。 10、后置自增运算符“++”重载为类的成员函数(设类名为A)的形式为 。 三、阅读下面3个程序,写出程序运行时输出的结果:(共13分) 1、#include <iostream> using namespace std; void fun(int &a,int &b) { int p; p=a; a=b; b=p; } void exchange(int &a,int &b,int &c) { if(a<b) fun(a,b); if(a<c) fun(a,c); if(b<c) fun(b,c); } void main() { int a=12,b=89,c=56; exchange(a,b,c); cout<<"a="<<a<<",b="<<b<< ",c="<<c<<endl; } 2、#include <iostream> using namespace std; class Date { public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month, day, year; }; Date::Date(int m, int d, int y) : month(m),day(d),year(y) { } Date::Date(int m,int d):month(m),day(d) { year=2009; } Date::Date(int m) : month(m) { day=1; year=2010; } Date::Date() { month=1; day=1; year=2010; } void Date::display() { cout <<month<<"/"<<day<<"/"<<year<<endl; } void main() { Date d1(12,31,2009); Date d2(12,31); Date d3(1); Date d4; d1.display(); d2.display(); d3.display(); d4.display(); } 3、#include <iostream> using namespace std; class A { public: A() { cout<<"constructing A "<<endl; } ~A() { cout<<"destructing A "<<endl; } }; class B: public A { public: B() { cout<<"constructing B "<<endl; } ~B() { cout<<"destructing B "<<endl; } }; class C : public B { public: C() { cout<<"constructing C "<<endl; } ~C() { cout<<"destructing C "<<endl; } }; void main() { C c1; } 四、编程题(共27分) 1、(10分)已知复数类Complex的声明如下: class Complex { public: Complex(); Complex(double); Complex(double, double); friend Complex operator + (Complex&, Complex&); friend ostream & operator << (ostream&, Complex&); friend istream& operator >> (istream&, Complex&); private: double real, imag; }; 要求: (1)写出该类的所有构造函数的类外定义代码。 (2)写出对运算符“+”、“<<”、“>>”进行重载的运算符重载函数的定义。 2、(17分)下列Base类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。 class Base { public: virtual double area()=0; }; double total(Base *s[ ], int n) { double sum=0.0; for(int i=0; i<n; i++) sum+=s[i]->area( ); return sum; } 要求: (1)从Base类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(radius),正方形类新增数据成员边长(a),圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。 (2)写出main( )函数,计算半径为5.5的圆和边长为9.9的正方形的面积和(必须通过调用total函数计算)。

立即下载
java 利用反射将同一种对象,不同属性值,合并为一个新的对象

在web开发中,经常遇到修改的操作。而使用hibernate,它的修改是基于对象的,如果用户修改的字段非常多,但是我们并不知道用户到底修改了那个字段,这时候就需要一个一个的去判断,因此非常耗时,所以我写了个工具类来帮助大家!

立即下载
java编程练习题

数组章节作业 1、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空 间,只能在原数组上改。 2、写一个类用来模拟栈这种数据结构,要求底层 使用数组存储数据, 并给出相应的进栈和出栈的方法。MyStack int arr[]; int count;//栈中元素个数 public MyStack(int n){ arr = new int[n]; } boolean push(int num){ if(count==arr.length){} arr[count++]=num; } int pop(){ if(count==0){ return -1;} return arr[--count]; } 3、实现在一个数组指定位置添加元素和删除元素的功能。 1、数组容量问题? 2、添加元素前后数组中元素的变化 3、删除元素前后数组中元素的变化 面向对象章节作业 1,写一个类,名为Animal,该类有两个私有属性, name(代表动物的名字),和legs(代表动物的腿的条 数)。并提供个两构造方法,一个无参,默认给name 赋值为AAA,给legs赋值为4;另一个需要两个参数, 分别用这两个参数给私有属性赋值。该类还有两个重载的move()方法,其中一个无参,在屏幕上输出一行文字: XXX Moving!!(XXX为该动物的名字);另一个需要一个int参数n,在屏幕上输出n次 XXX Moving!! 2,写一个类Person,包含以下属性:String name; int age; boolean gender; Person partner。 为Person类写一个marry(Person p)方法,代表当前 对象和p结婚,如若可以结婚,则输出恭贺信息, 否则输出不能结婚原因。要求在另外一个类中写一 个主方法,来测试以上程序。(下列情况不能结婚: 结婚年龄,男<24,女<22;3,某一方已婚) 3,写一个类,名为Animal,该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public 的访问方法。并提个两构造方法,一个无参,默认给name赋值为AAA,给legs赋值为4;另一个需要两个参数,分别用这两个参数给私有属性赋值。要求在第一个构造方法中调用第二个构造方法。该类还有两个重载的move()方法,其中一个无参,在屏幕上输出一行文字: XXX Moving!!(XXX为该动物的名字);另一个需要一个int参数n,在屏幕上输出n次 XXX Moving!! 4,写一个类Fish,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值0;该类还要求覆盖Animal类中的无参move()方法,要求输出:XXX Swimming!! 5,写一个类Bird,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值2;该类还要求覆盖Animal类中的无参move()方法,要求输出:XXX Flying!! 6,写一个类Zoo,要求分别生成若干个Animal,Fish和Bird。并调用他们的属性和方法。 7,写Shape类,要求如下: 1.int类型属性x和y,分别表示图形的中心点坐标 2.无参构造器 3.构造器,对x和y进行初始化 4.draw()方法,输出"Shape draw" 写Circle类,继承Shape类,要求如下 1.double类型属性r,表示圆的半径 2.无参构造器,将r初始化为1.0 3.构造器,对r进行初始化 4.构造器,对x、y、r进行初始化 5.draw()方法,输出"draw in circle"和x,y,r的值 写Rectangle类,继承Shape类,要求如下 1.double类型属性height和width,表示矩形的高和宽 2.无参构造器,将height和width都初始化为1.0 3.构造器,对height和width进行初始化 4.构造器,对x、y、height、width进行初始化 5.draw()方法,输出"draw in rectangle"和x,y,height,width的值 使用ShapeTest类测试以上代码。 8,某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。 SalariedEmployee:Employee的子类,拿固定工资的员工。属性:月薪 HourlyEmployee:Employee的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数 SalesEmployee:Employee的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率 BasedPlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员,工资由底薪加上销售提成部分。属性:底薪。 写一个程序,把若干各种类型的员工放在一个Employee数组里,写一个函数,打印出某月每个员工的工资数额。注意:要求把每个类都做成完全封装,不允许非私有化属性。 容器类章节作业 1、写MyStack类,实现栈功能。在类中使用ArrayList保存数据。 2、使用TreeSet和Comparator,写TreeSetTest1 要求:对TreeSet中的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序和倒序排列 3、使用TreeSet和Comparator,写TreeSetTest2 要求:对TreeSet中的元素1,2,3,4,5,6,7,8,9,10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列 4、使用TreeSet和Comparator,写TreeSetTestInner 要求: 对TreeSet中的元素"HashSet"、"ArrayList"、"TreeMap"、"HashMap"、"TreeSet"、"LinkedList"进行升序和倒序排列 1. 使用匿名内部类实现 2. 使用静态内部类实现

立即下载
Java Object原理图

Java Object原理图 涉及到对象在内存中的存储情况、 对象属性的存储情况、 构造器的存储情况

立即下载
java课程实验

实验一 1. 使用记事本和命令行程序编写Java应用程序,打印出所有的水仙花数。 2. 程序设计(开发环境不限): 1) 打印出100以内的素数 2) 求1!+2!+……+20! 3) 课后习题2.6 4) 编写程序,命令行窗口输出希腊字母表。(希腊字母表开始为α,最后一个为ω) 实验二 1、设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、圆三个类。要求:(1)每个类都要构造方法并为成员设置get和set方法;(2)每个类都要有计算周长和面积的成员方法;(3)完成该软件包后的编码后,在另一个包的含有main方法的类中编写代码,分别使用图形软件包中的三个类,生成三个对象,并打印出其周长和面积。 2、编写类Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。 3、按照要求使用Java进行编码。 1) 设计一个教师类Teacher,属性有编号(no)、姓名(name)、年龄(age)、所属学院(seminary),为这些属性设置相应的get和set方法; 2) 为Teacher类添加方法equals;(当两个教师对象的no相同时返回true) 3) 为Teacher类添加方法toString,通过该方法可以返回“编号为**、姓名为**、年龄为**的**学院老师”形式的字符串。 4) 构造main方法进行测试。 4、设计一个带表头的单链表(链表中的元素属于同一类型对象,但对象的类型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。 实验三 1、按照要求使用Java进行编码。 1) 编写一个抽象类Shape,其中有抽象方法getArea()和getPerimeter() 2) 在Shape类的基础上派生出Rectangle和Circle类,二者都实现了计算面积的方法getArea()和计算周长的方法getPerimeter(); 3) 构造main函数,生成Rectangle和Circle对象,并用Shape类型的变量调用Rectangle和Circle对象的getArea()和getPerim()方法。 2、以电话为父类,移动电话和固定电话为两个子类,并使移动电话实现接口:可移动。固定电话又有子类:无绳电话。定义接口及各类,明确他们的继承关系。 3、在实验2中所实现的Teacher类的基础上,修改Teacher类的代码,要求:由多个Teacher对象所形成的数组可以使用Arrays.sort方法进行排序(编号由低到高排序)。 实验四 1、在main方法中创建一个含有10个元素的int型数组,进行以下操作:(1)将数组元素按照从小到大的顺序排列;(2)对排好序的数组使用折半查找(使用递归和非递归两种形式分别实现)查找某一个int元素。 2、使用一维数组编码实现一个栈(Stack)类,要求提供以下操作:(1)boolean isEmpty():判断栈当前是否为空;(2)入栈操作void push(obj):把数据元素obj插入堆栈;(3)出栈操作Object pop():出栈,并返回删除的数据元素;(4)Object getTop():取堆栈当前栈顶的数据元素并返回。编写代码测试所形成的Stack类,然后利用Stack类实现以下功能:输入一个正整数,输出该整数所对应的二进制数。 3、按照要求使用Java编码。 1) 以类型int[][]声明一个叫matrix的二维数组变量,将矩阵初始化为一个5个元素的数组。 2) 以下列方式为matrix的内部元素赋值:matrix从零开始循环到其长度值;例如索引为i,在每次迭代中,将matrix[i]指向一个新的整数数组,其长度为i。然后用索引变量j,对数组中的每一个元素进行循环。在每次内部循环中,将matrix[i][j]赋值为(i*j)。 3) 通过循环打印matrix中的所有元素,结果为: <> <0> <0 2> <0 3 6> <0 4 8 12> 4、利用二维数组实现一个矩阵类:Matrix。要求提供以下操作:(1)set(int row, int col, double value):将第row行第col列的元素赋值为value;(2)get(int row,int col):取第row行第col列的元素;(3)width():返回矩阵的列数;(4)height():返回矩阵的行数;(5)Matrix add(Matrix b):返回当前矩阵与矩阵b相加后的结果矩阵;(6)Matrix multiply(Matrix b):返回当前矩阵与矩阵b相乘后的结果矩阵。(7)print():打印出当前矩阵的值。

立即下载
java类上机

4_3.编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。要求:该类的所有对象共享常数项。 4_4.编写两个类,A和B,类A创建的对象可以计算两个正整数的最大公约数,类B创建的对象可以计算两个数的最小公倍数。要求:类B中有一个成员变量是用类A的声明对象。 4_5.编写使用了包语句的类,然后在应用程序中用import语句引入该类,并用该类创建对象。

立即下载
java求三角形面积和周长

用java编写一个代表三角形的类。其中,三条边为三角型的属性,并封装有求三角形的面积和周长的方法。分别针对三条边为3,4,5和7,8,9的两个三角形进行测试。

立即下载
学生类的构造函数

1. 定义一个学生类Student,包括:属性学号,姓名,性别,年龄,方法包括构造方法初始化变量;显示学号方法、显示姓名方法、显示性别方法、显示年龄方法、修改年龄方法。 2. 定义一个测试类StudentTest创建两个学生对象,John,Mark,通过新建对象传值初始化对象属性,分别显示两个学生的学号,性别,年龄,然后修改John的年龄并显示之。

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

java中用数组为一个类定义多个对象

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: