JAVA语言程序设计两道练习题。谢谢!

JAVA语言程序设计两道练习题。谢谢!,第1张

第一题有问题:1、创建Person接口(即“人”),它有setData()和getData()方法对“人”属性name、sex和birthday赋值和获得这些属性组成的字符串信息。

问题是:你说要创建一个人(接口),然后里面有方法对人的属性进行赋值?这怎么可能呢,接口是没有成员变量(属性)的,怎么能赋值?接口里只能有常量。

第二题可以答一下:

package pillar

public class Pillar { private Geometry buttom

private double height

public Pillar() {

// TODO Auto-generated constructor stub

}

public Pillar(Geometry button,double height){

this.buttom = button

this.height = height

}

public double getVolume(){

return this.buttom.getArea()*height

}

public Geometry getButtom() {

return buttom

}

public void setButtom(Geometry buttom) {

this.buttom = buttom

}

public double getHeight() {

return height

}

public void setHeight(double height) {

this.height = height

}

}

------------------------------------------------类分割线---------------------------------------------------------

package pillar

public interface Geometry { double getArea()

}

------------------------------------------------类分割线---------------------------------------------------------

package pillar

public class Circle implements Geometry { private double r

public Circle() {

// TODO Auto-generated constructor stub

}

public Circle(double r) {

this.r = r

}

public double getArea() { return Math.PI*r*r

}

public double getR() {

return r

}

public void setR(double r) {

this.r = r

}

}

------------------------------------------------类分割线---------------------------------------------------------

package pillar

public class Rectangle implements Geometry { private double width

private double height

public Rectangle() {

// TODO Auto-generated constructor stub

}

public Rectangle(double width, double height) {

this.width = width

this.height = height

}

public double getArea() { return this.width*this.height

}

public double getWidth() {

return width

}

public void setWidth(double width) {

this.width = width

}

public double getHeight() {

return height

}

public void setHeight(double height) {

this.height = height

}

}

------------------------------------------------类分割线---------------------------------------------------------

package pillar

public class TestPillar {

/** * @param args

*/

public static void main(String[] args) {

Circle c = new Circle(5)

Rectangle r = new Rectangle(3,4)

Pillar p1 = new Pillar(c,6)

Pillar p2 = new Pillar(r,6)

System.out.println("圆的体积:"+p1.getVolume()+"\t矩形的体积:"+p2.getVolume())

}

}

按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下

需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果

Student.java文件代码如下

package user.java.test

import java.io.Serializable

public class Student implements Serializable{

private static final long serialVersionUID = 1L

private String no

private String name

private double score

public Student(){}

public Student(String no,String name,double score){

this.no=no

this.name=name

this.score=score

}

public String getNo(){ return no}

public void setNo(String no){ this.no=no}

public String getName(){ return name}

public void setName(String name){ this.name=name}

public double getScore(){ return score}

public void setScore(double score){ this.score=score}

public String toString(){

return "学号:"+no+",姓名:"+name+",成绩:"+score

}

public static double getAvg(Student[] sArray){

double sum=0,avg

for(int i=0i<sArray.lengthi++){

sum=sum+sArray[i].getScore()

}

avg=sum/sArray.length

return avg

}

}

Test.java文件代码如下

package user.java.test

public class Test{

public static void main(String[] args){

Student[] sArray=new Student[5]

sArray[0]=new Student("001","张三",89.5)

sArray[1]=new Student("002","李四",82.5)

sArray[2]=new Student("003","王五",93)

sArray[3]=new Student("004","赵六",73.5)

sArray[4]=new Student("005","孙七",66)

System.out.println("这些学生的平均分:"+Student.getAvg(sArray))

for(int i=0i<sArray.lengthi++){

System.out.println(sArray[i].toString())

}

}

}

1-4:

has-a的关系、contains-a的关系、is-a的关系;

“班级”与“学生”是has-a的关系;

“学生”与“大学生”是is-a的关系。

1-5:

正确,把两个看做是类,“清华大学”包含了“大学”的全部成员,“大学”能接受的信息,“清华大学”一样能接受到。

1-6:

过程:面向对象的分析、面向对象的设计、面向对象的实现;

5个层次:对象-类层、静态属性层、服务层、结构层 、主题层;

引入了:界面管理、任务管理、数据管理。

PS:其实我也是JAVA新手,不知答得对不对,希望这些能对你有帮助,呵呵。。。。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7771467.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存