日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java实验1机动车实验目的_《Java程序设计》实验指导书.doc

發(fā)布時(shí)間:2024/9/27 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实验1机动车实验目的_《Java程序设计》实验指导书.doc 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

《Java程序設(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書(shū)

實(shí)驗(yàn)一、熟悉JDK環(huán)境及主要命令

一、實(shí)驗(yàn)?zāi)康?/p>

1) 熟悉JDK的環(huán)境配置

2) 掌握J(rèn)DK的命令

3) 掌握J(rèn)ava Application程序的開(kāi)發(fā)過(guò)程,并編寫(xiě)一個(gè)Java Application程序

二、實(shí)驗(yàn)內(nèi)容

1.按照上課所學(xué)知識(shí),為自己的機(jī)器配置環(huán)境變量

2.編輯一個(gè)Hello World 的小程序,并試著編譯運(yùn)行它

3.將Vehicle 和VehicleDriver兩個(gè)文件用自己的文本編輯器重新編輯并編譯運(yùn)行,掌握類(lèi)和對(duì)象的定義和使用

1)Vehicle.java (注意:以下代碼有幾個(gè)錯(cuò)誤的地方,需要同學(xué)自己把他們找出來(lái)并更正過(guò)來(lái))

public class Vehicle{

public float journey;

public int wheelNum;

public int loadNum;

public int driveSpeed;

/**

*Vehicle 類(lèi)構(gòu)造函數(shù),設(shè)定初始值

*/

public Vehicle(){

journey=100.3f;

wheelNum=4;

loadNum=1;

}

/**

*Vehicle類(lèi)的driveAt行駛方法

*/

public void driveAt(int speed){

if (speed>=60){

System.out.println("行車(chē)速度太快,容易造成事故");

//如果要求的車(chē)速太快,則機(jī)動(dòng)車(chē)自動(dòng)以40單位速度行駛

driveSpeed=40;

}

else {

System.out.println("你在安全行駛速度內(nèi)行駛");

driveSpeed=speed;

}

}

}

2)VehicleDriver.java

public class VehicleDriver{

public String name; //定義司機(jī)的名字

/**

*VehicleDriver 類(lèi)構(gòu)造函數(shù)

*/

public VehicleDriver(){

name="TOM";

}

/**

*VehicleDriver 類(lèi)對(duì)象的work方法

*/

public void work(){

Vehicle v=new Vehicle(); //生成Vehicle類(lèi)的對(duì)象v

v.driveAt(70); //調(diào)用v對(duì)象所固有的driveAt()方法

}

public static void main(String args[]){

//生成VehicleDriver類(lèi)的對(duì)象vb

VehicleDriver vd=new VehicleDriver();

vd.work(); //調(diào)用vd對(duì)象所固有的work()方法

}

}

3.將Vehicle 和VehilceDriver 兩個(gè)類(lèi)放在一個(gè).java文件中,文件名稱(chēng)取名為Vtogether.java (注意:需將Vehicle 或 VehicleDriver中某一個(gè)類(lèi)的名稱(chēng)改名為Vtogether,具體更改哪一個(gè)由同學(xué)根據(jù)實(shí)際情況來(lái)判斷),編譯和運(yùn)行該文件

實(shí)驗(yàn)二、類(lèi)的定義和對(duì)象的使用

一、實(shí)驗(yàn)?zāi)康?/p>

1) 掌握類(lèi)的定義

2) 掌握對(duì)象的使用

3) 掌握構(gòu)造方法的重載

二、實(shí)驗(yàn)內(nèi)容

1.創(chuàng)建一個(gè)汽車(chē)類(lèi)CarModel.java,它里面有2個(gè)不同的構(gòu)造函數(shù),CarManufactory.java可以應(yīng)用這些構(gòu)造方法創(chuàng)建不同類(lèi)型的汽車(chē)

CarModel.java設(shè)計(jì)要求如下:

定義style(String),color(String),category(String)注:括號(hào)中為變量類(lèi)型

創(chuàng)建第一個(gè)構(gòu)造函數(shù),分別給以上變量賦值,要求為該構(gòu)造函數(shù)定義三個(gè)形參,分別賦給相應(yīng)的變量,形參的值在對(duì)象創(chuàng)建時(shí)給出

創(chuàng)建第二個(gè)構(gòu)造函數(shù),此構(gòu)造函數(shù)過(guò)程為空

