Contoh -contoh dalam artikel ini berbagi dengan Anda kode spesifik ayunan Java untuk mengimplementasikan sistem penjawab untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Seperti yang ditunjukkan pada gambar di atas, kode tersedia untuk pengujian pribadi, sebagai berikut:
impor java.awt.borderlayout; impor java.awt.color; impor java.awt.gridlayout; impor java.awt.event.actionevent; impor java.awt.event.actionlistener; impor java.awt.event.keyevent; impor java.awt.event.keylistener; impor java.util.arraylist; impor java.util.list; impor java.util.random; impor javax.swing.jbutton; impor javax.swing.jframe; impor javax.swing.jlabel; impor javax.swing.jpanel; impor javax.swing.jtextfield; / ** * 2017-01-09 * @author koow * */ kelas publik SA meluas JFrame mengimplementasikan ActionListener, KeyListener {private jlabel title = null; Private Jbutton Submit = null; Private Jpanel Center = NULL; // Item digunakan untuk melompat int private int item1 = 0; Private int item2 = 1; private int item3 = 2; private int item4 = 3; Private Jlabel [] Formulalabel; // Digunakan untuk menyimpan berbagai item Ekspresi Daftar Pribadi <String> AllResult; // Digunakan untuk menyimpan hasil acak JTEXTField Private [] userresults; // digunakan untuk membiarkan pengguna memasukkan hasil pribadi jlabel [] juri; // Digunakan untuk menampilkan ikon untuk menunjukkan apakah hasil input pengguna adalah daftar pribadi yang benar <string> inputResults = null; // Anda tidak dapat secara pribadi jTextfield scorefield = null; private int textcount = 1; // Digunakan untuk merekam fokus public static void utama saat ini (string [] args) {sa s = baru sa (); } public SA () {// TODO Auto-Dibebankan Konstruktor Stub InputResults = New ArrayList <String> (); // Judul Instantiated = JLabel Baru ("Pertanyaannya sangat sederhana, jawablah dengan serius! ~ (1 poin untuk setiap pertanyaan, tambahkan 1 poin untuk jawaban yang benar, tidak ada poin yang akan dikurangkan jika jawabannya salah!)"); kirim = jbutton baru ("kirim"); submit.addactionListener (ini); Tata letak gridlayout = Gridlayout baru (21, 6); center = JPanel (tata letak) baru; // metode panggilan instantiasi metode initlables (); inituserrestult (); initjudge (); // Isi panel tengah (gridlayout) int count = 1; int formulacount = 0; int userresultScount = 0; int judgecount = 0; while (count <= 120) {// Tentukan Hitung % 6 dan tentukan komponen mana yang akan diisi IF (Hitung % 6 == 1 || Hitung % 6 == 2 || Hitung % 6 == 3 || Hitung % 6 == 4) {center.add (Formulalabel [FormulAcount]); formulacount ++; } lain jika (hitung % 6 == 5) {center.add (userResults [userResultScount]); userResultScount ++; } lain jika (hitung % 6 == 0) {center.add (juri [judgecount]); Judgecount ++; } count ++; } center.add (new jlabel ()); center.add (jlabel baru ()); center.add (Jlabel baru ("skor total:")); scorefield = new jTextField (); scorefield.seteditable (false); center.add (scorefield); center.add (jlabel baru ()); center.add (jlabel baru ()); this.add (tengah, borderlayout.center); // tambahkan komponen this.add (kirim, borderlayout.south); this.add (judul, borderlayout.north); // tunjukkan this.setlocation (400, 10); this.setVisible (true); this.setsize (500, 700); this.setDefaultCloseOperation (jframe.exit_on_close); this.settitle ("Simple Test System"); coba {thread.sleep (500); } catch (InterruptedException E) {// TODO Auto-Encanerated Catch Block E.PrintStackTrace (); } userResults [0] .RequestFocus (); } / *** Metode ini digunakan untuk menginisialisasi array dari berbagai item dari rumus* / private void initlables () {int sum; int number pertama; int number detik; allResult = new ArrayList <String> (); // Buat label persamaan this.Formulalabels = new jlabel [80]; // Contoh setiap label dalam array untuk (int i = 0; i <80; i ++) {formulalabels [i] = new jlabel (); } // Tetapkan konten dari setiap item dari ekspresi dan simpan jumlah angka acak ke dalam arraylist untuk hasil verifikasi selanjutnya sementara (item4 <80) {firstNumber = new random (). NextInt (99) + 1; Formulalabel [item1] .setText (string.ValueOf (firstNumber)); Formulalabel [item2] .setText ("+"); SecondNumber = baru acak (). NextInt (99) + 1; Formulalabel [item3] .setText (string.ValueOf (SecondNumber)); Formulalabel [item4] .setText ("="); SUM = FirstNumber + SecondNumber; allresult.add (string.ValueOf (sum)); item1 += 4; item2 += 4; item3 += 4; item4 += 4; } // untuk (int i = 0; i <80; i ++) {// system.out.println (formulalabels [i] .getText ()); //}} /*** Metode ini digunakan untuk membuat instantiate array userResults dan instantiate setiap jTextfield inituserRestUnt () {userResults = jTextfield baru [20]; untuk (int i = 0; i <20; i ++) {userResults [i] = new jTextField (); userresults [i] .setsize (20, 20); // pendengar menambahkan setelah userresults [i] .addeylistener (ini); }} / *** Metode ini digunakan untuk membuat instantiate array juri dan instantiate setiap label di dalamnya* / private void initjudge () {judge = new jlabel [20]; untuk (int i = 0; i <20; i ++) {judge [i] = new jlabel ("bagikan"); }} // Implementasikan metode mendengarkan, apa yang ingin Anda lakukan setelah pengguna mengklik untuk mengirimkan @Override public void actionPerformed (actionEvent arg0) {// todo metode yang dihasilkan secara otomatis stub int skor = 0; untuk (int i = 0; i <20; i ++) {// Dapatkan semua hasil yang dimasukkan oleh pengguna dan simpan ke dalam daftar array. Anda tidak dapat inputresults.add (userresults [i] .getText (). ToString (). Trim ()); System.out.println (USERRESULTS [i] .getText (). ToString ()); // Keluarkan jawaban yang dimasukkan oleh pengguna dan bandingkan dengan hasil yang dihitung sebelumnya. Jika salah, atur label berikutnya ke jawaban yang salah. // Jika benar, atur ke hasil string jawaban yang benar = userResults [i] .getText (). ToString (). Trim (); if (hasil. menilai [i] .setForeground (Color.Red); skor ++; } else {juri [i] .setText ("kesalahan jawaban"); Hakim [i] .setForeground (color.green); }} scorefield.setText (string.valueof (skor)); } @Override public void keypressed (KeyEvent e) {// TODO METODE AUTO-DEPAN METODE EF (e.getKeyCode () == keyevent.vk_enter) {userResults [TextCount] .requestFocus (); if (TextCount <19) {TextCount ++; }}} @Override public void keytyped (KeyEvent e) {// TODO Metode yang dihasilkan secara otomatis} @Override public void keyreleased (keyevent e) {// TODO Metode yang dihasilkan otomatis}}Untuk materi pembelajaran lebih lanjut, harap perhatikan topik khusus "pengembangan sistem manajemen".
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.