java语言面向对象程序设计马俊版课后习题答案

java语言面向对象程序设计马俊版课后习题答案,第1张

首先你要了解,JAVA是什么软件,有什么用?

答:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。

其实每次遇到不会的都来求助是很不方便的

如果你想了解和免费学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个qun,前面三个数是四二六 中间是三九六 后面是二八四

把这串数字连起来就可以了,这是一个高手的学习qun,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答,免费学习资料共享在qun文件里。

同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。

Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。

public class Vehicle {

private int wheels;

private double weight;

public Vehicle() { }

public Vehicle(int w, double we) {

thisweight = we;

thiswheels = w;

}

public int getWheels() {

return wheels;

}

public void setWheels(int wheels) {

thiswheels = wheels;

}

public double getWeight() {

return weight;

}

public void setWeight(double weight) {

thisweight = weight;

}

public String showMe(){

return wheels +", " + weight;

}

}

class Car extends Vehicle {

private int loader;

public Car() { }

public Car(int wh, double we, int l) {

super(wh, we);

thisloader = l;

}

public int getLoader() {

return loader;

}

public void setLoader(int loader) {

thisloader = loader;

}

public String showMe(){

return supershowMe()+", "+loader;

}

}

class Truck extends Car {

private double payLoader;

public Truck() {}

public Truck(double p){

thispayLoader = p;

}

public double getPayLoader() {

return payLoader;

}

public void setPayLoader(double payLoader) {

thispayLoader = payLoader;

}

public String showMe(){

return supershowMe()+", "+payLoader;

}

}

第一题是对的

第二题中编译class C会报错,因为C继承A,会先去找A的无参构造函数,但A中写了有参的构造函数,它会覆盖掉默认的无参构造函数,所以C编译报错。

解决办法:A中显式的申明无参构造函数

第一题

public class AirCondition extends Device {

private String dName;//空调名称

private String address;//空调厂家

private double price;//空调价格

private int temperature;//空调的温度

public AirCondition(String dName, String address,double price,int temperature) {

thisdName = dName;

thisaddress = address;

thisprice = price;

thistemperature = temperature;

}

//给空调升温temp度

public void raiseTemp (int temp) {

thistemperature += temp;

}

//给空调降温temp度

public double lowerTemp(int temp) {

return thistemperature -= temp;

}

public String getdName() {

return dName;

}

public void setdName(String dName) {

thisdName = dName;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

thisaddress = address;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

thisprice = price;

}

public int getTemperature() {

return temperature;

}

public void setTemperature(int temperature) {

thistemperature = temperature;

}

public String toString() {

StringBuffer r = new StringBuffer();

rappend("设备名称: " + getdName() + "\n");

rappend("出厂厂家: " + getAddress() + "\n");

rappend("价格: " + getPrice() + "\n");

rappend("初始温度: " + getTemperature() + "\n");

return rtoString();

}

}

第二题

import javaioDataInputStream;

import javaioFileInputStream;

public class Score {

private Object[][] data = new Object[10][2];//存放学好和密码

public static void main(String[] args) {

new Score()readData();

}

//读取数据

public void readData(){

DataInputStream dis = null;

try {

dis = new DataInputStream(new FileInputStream("studentdata"));

for(int i = 0; i < datalength; i++){

data[i][0] = disreadUTF();//学好

data[i][1] = disreadInt();//密码

}

//调用计算

calc();

} catch (Exception e) {

eprintStackTrace();

}

}

//计算

public void calc(){

int total = 0;

double avg = 0;

int max = 0;

int min = 0;

Object[] temp;

for (int i = 0; i < datalength; i++) {

for (int j = 0; j < datalength - 1; j++) {

if((Integer)(data[j][1]) > (Integer)(data[j + 1][1])){

temp = data[j];

data[j] = data[j + 1];

data[j + 1] = temp;

}

}

}

for (int i = 0; i < datalength; i++) {

total += (Integer)data[i][1];

Systemoutprintln("学号: " + data[i][0] + "\t" + "分数: " + data[i][1]);

}

avg = total / datalength;//平均

min = (Integer)data[0][1];

max = (Integer)data[datalength - 1][1];

Systemoutprintln("最高分: " + max);

Systemoutprintln("最低分: " + min);

Systemoutprintln("平均分: " + avg);

}

}

package localtea;

import localteaTeaFlavor;

public class InfuseMan extends TTobj {

public InfuseMan(String name) {

super(name);

}

public void takeTea(Flavor flavor, TeacupTray tt) {

ttsetTea(new Tea(flavor));

Systemoutprintln(name + " 沏了一杯 " + flavor );

TeaStallreleaseInfuseMan(this);

}

}

package localtea;

public class TTobj {

protected String name;

public TTobj(String name) {

thisname = thisgetClass()getSimpleName() + name;

}

}

package localtea;