定義三個(gè)方法,分別返回style,color,category的值

CarManufactory.java設(shè)計(jì)要求如下:

使用不同的構(gòu)造函數(shù)創(chuàng)建兩輛汽車(chē)

顯示兩輛車(chē)相關(guān)的屬性,屬性的值要從CarModel的相關(guān)方法中取出

2.判斷以下程序的結(jié)果,并把它改成兩個(gè)類(lèi)的形式,其中一個(gè)類(lèi)專(zhuān)門(mén)處理運(yùn)算。

public class Excer{

public static void main(String args[]){

Excer ex=new Excer();

ex.math();

}

void math(){

int x=130,y=45;

System.out.println("x="+x+" ,y="+y);

System.out.println("x+y="+plus(x,y));

System.out.println("x-y="+minus(x,y));

System.out.println("x*y="+multi(x,y));

System.out.println("x/y="+div(x,y));

}

int plus(int a,int b){

return(a+b);

}

int minus(int a,int b){

return(a-b);

}

int multi(int a,int b){

return(a*b);

}

float div(int a,int b){

return ((float)a/b);

}

}

實(shí)驗(yàn)三、繼承

一、實(shí)驗(yàn)?zāi)康?/p>

1) 掌握類(lèi)的繼承

2) 掌握類(lèi)成員的覆蓋和重載

二、實(shí)驗(yàn)內(nèi)容

1.Vehicle類(lèi)的基礎(chǔ)上創(chuàng)建一個(gè)Tractor(拖拉機(jī))類(lèi),他不但擁有journey,wheelNum,loadNum,driveSpeed 四種屬性和driveAt()方法,而且還擁有自己的plough(耕地)方法,在該方法中要求能夠顯示journey, wheelNum, loadNum三個(gè)屬性的值,在Tractor中覆蓋driverAt()方法,速度大于等于35就認(rèn)為是超速,如果是超速速度就要設(shè)為20,在這個(gè)類(lèi)中還要?jiǎng)?chuàng)建一個(gè)main()方法,分別調(diào)用plough()、driveAt方法和Vehicle類(lèi)的driverAt()方法。

public class Vehicle{

public float journey;

public int wheelNum;

public int loadNum;

public int driveSpeed;

public Vehicle(){

journey=100.3f;

wheelNum=4;

loadNum=1;

}

public void driveAt(int speed){

if (speed>=60){

System.out.println("行車(chē)速度太快,容易造成事故");

//如果要求的車(chē)速太快,則機(jī)動(dòng)車(chē)自動(dòng)以40單位速度行駛

driveSpeed=40;

}

else {

System.out.println("你在安全行駛速度內(nèi)行駛");

driveSpeed=speed;

}

}

}

2.在以下程序中出現(xiàn)了屬性的覆蓋和方法的重載,編譯運(yùn)行下面程序,掌握產(chǎn)生屬性覆蓋時(shí)屬性的變化規(guī)則和方法的重載時(shí)調(diào)用的方法規(guī)則。

class NoteX {

public static final int MIDDLE_C = 0;

public static final int C_SHARP = 1;

public static final int C_FLAT = 2;

}

public class Father{

int a=100;

public void miner(){

a--;

}

public void play(int NoteX) {

System.out.println("Father.play()");

}

public static void main(String[] arg){

Father x=new Father();

Son y=new Son();

System.out.println("a of son is :" +y.a);

System.out.println("a of sons super is :" +y.getA());

y.miner();

System.out.println("a of son is :"+y.a);

System.out.println("a of sons super is :" +y.getA());

y.play(NoteX. C_SHARP);

y.play(new NoteX());

}

}

class Son extends Father {

int a=0;

public int getA(){

return super.a;

}

public void play(NoteX n) {

System.out.println("Son.play(NoteX n)");

}

}

實(shí)驗(yàn)四、接口與內(nèi)部類(lèi)

一、實(shí)驗(yàn)?zāi)康?/p>

1)、掌握接口的定義和使用方法

2)、掌握內(nèi)部類(lèi)的定義和使用方法

二、實(shí)驗(yàn)內(nèi)容

1. 將以下圖示用接口實(shí)現(xiàn)和繼承實(shí)現(xiàn)

2. 已知有兩個(gè)接口如下所示,要求定義一個(gè)類(lèi),其中包含兩個(gè)內(nèi)部類(lèi),這兩個(gè)內(nèi)部類(lèi)分別實(shí)現(xiàn)這兩個(gè)接口,且設(shè)為private,在類(lèi)中分別定義兩個(gè)方法,可以返回這兩個(gè)接口。

