Sunday 6 August 2017

Pindah rata rata contoh java


Pendahuluan Artikel sebelumnya melihat rata-rata bergerak apa dan bagaimana cara menghitungnya. Artikel ini sekarang melihat bagaimana menerapkannya di Web Intelligence. Rumus yang digunakan di sini kompatibel dengan versi XIr3 dari SAP BOE namun beberapa rumus dapat bekerja di versi sebelumnya jika tersedia. Kita akan mulai dengan melihat bagaimana menghitung rata-rata bergerak sederhana sebelum melihat bentuk tertimbang dan eksponensial. Contoh Kerja Contoh di bawah ini semua menggunakan kumpulan data yang sama dengan data harga saham dalam file Excel yang dapat Anda download. Kolom pertama dalam file tersebut adalah hari harga saham dan kemudian kolom harga pembukaan, harga tertinggi pada hari itu, harga terendah, harga penutupan, volume dan harga penutupan yang disesuaikan. Kami akan menggunakan harga penutupan dalam analisis kami di bawah ini bersama dengan objek Tanggal. Simple Moving Average Ada beberapa cara untuk menghitung rata-rata bergerak sederhana. Salah satu pilihannya adalah menggunakan fungsi Previous untuk mendapatkan nilai dari baris sebelumnya. Misalnya rumus berikut ini menghitung rata-rata bergerak pada harga saham penutupan kita untuk kumpulan data rata-rata bergerak berukuran 3, Ini adalah formula yang cukup sederhana namun jelas tidak praktis bila kita memiliki sejumlah besar periode di sini yang dapat kita buat. Penggunaan rumus RunningSum dan untuk kumpulan data ukuran N yang kita miliki Akhirnya kita memiliki teknik ke-3, yang walaupun lebih rumit, mungkin memiliki kinerja yang lebih baik karena menghitung nilai baru berdasarkan nilai sebelumnya daripada dua jumlah yang berjalan di atas data penuh set. Namun rumus ini hanya bekerja setelah titik ke-N dalam kumpulan data keseluruhan dan karena mengacu pada nilai sebelumnya, kita juga harus menetapkan nilai awal. Berikut adalah rumus lengkap yang digunakan untuk analisis harga saham kami dimana periode rata-rata pergerakan kami adalah 15 hari, Tanggal 1252010 adalah titik data ke-15 dalam kumpulan data kami dan oleh karena itu kami menghitung rata-rata normal menggunakan RunningSum. Untuk semua tanggal di luar nilai ini kami menggunakan rumus SMA kami dan kami kosongkan semua tanggal sebelum tanggal ini. Gambar 1 di bawah ini adalah bagan di Web Intelligence yang menampilkan data harga saham kami dengan rata-rata bergerak sederhana. Gambar 1. Dokumen Intelijen Web yang Menampilkan Rata-rata Bergerak Tertimbang Rata-rata Bergerak Rata-rata Rumus rata-rata bergerak tertimbang dengan jangka waktu 3 adalah, Seperti rumus rata-rata pergerakan sederhana pertama kami di atas ini hanya praktis untuk sejumlah kecil periode. Saya belum bisa menemukan formula sederhana yang bisa digunakan untuk periode rata-rata bergerak yang lebih besar. Secara matematis itu mungkin tapi keterbatasan dengan Web Intelligence berarti bahwa formula ini tidak dapat dikonversi. Jika ada yang mampu melakukan ini, saya akan senang mendengar gambar di bawah ini adalah WMA periode 6 yang diimplementasikan di Web Intelligence. Gambar 2. Dokumen Web Intelligence dari Moving Average Moving Average Moving Average Rata-rata pergerakan eksponensial cukup lurus ke depan untuk diterapkan di Web Intelligence dan merupakan alternatif yang sesuai untuk Weighted Moving Average. Rumus dasarnya adalah Disini kita memiliki kode keras 0.3 sebagai nilai alpha kita. Kami hanya menerapkan rumus ini untuk periode yang lebih besar dari periode kedua sehingga kami dapat menggunakan pernyataan if untuk menyaringnya. Untuk periode pertama dan kedua kita bisa menggunakan nilai sebelumnya dan jadi rumus akhir untuk EMA adalah, Berikut adalah contoh EMA yang diterapkan pada data stok kita. Gambar 3. Dokumen Web Intelligence menampilkan Kontrol Masukan Rata-rata Bergerak Eksponensial Karena formula EMA kita tidak bergantung pada ukuran periode rata-rata bergerak dan satu-satunya variabel kita adalah alpha kita dapat menggunakan Input Controls untuk memungkinkan pengguna menyesuaikan nilai alpha. Untuk melakukan ini, Buat sebuah variabel baru yang disebut 8216alpha8217 dan definisikan it8217s formula sebagai, Update formula EMA kami, Buat kontrol masukan baru yang memilih variabel alpha kami sebagai objek laporan kontrol masukan Gunakan slider sederhana dan tetapkan properti berikut, Setelah selesai Anda Harus dapat memindahkan slider dan segera melihat perubahan pada garis tren pada grafik Kesimpulan Kami melihat bagaimana menerapkan tiga jenis rata-rata bergerak di Web Intelligence dan walaupun semua mungkin, Exponential Moving Average mungkin yang termudah dan paling fleksibel. . Saya harap Anda menemukan artikel ini menarik dan karena selalu ada umpan balik yang sangat diterima. Posting navigasi Tinggalkan Balasan Batalkan balasan Anda harus masuk untuk mengirim komentar. Trik untuk Weighted Moving Average (WMA) adalah Anda harus menciptakan sebuah variabel yang mewakili pembilang WMA (lihat Wikipedia untuk referensi.) Ini seharusnya terlihat seperti berikut: Sebelumnya (Diri) (n Tutup) 8211 (Sebelumnya (RunningSum ( Close)) 8211 Sebelumnya (RunningSum (Close) n1) dimana n adalah jumlah periode. Maka rumus WMA8217s yang sebenarnya adalah seperti: Numerator (n (n 1) 2) dimana Numerator adalah variabel yang Anda buat sebelumnya.1.2 Built - di Jenis Data Tipe data adalah kumpulan nilai dan satu set operasi yang didefinisikan pada mereka. Sebagai contoh, kita mengenal angka dan operasi yang didefinisikan pada mereka seperti penambahan dan perkalian. Ada delapan tipe built-in yang berbeda Dari data di Jawa, kebanyakan jenis angka yang berbeda Kami menggunakan tipe sistem untuk senar karakter begitu sering sehingga kami juga menganggapnya di sini Terminologi Kami menggunakan fragmen kode berikut untuk mengenalkan beberapa terminologi: Baris pertama adalah pernyataan deklarasi bahwa Menyatakan nama tiga Variabel menggunakan pengenal a. B. Dan c dan tipe mereka menjadi int. Tiga baris berikutnya adalah pernyataan tugas yang mengubah nilai variabel, menggunakan literal 1234 dan 99. Dan ungkapan a b. Dengan hasil akhirnya c memiliki nilai 1333. Karakter dan senar. Karakter char adalah karakter alfanumerik atau simbol, seperti karakter yang Anda ketik. Kami biasanya tidak melakukan operasi apapun pada karakter selain menugaskan nilai ke variabel. String adalah urutan karakter. Operasi yang paling umum yang kita lakukan pada senar dikenal sebagai rangkaian. Diberi dua senar, rantai mereka bersama-sama untuk membuat string baru. Sebagai contoh, perhatikan fragmen program Java berikut: Pernyataan pertama menyatakan tiga variabel sebagai tipe String. Tiga pernyataan berikut memberikan nilai kepada mereka, dengan hasil akhir bahwa c memiliki nilai Hello, Bob. Dengan menggunakan string concatenation, Ruler. java mencetak panjang relatif dari subdivisi pada penggaris. Integer. Int int adalah bilangan bulat (bilangan bulat) antara minus2 31 dan 2 31 minus 1 (minus2,147,483,648 sampai 2,147,483,647). Kami menggunakan int s sering bukan hanya karena sering terjadi di dunia nyata, tapi juga secara alami muncul saat mengekspresikan algoritma. Operator aritmatika standar untuk penambahan, perkalian, dan pembagian, untuk bilangan bulat dibangun ke Jawa, seperti yang digambarkan pada IntOps. java dan tabel berikut: Angka floating-point. Tipe ganda adalah untuk mewakili bilangan floating-point, mis. Untuk digunakan dalam aplikasi ilmiah. Representasi internal seperti notasi ilmiah, sehingga kita bisa menghitung dengan bilangan real dalam kisaran yang sangat besar. Kita dapat menentukan nomor floating point dengan menggunakan serangkaian digit dengan titik desimal, mis. 3,14159 untuk pendekatan enam digit ke pi konstan matematika, atau dengan notasi seperti notasi ilmiah, mis. 6.022E23 untuk konstanta Avogadros 6.022 kali 10 23. Operator aritmatika standar untuk penambahan, perkalian, dan pembagian, untuk ganda dibangun di Jawa, seperti yang digambarkan pada DoubleOps. java dan tabel berikut: Quadratic. java menunjukkan penggunaan ganda dalam komputasi Dua akar persamaan kuadrat menggunakan rumus kuadrat. Boolean. Tipe boolean hanya memiliki dua nilai: true atau false. Kesederhanaan yang jelas adalah menipu botani berdasar pada ilmu komputer. Operator yang paling penting yang didefinisikan untuk boolean adalah untuk dan. atau . dan tidak . Dan. B benar jika keduanya a dan b benar, dan salah sebaliknya. atau . B benar jika salah satu atau b benar (atau keduanya benar), dan salah jika tidak. A benar jika salah, dan salah. Meskipun definisi ini intuitif dan mudah dipahami, sangat berguna untuk menentukan secara penuh setiap kemungkinan untuk setiap operasi dalam tabel kebenaran. Perbandingan Operator pembanding adalah operasi tipe campuran yang menggunakan operan satu jenis (misalnya int atau double) dan menghasilkan hasil tipe boolean. Operasi ini memainkan peran penting dalam proses pengembangan program yang lebih canggih. LeapYear. java menguji apakah bilangan bulat sesuai dengan tahun kabisat dalam kalender Gregorian. Metode dan API perpustakaan Banyak tugas pemrograman melibatkan penggunaan metode perpustakaan Java selain operator built-in. Antarmuka pemrograman aplikasi adalah tabel yang merangkum metode di perpustakaan. Mencetak string ke jendela terminal. Mengubah string menjadi tipe primitif. Fungsi matematika Anda bisa memanggil metode dengan mengetik namanya diikuti dengan argumen. Terlampir dalam tanda kurung dan dipisahkan dengan koma. Berikut adalah beberapa contohnya: Kita sering menemukan diri kita mengubah data dari satu jenis ke tipe yang lain dengan menggunakan salah satu pendekatan berikut. Konversi tipe. Kita sering menemukan diri kita mengubah data dari satu jenis ke tipe lain menggunakan salah satu dari pendekatan berikut. Konversi jenis eksplisit Metode panggilan seperti Math. round (). Integer. parseInt (). Dan Double. parseDouble (). Konversi tipe otomatis Untuk tipe numerik primitif, sistem secara otomatis melakukan konversi tipe saat kita menggunakan nilai yang memiliki rentang nilai lebih besar dari yang diharapkan. Tembakan eksplisit. Java juga memiliki beberapa metode konversi tipe built-in untuk tipe primitif yang dapat Anda gunakan saat Anda sadar bahwa Anda mungkin kehilangan informasi, namun Anda harus membuat niat menggunakan sesuatu yang disebut pemeran. RandomInt. java membaca argumen baris perintah integer n dan mencetak bilangan bulat acak antara 0 dan n minus1. Konversi otomatis untuk senar. String tipe built-in mematuhi peraturan khusus. Salah satu aturan khusus ini adalah Anda dapat dengan mudah mengkonversikan semua jenis data ke String dengan menggunakan operator. Misalkan a dan b adalah nilai int. Apa urutan pernyataan berikut yang dilakukan Solusi. Menetapkan a. B. Dan t sama dengan nilai asli a. Misalkan a dan b adalah nilai int. Sederhanakan ungkapan berikut: ((a b)) Solusi. (A b) Operator eksklusif atau operator untuk operan boolean didefinisikan benar jika berbeda, salah jika keduanya sama. Berikan tabel kebenaran untuk fungsi ini. Mengapa memberi 3 dan tidak 3.33333333. Solusi. Karena keduanya 10 dan 3 adalah literal bilangan bulat, Java melihat tidak perlu konversi tipe dan menggunakan divisi bilangan bulat. Anda harus menulis 10.03.0 jika Anda bermaksud angka menjadi literal ganda. Jika Anda menulis 103.0 atau 10.03. Java melakukan konversi implisit untuk mendapatkan hasil yang sama. Apa yang tercetak masing-masing dari cetakan System. out. println (2 bc) berikut ini: 2bc System. out. println (2 3 bc) dicetak: 5bc System. out. println ((23) bc) mencetak: 5bc System. out. Cetakan println (bc (23)): bc5 System. out. println (bc 2 3) prints: bc23 Jelaskan setiap hasil. Jelaskan bagaimana menggunakan Quadratic. java untuk menemukan akar kuadrat dari sebuah bilangan. Solusi. Untuk menemukan akar kuadrat dari c, temukan akar x2 0x - c. Seorang siswa fisika mendapatkan hasil yang tidak diharapkan saat menggunakan kode untuk menghitung nilai sesuai dengan rumus F G m 1 m 2 r 2. Jelaskan masalah dan perbaiki kode. Solusi. Ini terbagi oleh r. Kemudian dikalikan dengan r (bukan membagi dengan r r). Gunakan tanda kurung: Tuliskan program Distance. java yang mengambil dua argumen baris perintah integer x dan y dan cetak jarak Euclidean dari titik (x. Y) ke titik asal (0, 0). Tuliskan sebuah program SumOfTwoDice. java yang mencetak jumlah dua bilangan bulat acak antara 1 dan 6 (seperti yang mungkin Anda dapatkan saat memutar dadu). Tuliskan sebuah program SpringSeason. java yang mengambil dua nilai int m dan d dari baris perintah dan mencetak true jika hari ke bulan m adalah antara 20 Maret (m 3, d 20) dan 20 Juni (m 6, d 20), salah jika tidak. Latihan Kreatif Angin dingin. Mengingat suhu t (dalam Fahrenheit) dan kecepatan angin v (dalam mil per jam), National Weather Service mendefinisikan suhu efektif (angin dingin) menjadi: w 35,74 0,6215 t (0,4275 t - 35,75) v 0,16 Tuliskan Program WindChill. java yang mengambil dua argumen command-line ganda t dan v dan mencetak angin dingin. Gunakan Math. pow (a, b) untuk menghitung b. Catatan: rumus tidak valid jika t lebih besar dari 50 dalam nilai absolut atau jika v lebih besar dari 120 atau kurang dari 3 (Anda dapat mengasumsikan bahwa nilai yang Anda dapatkan berada dalam kisaran tersebut). Koordinat polar Tuliskan sebuah program CartesianToPolar. java yang mengkonversi dari koordinat Cartesian ke polar. Program Anda harus mengambil dua bilangan real x dan y pada baris perintah dan mencetak koordinat kutub r dan theta. Gunakan metode Java Math. atan2 (y, x). Yang menghitung nilai arctherent yx yang ada dalam range dari - pi to pi. Hari di minggu ini. Tuliskan sebuah program DayOfWeek. java yang mengambil tanggal sebagai masukan dan mencetak hari dalam minggu yang jatuh. Program Anda harus mengambil tiga argumen baris perintah: m (bulan), d (hari), dan y (tahun). Untuk m gunakan 1 untuk bulan Januari, 2 untuk bulan Februari, dan seterusnya. Untuk hasil cetak 0 untuk hari Minggu, 1 untuk hari Senin, 2 untuk hari Selasa, dan seterusnya. Gunakan rumus berikut, untuk kalender Gregorian (di mana menunjukkan pembagian bilangan bulat): y 0 y minus (14 minus m) 12 xy 0 y 0 4 minus y 0 100 y 0 400 m 0 m 12 kali ((14 minus m) 12 ) Minus 2 d 0 (dx 31 m 0 12) mod 7 Misalnya, pada hari mana minggu itu adalah 2 Agustus 1953 Nomor acak seragam. Tuliskan program Stats5.java yang mencetak lima nilai acak seragam antara 0 dan 1, nilai rata-ratanya, dan nilai minimum dan maksimumnya. Gunakan Math. random (). Math. min (). Dan Math. max (). Tiga macam. Tuliskan sebuah program ThreeSort. java yang mengambil tiga nilai int dari command line dan mencetaknya dalam urutan menaik. Gunakan Math. min () dan Math. max (). Lonceng naga Tulis sebuah program Dragon. java untuk mencetak instruksi untuk menggambar kurva naga dari pesanan 0 sampai 5. Instruksi adalah string dari karakter F. L. Dan R. Dimana F berarti menarik garis saat bergerak 1 unit ke depan, L berarti belok kiri, dan R berarti belok kanan. Lengkung naga dari n order terbentuk saat Anda melipat selembar kertas menjadi setengah n kali, lalu dilipat ke sudut kanan. Kunci untuk memecahkan masalah ini adalah dengan mencatat bahwa kurva n order adalah lekukan order n dikurangi1 diikuti oleh L diikuti oleh kurva orde n dikurangi1 yang dilalui dalam urutan terbalik, dan kemudian untuk mengetahui gambaran yang sama dari reverse melengkung. Latihan Web Tuliskan sebuah program Swap. java yang mengambil dua argumen baris perintah integer a dan b dan swap nilainya menggunakan idiom bertukar yang dijelaskan pada hlm. 17. Setelah setiap pernyataan tugas, gunakan System. out. println () untuk mencetak jejak variabel. Apa yang dilakukan pernyataan berikut di mana kelas adalah variabel tipe int. Solusi. Kesalahan sintaks karena Kode Sumber T halamannya berisi tautan ke kode sumber untuk contoh yang muncul di buku teks on-line gratis Pengenalan Pemrograman Menggunakan Java, Edisi Ketujuh. Halaman indeks memiliki link untuk mendownload keseluruhan situs web. Jika Anda melakukannya, Anda akan menemukan file kode sumber dalam direktori yang diberi nama sumber. Ada juga link untuk mendownload hanya kode sumbernya. File README dari unduhan mencakup beberapa instruksi untuk mengkompilasi dan menjalankan program. Namun perlu dicatat bahwa beberapa contoh ini bergantung pada file sumber lain, seperti TextIO. java. Yang tidak dibangun di Jawa. Ini adalah kelas yang saya tulis. Semua file yang diperlukan disertakan dalam unduhan, dan tautan ke masing-masing file disediakan di bawah ini. Solusi untuk latihan akhir bab tidak terdaftar di halaman ini. Setiap latihan akhir bab memiliki halaman Web sendiri, yang membahas solusinya. Kode sumber dari solusi sampel dari setiap latihan diberikan pada halaman solusi untuk latihan itu. Jika Anda ingin mengkompilasi solusinya, Anda harus bisa memotong-dan-menempelkan solusinya dari jendela browser Web dan masuk ke program pengeditan teks. (Anda tidak bisa memotong-dan-tempel dari sumber HTML dari halaman solusi, karena berisi perintah markup HTML tambahan yang kompiler Java tidak akan mengerti markup HTML tidak muncul saat halaman ditampilkan di browser Web.) Solusi latihan adalah Juga tersedia sebagai download dari halaman depan situs web. File README dari unduhan memiliki lebih banyak informasi. Banyak contoh program dalam teks didasarkan pada inputout gaya konsol, di mana komputer dan teks jenis pengguna saling bertautan satu sama lain. Beberapa program ini menggunakan objek output standar, System. out. Untuk output Banyak dari mereka menggunakan kelas non-standar saya, TextIO. Untuk input Untuk program yang menggunakan TextIO. Salah satu file TextIO. java atau TextIO. class harus tersedia saat Anda mengkompilasi program, dan TextIO. class harus tersedia saat Anda menjalankan program. Ada juga versi GUI dari TextIO Anda dapat menemukan informasi tentang hal itu di akhir halaman web ini. HelloWorld. java. Dari Bagian 2.1. Sebuah program sepele yang tidak melakukan apapun kecuali mencetak pesan, Hello World. Program Hello World biasanya merupakan program pertama bagi seseorang yang mempelajari bahasa pemrograman baru. Bunga. java Dari Bagian 2.2. Menghitung bunga dengan jumlah uang tertentu selama periode satu tahun. TimedComputation. java. Dari Bagian 2.3. Menunjukkan beberapa subrutin dan fungsi dasar built-in. EnumDemo. java. Dari Bagian 2.3. Sebuah demonstrasi pertama yang sangat sederhana dari tipe enum. PrintSquare. java. Dari Bagian 2.4. Membaca sebuah bilangan bulat yang diketik oleh pengguna dan mencetak kuadrat bilangan bulat itu. Program ini tergantung pada TextIO. java. Hal yang sama berlaku untuk hampir semua program di sisa daftar ini. Bunga2.java Dari Bagian 2.4. Menghitung bunga atas investasi selama satu tahun, berdasarkan masukan pengguna. Menggunakan TextIO untuk input pengguna. CreateProfile. java. Dari Bagian 2.4. Demo sederhana output ke file, menggunakan TextIO. Interest2WithScanner. java. Dari Bagian 2.4. Adalah versi Interest2.java yang menggunakan Scanner dan bukan TextIO untuk membaca masukan dari pengguna. Bunga3.java Dari Bagian 3.1. Contoh pertama yang menggunakan pernyataan kontrol. TigaN1.java. Dari Bagian 3.2. Keluarkan urutan 3N1 untuk nilai pernyataan yang diberikan. ComputeAverage. java. Dari Bagian 3.3. Menghitung nilai rata-rata beberapa bilangan bulat yang dimasukkan oleh pengguna. CountDivisors. java. Dari Bagian 3.4. Menghitung jumlah pembagi bilangan bulat yang dimasukkan oleh pengguna. ListLetters. java. Dari Bagian 3.4. Daftar semua huruf yang berbeda dalam string yang dimasukkan oleh pengguna. LengthConverter. java. Dari Bagian 3.5. Mengubah ukuran pengukuran input oleh pengguna menjadi satuan pengukuran yang berbeda. ComputeAverage2.java. Dari Bagian 3.7. Menghitung nilai rata-rata dari beberapa bilangan real yang dimasukkan oleh pengguna. Menunjukkan penggunaan try..catch untuk Double. parseDouble. AverageNumbersFromFile. java. Dari Bagian 3.7. Menemukan jumlah dan rata-rata angka yang dibaca dari sebuah file. Menunjukkan penggunaan try..catch pernyataan dengan TextIO. BirthdayProblem. java. Dari Bagian 3.8. Menunjukkan akses acak ke elemen array menggunakan masalah ulang tahun (berapa banyak orang yang harus Anda pilih secara acak sampai dua orang ditemukan yang hari ulang tahunnya ada pada hari yang sama tahun ini). ReverseInputNumbers. java. Dari Bagian 3.8. Menggambarkan penggunaan array penuh sebagian dengan membaca beberapa nomor dari pengguna dan kemudian mencetaknya dalam urutan terbalik. GuessingGame. java. Dari Bagian 4.2. Biarkan pengguna bermain menebak permainan di mana komputer mengambil nomor dan pengguna mencoba menebaknya. Sedikit variasi dari program ini, yang melaporkan jumlah game yang dimenangkan oleh pengguna, adalah GuessingGame2.java. RowsOfChars. java. Dari Bagian 4.3. Sebuah program yang agak tidak berguna dimana satu subrutin memanggil yang lain. CopyTextFile. java Dari Bagian 4.3. Menunjukkan penggunaan argumen baris perintah dengan menggunakan nama file dari baris perintah. TigaN2.java. Dari Bagian 4.4.3. Adalah program 3N1 yang ditingkatkan yang menggunakan subrutin dan mencetak hasilnya dalam kolom yang rapi. RollTwoPairs. java. Dari Subbagian 5.2.2. Menggunakan PairOfDice. java untuk mensimulasikan dua pasang pasang dadu sampai total yang sama digulung pada kedua pasang. HighLow. java. Dari Bagian 5.4. Permainan kartu sederhana Menggunakan Class Card. java dan Deck. java. Yang diberikan sebagai contoh pemrograman berorientasi obyek. Juga tersedia, kelas yang berhubungan dengan kartu Hand. java dan, dari Bagian 5.5.1. BlackjackHand. java. ReverseWithDynamicArray. java. Dari Bagian 7.2. Membaca nomor dari pengguna kemudian mencetaknya dalam urutan terbalik. Hal ini menggunakan kelas DynamicArrayOfInt. java sebagai contoh penggunaan dynamic array. ReverseWithArrayList. java. Dari Bagian 7.3. Secara fungsional identik, namun menggunakan ArrayListltIntegergt dan bukan DynamicArrayOfInt. SymmetricMatrix. java. Dari Bagian 7.5. Menerapkan array 2D simetris ganda. Program TestSymmetricMatrix. java menguji kelas SymmetricMatrix. LengthConverter2.java. Dari Bagian 8.2. Mengubah pengukuran input oleh pengguna menjadi inci, kaki, meter, dan mil. Perbaikan pada LengthConverter. java ini memungkinkan masukan menggabungkan beberapa pengukuran, seperti 3 kaki 7 inci, dan mendeteksi masukan ilegal. TryStatementDemo. java. Dari Bagian 8.3. Sebuah program demo kecil dengan sebuah try..catch statement yang mencakup autoclosing sebuah resource. LengthConverter3.java. Dari Bagian 8.3. Adalah revisi dari contoh sebelumnya yang menggunakan pengecualian untuk menangani kesalahan pada input pengguna. TowersOfHanoi. java. Dari Bagian 9.1. Mencetak langkah-langkah dalam sebuah solusi untuk masalah Tower of Hanoi contoh rekursi. StringList. java. Dari Bagian 9.2. Menerapkan daftar string yang ditautkan. Program ListDemo. java menguji kelas ini. PostfixEval. java. Dari Bagian 9.3. Mengevaluasi ekspresi postfix menggunakan stack. Tergantung pada kelas StackOfDouble yang didefinisikan di StackOfDouble. java. SortTreeDemo. java. Dari Bagian 9.4. Menunjukkan pohon string biner. SimpleParser1.java. SimpleParser2.java. Dan SimpleParser3.java. Dari Bagian 9.5. Adalah tiga program yang mengurai dan mengevaluasi ekspresi aritmatika yang di masukan oleh pengguna. SimpleParser1 hanya menangani ekspresi tanda kurung sepenuhnya. SimpleParser2 mengevaluasi ekspresi biasa dimana beberapa tanda kurung dapat diabaikan. SimpleParser3 membuat pohon ekspresi untuk mewakili ekspresi masukan dan menggunakan pohon ekspresi untuk mengevaluasi ungkapan. WordListWithTreeSet. java. Dari Bagian 10.2. Membuat daftar kata-kata abjad dari sebuah file. TreeSet digunakan untuk menghilangkan duplikasi dan mengurutkan kata-kata. WordListWithPriorityQueue. java. Dari Bagian 10.2. Membuat daftar kata-kata abjad dari sebuah file. Ini adalah modifikasi kecil dari contoh sebelumnya yang menggunakan PriorityQueue dan bukan TreeSet. Hasilnya adalah daftar kata-kata abjad di mana duplikat tidak dihapus. SimpleInterpreter. java. Dari Bagian 10.4. Menunjukkan penggunaan HashMap sebagai tabel simbol dalam sebuah program yang menafsirkan perintah sederhana dari pengguna. WordCount. java. Dari Bagian 10.4. Menghitung jumlah kemunculan setiap kata dalam sebuah file. Program ini menggunakan beberapa fitur dari Java Collection Framework. ReverseFile. java. Dari Bagian 11.2. Menunjukkan bagaimana membaca dan menulis file dalam aplikasi baris perintah sederhana menggunakan TextReader. java kelas standar. ReverseFileWithScanner. java adalah versi program yang menggunakan Scanner dan bukan TextReader. Dan ReverseFileWithResources. java adalah versi yang menggunakan pola sumber daya dalam try..catch statements. DirectoryList. java. Dari Bagian 11.2. Daftar isi direktori yang ditentukan oleh pengguna menunjukkan penggunaan kelas File. CopyFile. java Dari Bagian 11.3. Adalah program yang membuat salinan file, menggunakan nama file yang diberikan sebagai argumen baris perintah. CopyFileAsResources. java adalah versi dari program yang juga menunjukkan penggunaan pola sumber daya dalam sebuah try ..catch statement. TeleponDirectoryFileDemo. java Dari Bagian 11.3. Menunjukkan penggunaan file untuk menyimpan data di antara rangkaian program. FetchURL. java. Dari Bagian 11.4. Membaca dan menampilkan isi URL tertentu, jika URL merujuk ke file teks. ShowMyNetwork. java. Disebutkan di Bagian 11.4. Adalah program singkat yang mencetak informasi tentang setiap antarmuka jaringan di komputer tempat dijalankan, termasuk alamat IP yang terkait dengan setiap antarmuka. DateClient. java dan DateServer. java. Dari Bagian 11.4. Adalah contoh pertama yang sangat sederhana dari program client dan server jaringan. CLChatClient. java dan CLChatServer. java. Dari Bagian 11.4. Menunjukkan komunikasi dua arah melalui jaringan dengan membiarkan pengguna mengirim pesan bolak-balik namun, tidak ada threading yang digunakan dan pesan harus benar-benar bergantian. ThreadTest1.java. Dari bagian Bagian 12.1. Menjalankan satu atau lebih benang yang semuanya melakukan tugas yang sama, untuk menunjukkan bahwa mereka berjalan bersamaan dan menyelesaikannya dalam urutan yang tidak pasti. ThreadTest2.java. Dari bagian Bagian 12.1. Membagi sebuah tugas (menghitung bilangan prima) di antara beberapa benang, untuk menunjukkan pemrosesan paralel dan penggunaan sinkronisasi. DateServerWithThreads. java dan DateServerWithThreadPool. java. Dari Bagian 12.4. Adalah modifikasi dari chapter11DateServer. java (Subsection 11.4.4) yang menggunakan benang untuk menangani komunikasi dengan klien. Program pertama membuat thread baru untuk setiap koneksi. Yang kedua menggunakan kolam benang, dan menggunakan antrian pemblokiran untuk mengirim koneksi dari program utama ke kolam renang. Server berulir akan bekerja dengan program klien asli, chapter11DateClient. java. CLMandelbrotMaster. java. CLMandelbrotWorker. java. Dan CLMandelbrotTask. java. Dari Bagian 12.4. Adalah demonstrasi komputasi terdistribusi di mana potongan-potongan perhitungan besar dikirim melalui jaringan yang akan dihitung oleh program pekerja. Program contoh berikut menggunakan antarmuka pengguna grafis. GUIDemo. java adalah demonstrasi sederhana dari beberapa komponen GUI dasar dari perpustakaan antarmuka pengguna Swing grafis. Itu muncul dalam teks di Bagian 1.6. Tapi Anda tidak akan bisa memahaminya sampai Anda belajar tentang pemrograman GUI. RandomCircles. java. Dari Bagian 3.9. Menarik sejumlah besar cakram acak yang diputar secara acak. Program grafis sederhananya adalah contoh pertama dari program GUI. Hal ini dimaksudkan sebagai pengantar grafis dan sebagai contoh penggunaan struktur kontrol. MovingRects. java. Dari Bagian 3.9. Menggambar satu set persegi panjang bersarang yang tampaknya bergerak tak terbatas ke tengah. Kedua program ini dan yang sebelumnya berbasis SimpleAnimationStarter. java. Yang bisa dijadikan titik awal penulisan program serupa. RandomMosaicWalk. java. Sebuah program mandiri yang menampilkan jendela penuh kotak berwarna dengan gangguan bergerak, dari Bagian 4.6. Program ini tergantung pada MosaicPanel. java dan Mosaic. java. RandomMosaicWalk2.java adalah versi dari contoh sebelumnya, dimodifikasi untuk menggunakan beberapa konstanta bernama. Dari Bagian 4.7. GrowingCircleAnimation. java. Dari Bagian 5.3. Menunjukkan animasi lingkaran tumbuh dan semi transparan. Membutuhkan CircleInfo. java. Digunakan sebagai contoh sederhana pemrograman dengan objek. ShapeDraw. java. Dari Bagian 5.5. Adalah sebuah program yang memungkinkan pengguna menempatkan berbagai bentuk pada area gambar contoh kelas abstrak, subclass, dan polimorfisme. HelloWorldGUI1.java dan HelloWorldGUI2.java. Dari Bagian 6.1. Tampilkan pesan Hello World di jendela, yang pertama dengan menggunakan kelas JOptionPane built-in dan yang kedua dengan membangun antarmuka dengan tangan. SimpleColorChooser. jav. Digunakan pada Bagian 6.2 untuk menunjukkan warna RGB dan HSB. Program ini menggunakan teknik yang tidak tercakup sampai nanti dalam teks, dan tidak disajikan sebagai contoh pemrograman. Anda bisa menjalankannya untuk bereksperimen dengan warna. RandomStringsPanel. java. Dari Bagian 6.2. Menunjukkan 25 salinan string Java (atau beberapa string lain yang ditentukan di dalamnya konstruktor) dalam warna acak dan font. Program RandomStrings. java menggunakan RandomStringsPanel sebagai panel kontennya. Dan RandomStringsPanelWithMain. java adalah program yang menggabungkan main () rutin dan definisi panel menjadi satu file. Akhirnya, ClickableRandomStrings. java dari Bagian 6.3 adalah modifikasi RandomStrings. java dengan pendengar mouse yang mengulang panel saat pengguna mengekliknya. SimpleStamper. java. Dari Bagian 6.3. Memungkinkan pengguna menempatkan persegi panjang dan oval pada area gambar dengan mengklik mouse. SimpleTrackMouse. java. Dari Bagian 6.3. Menunjukkan informasi tentang kejadian mouse saat pengguna bergerak dan mengeklik dengan mouse. SimplePaint. java. Dari Bagian 6.3. Biarkan pengguna menggambar kurva di area gambar dan pilih warna gambar dari palet. RandomArt. java. Dari Bagian 6.4. Menunjukkan karya seni acak baru setiap empat detik. Ini adalah contoh penggunaan Timer. KeyboardAndFocusDemo. java. Dari Bagian 6.4. Menunjukkan bagaimana menggunakan fitur keyboard dan fokus. SubKiller. java. Dari Bagian 6.4. Memungkinkan pengguna memainkan game arcade sederhana. Menggunakan timer serta acara keyboard dan fokus. SliderDemo. java dan TextAreaDemo. java. Program kecil yang mendemonstrasikan komponen dasar, digunakan sebagai contoh pada Bagian 6.5 BorderDemo. java dan BorderDemo. java. Dari Bagian 6.6. Sebuah program yang sangat sederhana yang menunjukkan enam jenis border. SliderAndButtonDemo. java. Dari Bagian 6.6. Menunjukkan bagaimana membuat beberapa komponen dan meletakkannya di GridLayout. SimpleCalc. java. Dari Bagian 6.6. Biarkan pengguna menambahkan, mengurangi, mengalikan, atau membagi dua masukan angka oleh pengguna. Demo bidang teks, tombol, dan tata letak dengan subpanel bersarang. NullLayoutDemo. java. Dari Bagian 6.6. Menunjukkan bagaimana untuk meletakkan komponen dalam wadah yang tata letak manajer telah ditetapkan ke null. HighLowGUI. java. Dari Bagian 6.6. Menerapkan versi GUI dari permainan kartu HighLow. java. Di mana pengguna melihat kartu permainan dan menebak apakah kartu berikutnya akan lebih tinggi atau lebih rendah nilainya. Program ini tergantung pada Card. java. Hand. java. Dan Deck. java. MosaicDraw. java. Dari Bagian 6.7. Menunjukkan menu dan dialog pemilih warna. Ini digunakan dalam program dimana pengguna mewarnai kuadrat mosaik dengan mengklik dan menarik mouse. Menggunakan MosaicPanel. java untuk menentukan panel mosaik itu sendiri, dan menggunakan MosaicDrawController. java untuk membuat panel dan bilah menu dan untuk menangani acara. SimpleDialogDemo. java. Dari Bagian 6.7. Adalah sebuah program kecil yang menunjukkan JColorChooser dan beberapa dialog dari JOptionPane. RandomStringsWithArray. java. Dari Bagian 7.2. Menunjukkan banyak salinan pesan dalam warna acak, ukuran, dan posisi. Ini adalah versi perbaikan RandomStringsPanel. java yang menggunakan array untuk melacak data, sehingga gambar yang sama dapat digambar ulang bila diperlukan. SimplePaint2.java. Dari Bagian 7.3. Memungkinkan pengguna menggambar kurva berwarna dan menyimpan data yang dibutuhkan untuk mengecat permukaan gambar dalam daftar tipe ArrayListltCurveDatagt. Hidup. java Dari Bagian 7.5. Menerapkan permainan kehidupan John H. Conways dan merupakan contoh penggunaan array 2D. Program ini tergantung pada MosaicPanel. java. Checkers. java. Dari Bagian 7.5. Memungkinkan dua pengguna memainkan permainan catur melawan satu sama lain. Menggambarkan penggunaan array dua dimensi dan berbagai teknik pemrograman. (Ini adalah program terlama dalam buku ini sejauh ini, dengan kecepatan lebih dari 700 baris) Maze. java dan LittlePentominos. java adalah program demo yang disebutkan di Bagian 9.1 sebagai contoh rekursi. Mereka menggunakan teknik yang belum tercakup sampai Bab 12. Perhatikan bahwa LittlePentominos bergantung pada MosaicPanel. java. Blobs. java. Dari Bagian 9.1. Menggunakan rekursi untuk menghitung kelompok kotak berwarna dalam kotak. DepthBreadth. java. Dari Bagian 9.3. Menunjukkan tumpukan dan antrian. TrivialEdit. java. Dari Bagian 11.3. Biarkan pengguna mengedit file teks pendek. Program ini menunjukkan file bacaan dan tulisan dan menggunakan dialog file. SimplePaintWithFiles. java. Dari Bagian 11.3. Menunjukkan penghematan data dari sebuah program ke file dalam bentuk biner dan karakter. Program ini merupakan program sketsa sederhana berbasis SimplePaint2.java. SimplePaintWithXML. java. Dari Bagian 11.5. Menunjukkan menyimpan data dari sebuah program ke file dalam format XML. Program ini merupakan modifikasi dari SimplePaintWithFiles. java. XMLDemo. java Dari Bagian 11.5. Adalah program sederhana yang mendemonstrasikan penguraian dasar dokumen XML dan traversal dari representasi Document Object Model dari dokumen. Pengguna memasukkan XML untuk diuraikan dalam area teks. RandomArtWithThreads. java. Dari Bagian 12.2. Menggunakan thread untuk menggerakkan animasi yang sangat sederhana. Bandingkan dengan RandomArt. java. Yang melakukan hal yang sama dengan timer. QuicksortThreadDemo. java. Dari Bagian 12.2. Menunjukkan menggunakan thread terpisah untuk melakukan perhitungan, dengan komunikasi antar thread sederhana. BackgroundComputationDemo. java. Dari Bagian 12.2. Menunjukkan menggunakan benang yang berjalan pada prioritas yang lebih rendah untuk melakukan perhitungan panjang di latar belakang. BackgroundCompWithInvoke. java adalah modifikasi yang sangat kecil dari program yang sama yang menggunakan SwingUtilities. invokeLater, bukan sinkronisasi. (Program menghitung visualisasi sekumpulan set Mandelbrot kecil, namun perhitungan khusus yang dilakukan tidak penting.) MultiprocessingDemo1.java. Dari Bagian 12.2. Adalah modifikasi dari contoh sebelumnya yang menggunakan beberapa thread untuk melakukan perhitungan background. Ini mempercepat perhitungan pada mesin multi-prosesor. MultiprocessingDemo2.java. Dari Bagian 12.3. Adalah modifikasi dari contoh sebelumnya yang menguraikan tugasnya menjadi sejumlah besar subtugas yang cukup kecil, untuk mencapai penyeimbangan beban yang lebih baik. Program ini menggunakan kolam thread dan antrian tugas. MultiprocessingDemo3.java. Dari Bagian 12.3. Adalah versi lain dari contoh sebelumnya. Yang ini menggunakan kumpulan benang yang berjalan selamanya, mengambil tugas dari antrian dan mengeksekusi mereka. Untuk membuat ini mungkin, antrian pemblokiran digunakan, ditentukan oleh kelas LinkedBlockingQueue standar. MyLinkedBlockingQueue. java adalah contoh sederhana untuk menggunakan wait () dan memberitahukan () secara langsung yang dapat digunakan sebagai pengganti LinkedBlockingQueue di MultiprocessingDemo3. TowersOfHanoiGUI. java. Dari Bagian 12.3. Menunjukkan sebuah animasi dari masalah Tower Of Hanoi yang terkenal. Pengguna dapat mengontrol animasi dengan tombol RunPause, Next, dan StartAgain. Program ini adalah contoh penggunaan wait () dan memberitahukan () secara langsung untuk komunikasi antar benang. GUIChat. java. Dari Bagian 12.4. Adalah program GUI sederhana untuk chatting antara dua orang melalui jaringan. Ini menunjukkan penggunaan benang untuk membaca data dari koneksi jaringan. Netgamemon Dari Bagian 12.5. Adalah paket yang mendefinisikan kerangka kerja untuk game berjejaring. Kerangka ini digunakan dalam beberapa contoh: Ruang obrolan, yang didefinisikan dalam paket netgame. chat permainan tic-tac-toe, yang didefinisikan dalam paket netgame. tictactoe dan permainan poker, yang didefinisikan dalam paket netgame. fivecarddraw. HighLowWithImages. java. Dari Bagian 13.1. Adalah variasi dari HighLowGUI. java yang mengambil gambar kartu bermain dari file gambar. Memerlukan file gambar cards. png dan tergantung pada Card. java. Deck. java. Dan Hand. java. PaintWithOffScreenCanvas. java. Dari Bagian 13.1. Adalah program cat kecil yang menggambarkan penggunaan BufferedImage sebagai kanvas di luar layar. SoundAndCursorDemo. java. Dari Bagian 13.1. Memungkinkan pengguna memainkan beberapa suara dan mengubah kursor dengan mengklik beberapa tombol. Ini menunjukkan menggunakan file sumber daya audio dan menggunakan sumber gambar untuk membuat kursor khusus. Membutuhkan file sumber daya dalam direktori sncresources. TransparencyDemo. java. Dari Bagian 13.2. Menunjukkan menggunakan komponen alfa warna. Ini juga contoh penggunaan FontMetrics. StrokeDemo. java Dari Bagian 13.2. demonstrates the use of various BasicStrokes for drawing lines and rectangles. Also demonstrates antialiasing. PaintDemo. java. from Section 13.2. demonstrates using a GradientPaint and using a TexturePaint to fill a polygon. Uses the image resource files TinySmiley. png and QueenOfHearts. png . ChoiceDemo. java. discussed in Section 13.3. demonstrates radio buttons, combo boxes, and Actions. ToolBarDemo. java. from Section 13.3. uses a JToolBar that holds a group of 3 radio buttons and a push button. All the buttons use custom icons, and the push button is created from an Action . SillyStamper. java. from Section 13.4. demonstrates using a JList of Icons. The user can stamp images of a selected icon onto a drawing area. This program uses the icon images in the directory stampericons as resources. StatesAndCapitalsTableDemo. java. from Section 13.4. is a completely trivial demo of a JTable . ScatterPlotTableDemo. java. from Section 13.4. uses a TableModel to customize a JTable. The table is a list of xy-points that the user can edit. A scatter plot of the points is displayed. SimpleWebBrowser. java and SimpleWebBrowserWithThread. java. from Section 13.4. implement a simple web browser using JEditorPane (which is ridiculously easy). The difference between the programs is that the first loads documents synchronously, which can hang the program in an unpleasant way, while the second uses a thread to load documents asynchronously. SimpleRTFEdit. java. mentioned but just barely discussed in Section 13.4. lets the user edit RTF files, which are text files in a format that include style information such as bold and italics. This is mainly a simple demo of using Actions defined by editor kits. StopWatchLabel. java and MirrorText. java. from Section 13.4. are classes that implement custom components. CustomComponentTest. java is a program that tests them. The Mandelbrot program from Section 13.5. which computes and displays visualizations of the Mandelbrot set, is defined by several classes in the package edu. hws. eck. mdb. The source code files can be found in the directory eduhwseckmdb . This section lists some of the extra source files that are required by various examples in the previous sections. The files listed here are those which are general enough to be potentially useful in other programming projects. Links to these files are also given above, along with the programs that use them. TextIO. java defines a class containing some static methods for doing inputoutput. These methods make it easier to use the standard input and output streams, System. in and System. out. TextIO also supports other input sources and output destinations, such as files. The TextIO class defined by this file is only useful in a command-line environment, and it might be inconvenient to use in integrated development environments such as Eclipse in which standard input does not work particularly well. In that case, you might want to use the following file instead. textioguiTextIO. java. a GUI version of TextIO that opens a window where TextIO IO operations are performed. This is part of a package named textiogui to distinguish it from the normal TextIO. A companion class in that package, textioguiSystem. java. is a fake System class that makes it possible to use System. out and other features of System in the same window. I use these classes to build executable jar files for my text-oriented examples that run in a window instead of on the command line. See the comments in the source code files for more information. SimpleAnimationStarter. java is a small class that you can edit to make very simple animations, in which every frame is drawn using basic drawing commands. This was used in Chapter 3 . Mosaic. java contains subroutines for opening and controlling a window that contains a grid of colored rectangles. It depends on MosaicPanel. java. This is a toolbox for writing simple stand-alone applications that use a mosaic window. It is used in several examples and exercises in Chapter 4 and Chapter 6 . chapter4MosaicPanel. java defines a subclass of JPanel that shows little rectangles arranged in rows and columns, with many options. StatCalc. java is a simple class that computes some statistics of a set of numbers. It is used only for a couple exercises in Chapter 5 and Chapter 6 . Expr. java defines a class Expr that represent mathematical expressions involving the variable x. It is used only in a couple of the exercises in Chapter 8 . TextReader. java. from Subsection 11.1.4. for reading character data from input streams. Input methods in an object of type TextReader are similar to the static input methods in TextIO . netgamemon is a package that defines a framework for networked games, which is discussed in detail in Section 12.5. The netgame packages also includes several examples. PokerRank. java can be used to assign ranks to hands of cards in poker games. The cards are defined in the class PokerCard. java. There is also a PokerDeck. java All of these classes are part of the package netgame. fivecarddraw. which is discussed in Subsection 12.5.4. but these classes can be used independently of the netgame framework.

No comments:

Post a Comment