public class Tea {

public static enum Flavor {

西湖龙井, 洞庭碧螺春, 白毫银针, 君山银针, 黄山毛峰, 武夷岩茶, 安溪铁观音, 信阳毛尖, 庐山云雾, 六安瓜片

}

private Flavor flavor;

public Tea(Flavor flavor) {

thissetFlavor(flavor);

}

public void setFlavor(Flavor flavor) {

thisflavor = flavor;

}

public Flavor getFlavor() {

return flavor;

}

}

package localtea;

public class TeaClient extends TTobj implements Runnable {

TeaFlavor favoriteFlavor = TeaFlavor六安瓜片;

public TeaClient(String string) {

super(string);

Systemoutprintln(thisname + " 大驾光临");

}

public TeaClient(String name, TeaFlavor flavor) {

this(name);

favoriteFlavor = flavor;

}

@Override

public void run() {

Tea tea = null;

Waiter waiter = null;

try {

Systemoutprintln(name + " 小二!沏杯茶!" + favoriteFlavor);

waiter = TeaStalltakeWaiter();

waitertakeOrder(favoriteFlavor);

tea = waitertakeTea();

} catch (InterruptedException e) {

Systemoutprintln(name + " 没人理我啊!我愤然离开!" + egetStackTrace());

return;

}

Systemoutprintln(name + " 品尝并称赞着 " + teagetFlavor());

if (waiter != null) {

waiterrelease();

}

Systemoutprintln(name + " 我走啦~");

}

}

package localtea;

public class TeaMenu {

Tea tea;

}

package localtea;

import javautilconcurrentArrayBlockingQueue;

import javautilconcurrentBlockingQueue;

public class TeaStall {

private static String name = "有家茶庄";

public static final int CLIENT_MAX_NUM = 5;

private static BlockingQueue<InfuseMan> infuseMen = new ArrayBlockingQueue<InfuseMan>(

1);

private static BlockingQueue<Waiter> waiters = new ArrayBlockingQueue<Waiter>(

1);

/

@param args

/

public static void main(String[] args) {

waitersadd(new Waiter("小二张"));

infuseMenadd(new InfuseMan("烹煮沏"));

Systemoutprintln(name + " 开门啦");

new Thread(new TeaClient("梁朝伟"))start();

new Thread(new TeaClient("刘嘉玲", TeaFlavor武夷岩茶))start();

Systemoutprintln(name + " 打烊啦");

}

public static Waiter takeWaiter() throws InterruptedException {

return waiterstake();

}

public static void releaseWaiter(Waiter waiter) {

waitersadd(waiter);

}

public static InfuseMan takeInfuseMan() throws InterruptedException {

return infuseMentake();

}

public static void releaseInfuseMan(InfuseMan im) {

infuseMenadd(im);

}

}

package localtea;

public class Waiter extends TTobj {

public Waiter(String name) {

super(name);

}

TeaFlavor order;

TeacupTray tt = new TeacupTray();

public void takeOrder(TeaFlavor order) throws InterruptedException {

thisorder = order;

Systemoutprintln(name + " 这位爷您点了 " + order);

TeaStalltakeInfuseMan()takeTea(thisorder, tt);

}

public Tea takeTea() {

Systemoutprintln(name + " 茶来啦 ");

return ttgetTea();

}

public void release() {

TeaStallreleaseWaiter(this);

}

}

class TeacupTray {

private Tea tea;

public Tea getTea() {

return tea;

}

public void setTea(Tea tea) {

thistea = tea;

}

}package localtea;

import localteaTeaFlavor;

public class InfuseMan extends TTobj {

public InfuseMan(String name) {

super(name);

}

public void takeTea(Flavor flavor, TeacupTray tt) {

ttsetTea(new Tea(flavor));

Systemoutprintln(name + " 沏了一杯 " + flavor );

TeaStallreleaseInfuseMan(this);

}

}

package localtea;

public class TTobj {

protected String name;

public TTobj(String name) {

thisname = thisgetClass()getSimpleName() + name;

}

}

package localtea;

public class Tea {

public static enum Flavor {

西湖龙井, 洞庭碧螺春, 白毫银针, 君山银针, 黄山毛峰, 武夷岩茶, 安溪铁观音, 信阳毛尖, 庐山云雾, 六安瓜片

}

private Flavor flavor;

public Tea(Flavor flavor) {

thissetFlavor(flavor);

}

public void setFlavor(Flavor flavor) {

thisflavor = flavor;

}

public Flavor getFlavor() {

return flavor;

}

}

package localtea;

public class TeaClient extends TTobj implements Runnable {

TeaFlavor favoriteFlavor = TeaFlavor六安瓜片;

public TeaClient(String string) {

super(string);

Systemoutprintln(thisname + " 大驾光临");

}

public TeaClient(String name, TeaFlavor flavor) {

this(name);

favoriteFlavor = flavor;

}

@Override

public void run() {

Tea tea = null;

Waiter waiter = null;

try {

Systemoutprintln(name + " 小二!沏杯茶!" + favoriteFlavor);

waiter = TeaStalltakeWaiter();

waitertakeOrder(favoriteFlavor);

tea = waitertakeTea();

} catch (InterruptedException e) {

Systemoutprintln(name + " 没人理我啊!我愤然离开!" + egetStackTrace());

return;

}

Systemoutprintln(name + " 品尝并称赞着 " + teagetFlavor());

if (waiter != null) {

waiterrelease();

}

Systemoutprintln(name + " 我走啦~");

}

}