public interface Destination {

String readLabel();

}

public interface Contents {

int value();

}

實(shí)驗(yàn)五、異常的處理機(jī)制

一、實(shí)驗(yàn)?zāi)康?/p>

1) 掌握異常的聲明

2) 掌握異常的拋出

3) 掌握異常的捕獲

4) 掌握自定義異常的使用

二、實(shí)驗(yàn)內(nèi)容

1.編寫(xiě)一段Java程序,在被調(diào)用方法中拋出一個(gè)異常對(duì)象,并將異常交給調(diào)用它的方法來(lái)處理

2.編寫(xiě)一段Java程序,創(chuàng)建一個(gè)自定義異常類(lèi),并在一個(gè)方法中拋出自定義異常對(duì)象,在該方法的catch處理程序中捕獲它并重新拋出,讓調(diào)用它的方法來(lái)處理。

實(shí)驗(yàn)六、多線(xiàn)程編程

一、實(shí)驗(yàn)?zāi)康?/p>

1) 了解多線(xiàn)程的定義

2) 理解多線(xiàn)程的互斥和同步

3) 掌握多線(xiàn)程的調(diào)度和控制

二、實(shí)驗(yàn)內(nèi)容

1.使用Runnable接口實(shí)現(xiàn)以下類(lèi)的功能:

public class testThread extends Thread{

public testThread(){}

public void run(){

System.out.println("run()方法運(yùn)行....");

}

public static void main(String arg[]){

testThread t=new testThread();

System.out.println("start() 開(kāi)始運(yùn)行...");

t.start();

}

}

2.假設(shè)一個(gè)銀行的ATM機(jī),它可以允許用戶(hù)存款也可以取款。現(xiàn)在一個(gè)賬戶(hù)上有存款200元,用戶(hù)A和用戶(hù)B都擁有在這個(gè)賬戶(hù)上存款和取款的權(quán)利。用戶(hù)A將存入100元,而用戶(hù)B將取出50元,那么最后賬戶(hù)的存款應(yīng)是250元。

實(shí)際操作過(guò)程如下:

l 先進(jìn)行A的存款操作:

(1)得到賬戶(hù)的存款數(shù)額200,耗時(shí)2s。

(2)將賬戶(hù)數(shù)額增加100,耗時(shí)忽略不計(jì)

(3)將新生成的賬戶(hù)結(jié)果300返回到ATM機(jī)的服務(wù)器上,耗時(shí)2s

l 在進(jìn)行B的取款操作:

(4)得到增加后賬戶(hù)存款數(shù)額300,耗時(shí)2s。

(5)將賬戶(hù)數(shù)額減少50,耗時(shí)忽略不計(jì)。

(6)將新生成的賬戶(hù)結(jié)果250返回到ATM機(jī)的服務(wù)器上,耗時(shí)2s。

請(qǐng)同學(xué)們根據(jù)以上要求,編寫(xiě)一個(gè)Java程序?qū)崿F(xiàn)該功能

注:將A的操作和B的操作分別用線(xiàn)程來(lái)表示

3.如下是消費(fèi)者和生產(chǎn)者的一個(gè)簡(jiǎn)化例子,將次程序看懂,然后寫(xiě)下運(yùn)行結(jié)果。

//CubbyHole.java 存儲(chǔ)數(shù)據(jù)

public class CubbyHole {

private int contents;

private boolean available = false;

public synchronized int get() {

while (available == false) {

try {

wait();

} catch (InterruptedException e) { }

}

System.out.println("Customerer " + "goe: " + contents);

available = false;

notifyAll();

return contents;

}

public synchronized void put(int value) {

while (available == true) {

try {

wait();

} catch (InterruptedException e) { }

}

System.out.println("Producer " + "put " + value);

contents = value;

available = true;

notifyAll();

}

}

// Producer.java 生產(chǎn)者

public class Producer extends Thread {

private CubbyHole cubbyhole;

public Producer(CubbyHole c) {

cubbyhole = c;

}

public void run() {

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

cubbyhole.put(i);

}

}

}

// Consumer.java 消費(fèi)者

public class Consumer extends Thread {

private CubbyHole cubbyhole;

public Consumer(CubbyHole c) {

cubbyhole = c;

}

public void run() {

int value = 0;

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

value = cubbyhole.get();

}

}

}

