Bagaimana untuk melaksanakan fungsi simulasi antara muka USB dalam java
1 Topik
Simulasi fungsi antara muka USB
Kami sering menggunakan antara muka USB apabila menggunakan komputer Tetikus, papan kekunci, dan lain-lain adalah semua peranti dengan antara muka USB. Peranti dengan antara muka USB ini boleh digunakan secara normal dengan memasangkan papan kekunci ke dalam antara muka USB komputer.
Melalui konsep reka bentuk pengaturcaraan berorientasikan antara muka program JAVA, proses menggunakan antara muka USB untuk memacu tetikus dan papan kekunci disimulasikan.
Keperluan:
① Tentukan antara muka USB, yang mempunyai kaedah turnOn() untuk memulakan peranti USB, dan kaedah turnOff() untuk menutup peranti; , dan Mikrofon Mikrofon Kelas melaksanakan antara muka USB
③ Tentukan kelas komputer
powerOn() untuk menghidupkan, semua peranti USB perlu dimuatkan sebelum dihidupkan; semua peranti USB perlu dikeluarkan sebelum dimatikan.
Nota: Tetikus dan peranti lain tidak perlu dipalamkan apabila komputer dihidupkan
2 Analisis idea
2.1 Tulis antara muka USB, yang mempunyai kaedah hidupkan. dan kaedah mematikan
2.2 Tulis kelas Tetikus (tetikus), Papan Kekunci (papan kekunci) dan Mikrofon (mikrofon) untuk melaksanakan antara muka USB
2.3 Tulis semula hidupkan dan matikan untuk mencetak objek yang sepadan maklumat
2.4 Kelas Komputer mewujudkan Tatasusunan antara muka, digunakan untuk menyimpan objek instantiate setiap subkelas yang melaksanakan antara muka
2.5 Cipta kaedah peranti menambah satu masa addUSB (USB usb) dalam kelas Komputer, supaya setiap kali kaedah ini dipanggil, komputer A peranti akan dimasukkan pada kedudukan di mana objek tatasusunan antara muka bukan nol
2.6 PowerOn dalam Komputer merentasi semua antara muka USB Jika objek antara muka bukan batal, kaedah turnOn yang diganti dipanggil , apabila semua dilalui, ia akan mencetak bahawa komputer berjaya dimulakan.
2.7 PowerOff dalam Komputer merentasi semua antara muka USB Jika objek antara muka tidak batal, kaedah pemadaman yang ditindih peranti dipanggil, dan kemudian objek antara muka diberikan nilai nol apabila traversal selesai Semua akan dicetak selepas komputer dimatikan dengan jayanya.
2.8 Jika tiada peranti yang perlu dimuatkan atau dikeluarkan sebelum memulakan atau sebelum dimatikan, ia akan mengeluarkan bahawa tiada peranti yang perlu dimuatkan sebelum dimulakan atau tiada peranti yang perlu untuk dikeluarkan sebelum ditutup
3 Pelaksanaan Kod
Antara muka USB
package Work4; public interface USB { //接口里面的方法都是抽象方法,那个public abstract可以省略不写的!!! void turnOn(); void turnOff(); }
Kelas Papan Kekunci
package Work4; public class KeyBoard implements USB{ private String name; public KeyBoard() { } public KeyBoard(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public void turnOn() { System.out.println(name+"键盘加载了"); } @Override public void turnOff() { System.out.println(name+"键盘弹出了"); } }
Kelas Mikrofon
rreeeKelas tetikus
package Work4; public class MicroPhone implements USB{ private String name; public MicroPhone() { } public MicroPhone(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public void turnOn() { System.out.println(name+"麦克风加载了"); } @Override public void turnOff() { System.out.println(name+"麦克风弹出了"); } }
Kelas komputer
package Work4; public class Mouse implements USB{ private String name; public Mouse() { } public Mouse(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public void turnOn() { System.out.println(name+"鼠标加载了"); } @Override public void turnOff() { System.out.println(name+"鼠标弹出了"); } }
TestComputer
package Work4; public class Computer { //弄一个USB接口,里面的默认都为null private USB[] usbs=new USB[4]; public Computer() { } //每次只能增加一个设备 public void addUSB(USB usb){ for (int i = 0; i <usbs.length; i++) { //如果为空,则代表可以插入设备,否则就插入不了的 if(usbs[i]==null){ usbs[i]=usb; break; } } } public void powerOn(){ boolean flag=false; //判断是否插入了设备,只要有就为false for (int i = 0; i <usbs.length; i++) { if(usbs[i]!=null){ //如果USB接口不为空,则代表有设备,需要启动的 usbs[i].turnOn(); flag=true; } } if(!flag){ System.out.println("开机前没有需要加载的设备"); } System.out.println("开机成功!!!!"); } public void powerOff(){ boolean flag=false; //判断是否还有设备没有设备被弹出,只要有就为false for (int i = 0; i <usbs.length; i++) { if(usbs[i]!=null){ //如果USB接口不为空,则代表有设备,关机前需要弹出这些设备的 usbs[i].turnOff(); usbs[i]=null; flag=true; //弹出设备后,对应的接口上面就没有东西了,理应设置为null } } if(!flag){ System.out.println("关机前没有需要弹出的设备"); } System.out.println("关机成功!!!!"); } }
4 Tangkapan skrin kod berjalan
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi simulasi antara muka USB dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.