package localtea;

public class TeaMenu {

Tea tea;

}

package localtea;

import javautilconcurrentArrayBlockingQueue;

import javautilconcurrentBlockingQueue;

public class TeaStall {

private static String name = "有家茶庄";

public static final int CLIENT_MAX_NUM = 5;

private static BlockingQueue<InfuseMan> infuseMen = new ArrayBlockingQueue<InfuseMan>(

1);

private static BlockingQueue<Waiter> waiters = new ArrayBlockingQueue<Waiter>(

1);

/

@param args

/

public static void main(String[] args) {

waitersadd(new Waiter("小二张"));

infuseMenadd(new InfuseMan("烹煮沏"));

Systemoutprintln(name + " 开门啦");

new Thread(new TeaClient("梁朝伟"))start();

new Thread(new TeaClient("刘嘉玲", TeaFlavor武夷岩茶))start();

Systemoutprintln(name + " 打烊啦");

}

public static Waiter takeWaiter() throws InterruptedException {

return waiterstake();

}

public static void releaseWaiter(Waiter waiter) {

waitersadd(waiter);

}

public static InfuseMan takeInfuseMan() throws InterruptedException {

return infuseMentake();

}

public static void releaseInfuseMan(InfuseMan im) {

infuseMenadd(im);

}

}

package localtea;

public class Waiter extends TTobj {

public Waiter(String name) {

super(name);

}

TeaFlavor order;

TeacupTray tt = new TeacupTray();

public void takeOrder(TeaFlavor order) throws InterruptedException {

thisorder = order;

Systemoutprintln(name + " 这位爷您点了 " + order);

TeaStalltakeInfuseMan()takeTea(thisorder, tt);

}

public Tea takeTea() {

Systemoutprintln(name + " 茶来啦 ");

return ttgetTea();

}

public void release() {

TeaStallreleaseWaiter(this);

}

}

class TeacupTray {

private Tea tea;

public Tea getTea() {

return tea;

}

public void setTea(Tea tea) {

thistea = tea;

}

}

=========================

运行结果:

有家茶庄 开门啦

TeaClient梁朝伟 大驾光临

TeaClient刘嘉玲 大驾光临

TeaClient梁朝伟 小二!沏杯茶!六安瓜片

Waiter小二张 这位爷您点了 六安瓜片

InfuseMan烹煮沏 沏了一杯 六安瓜片

Waiter小二张 茶来啦

TeaClient梁朝伟 品尝并称赞着 六安瓜片

TeaClient梁朝伟 我走啦~

有家茶庄 打烊啦

TeaClient刘嘉玲 小二!沏杯茶!武夷岩茶

Waiter小二张 这位爷您点了 武夷岩茶

InfuseMan烹煮沏 沏了一杯 武夷岩茶

Waiter小二张 茶来啦

TeaClient刘嘉玲 品尝并称赞着 武夷岩茶

TeaClient刘嘉玲 我走啦~

===============================第一题==============================

import javaappletApplet;

import javaawtColor;

import javaawtLabel;

public class test extends Applet {

private Label label;

@Override

public void init() {

label=new Label("欢迎来到java世界!");

labelsetBackground(ColorBLUE);

setBackground(ColorPINK);

add(label);

}

}

===============================第二题==============================

因为没图,所以自己设计的界面

import javaawtBorderLayout;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJPanel;

import javaxswingJScrollPane;

import javaxswingJTextArea;

public class test implements ActionListener {

private JFrame frame;

private JLabel label;

private JTextArea jt;

private JScrollPane jsp;

private JButton show;

public test() {

frame=new JFrame("Test");

label=new JLabel("显示内容");

jt=new JTextArea(10,20);

jsp=new JScrollPane(jt);

show = new JButton("显示给定内容");

JPanel panel=new JPanel();

paneladd(label);

paneladd(show);

frameadd(jsp,BorderLayoutNORTH);

frameadd(panel,BorderLayoutSOUTH);

showaddActionListener(this);

show();

}

public void show(){

framesetLocation(200, 200);

framesetSize(300, 260);

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

framesetVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

labelsetText(jtgetText());

}

public static void main(String[] args) {

new test()show();

}

}

以上就是关于java语言面向对象程序设计马俊版课后习题答案全部的内容,包括:java语言面向对象程序设计马俊版课后习题答案、Java面向对象程序的设计问题(请大家帮忙啊)、java 面向对象问题,求大神等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/9829688.html

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

发表评论

登录后才能评论

评论列表(0条)

保存