//測(cè)試程序

public class ProducerConsumerTest {

public static void main(String[] args) {

CubbyHole c = new CubbyHole();

Producer p1 = new Producer(c);

Consumer c1 = new Consumer(c);

p1.start();

c1.start();

}

}

實(shí)驗(yàn)七、輸入輸出字節(jié)流

一、 實(shí)驗(yàn)?zāi)康?/p>

1)、掌握輸入字節(jié)流的操作

2)、掌握輸出字節(jié)流的操作

二、 實(shí)驗(yàn)內(nèi)容

1.定義一個(gè)字節(jié)數(shù)組,將其輸出到屏幕上

2.將一個(gè)圖片的內(nèi)容讀取到字節(jié)數(shù)組當(dāng)中

實(shí)驗(yàn)八、輸入輸出字符流

一、實(shí)驗(yàn)?zāi)康?/p>

1)、掌握輸入字符流的操作

2)、掌握輸出字符流的操作

二、實(shí)驗(yàn)?zāi)康?/p>

1. 從鍵盤(pán)輸入一串字符,將其輸出到屏幕上

2. 將一個(gè)文本文件輸出到屏幕上

實(shí)驗(yàn)九、文件及其文件流

一、實(shí)驗(yàn)?zāi)康?/p>

1)、掌握文件的操作

2)、掌握文件輸入流的操作

3)、掌握文件輸出流的操作

二、實(shí)驗(yàn)內(nèi)容

1.使用對(duì)象的串行化機(jī)制,使用RandomAccessFile構(gòu)造一個(gè)應(yīng)用程序能夠隨機(jī)存取文件的記錄,可顯示、修改記錄的內(nèi)容。撰寫(xiě)一個(gè)StoreDirList類(lèi),令其構(gòu)造函數(shù)可以接收文件路徑,并能夠產(chǎn)生該路徑下的所有文件的名稱(chēng)列表。

2.用DataInputStream輸出一個(gè)整型數(shù),一個(gè)雙精度數(shù)和一個(gè)字符串到文件中,然后用DataOutputStream將這些文件讀入并打印到標(biāo)準(zhǔn)輸出設(shè)備。

實(shí)驗(yàn)十、Swing容器及其組件

一、實(shí)驗(yàn)?zāi)康?/p>

1)、掌握容器的屬性與方法

2)、掌握Swing不同組件的屬性與方法

二、實(shí)驗(yàn)內(nèi)容

1.應(yīng)用按鈕、單選按鈕、復(fù)選框、文本組件等Swing組件設(shè)計(jì)一個(gè)安裝程序的對(duì)話(huà)框界面

實(shí)驗(yàn)十一、布局管理器

一、 實(shí)驗(yàn)?zāi)康?/p>

1)、掌握布局管理器的類(lèi)型

2)、掌握布局管理器的使用方法

二、 實(shí)驗(yàn)內(nèi)容

1.應(yīng)用布局方法設(shè)計(jì)一個(gè)手機(jī)的界面

實(shí)驗(yàn)十二、事件處理

一、 實(shí)驗(yàn)?zāi)康?/p>

1)、掌握事件處理模型

2)、能夠用程序?qū)崿F(xiàn)事件處理

3)、掌握使用內(nèi)部類(lèi)的方法處理事件

二、 實(shí)驗(yàn)內(nèi)容

1.在一個(gè)窗口中,在四個(gè)位置循環(huán)顯示四種不同顏色的正方形,當(dāng)鼠標(biāo)點(diǎn)擊時(shí),停止循環(huán)顯示,再次點(diǎn)擊,恢復(fù)顯示

2.在窗口的一個(gè)區(qū)域進(jìn)行鼠標(biāo)操作:mouseEnter,mouseExit,mousePress,mouseDrage和mouseClick。在窗口的另一個(gè)區(qū)域以文字顯示鼠標(biāo)所進(jìn)行的相應(yīng)操作。另外當(dāng)鼠標(biāo)進(jìn)行mousePress,mouseDrage,mouseClick操作時(shí),將顯示一個(gè)圖片。當(dāng)鼠標(biāo)拖拉時(shí),圖片隨鼠標(biāo)移動(dòng)。

展開(kāi)閱讀全文

總結(jié)

以上是生活随笔為你收集整理的java实验1机动车实验目的_《Java程序设计》实验指导书.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。