Kamis, Oktober 08, 2009

TUGAS JAVA BAB 2

System.out.println untuk output konsol
• System.out adalah satu objek [yang] adalah bagian dari bahasa Java
• println adalah satu metoda dilibatkan oleh objek System.out [yang] digunakan untuk mungkin menjadi digunakan untuk output konsol
– Data untuk [menjadi] output adalah diberikan sebagai satu argumentasi di/dalam tanda kurung
– Sebuah tanda tambah adalah digunakan untuk menghubungkan item lebih dari satu
– Setiap doa [dari] println mengakhiri satu baris dari output
System.out.println("Jawaban " + 42);
println Versus mencetak
• Metoda Lain [yang] dilibatkan mungkin menjadi dilibatkan oleh objek System.out adalah mencetak
• Metoda cetakan adalah seperti println, kalau tidak itu tidak mengakhiri satu baris
– Dengan println, output berikutnya meneruskan satu garis baru
– Dengan cetakan, output berikutnya meneruskan garis sama
Memformat Output dengan printf
• Mulai dengan versi 5.0, Java meliputi satu metoda bernama printf [yang] digunakan untuk mungkin menjadi digunakan untuk menghasilkan output dalam satu format spesifik
• Metoda Java printf adalah serupa dengan metoda cetakan
– Seperti cetakan, printf tidak membantu output ke/pada garis berikutnya
• System.out.printf dapat mempunyai apapun jumlah argumentasi
– Argumentasi Pertama [adalah] selalu satu string/rantai format [yang] berisi satu atau lebih format specifiers untuk argumentasi sisa[nya]
– Seluruh argumentasi kecuali pertama adalah menghargai untuk [menjadi] output ke/pada layar
printf Format Specifier
• Kode
harga ganda = 19.8;
System.out.print("$");
System.out.printf("%6.2f", harga);
System.out.println(" masing-masing");
akan baris output
$ 19.80 masing-masing
• String/rantai format "%6.2f" menunjukan berikut:
– Akhir apapun teks untuk [menjadi] output dan mulai format specifier (%)
– Display sampai dengan 6 karakter benar/kanan-dibenarkan, bantalan kurang dari enam karakter pada sisi kiri dengan jarak kosong (, misalnya., lebar bidang adalah 6)
– Display persis 2 angka angka setelah tanda desimal (.2)
– Menampilkan satu nomor titik-kambang, dan mengakhiri format specifier (, misalnya., karakter konversi adalah f)
Disegala tempat Justification di/dalam printf
• Kode
nilai ganda = 12.123;
System.out.printf("Start%8.2fEnd", nilai);
System.out.println();
System.out.printf("Start%-8.2fEnd", nilai);
System.out.println();
akan output berikut
Mulai 12.12End
Start12.12 End
• String/rantai format "Start%8.2fEnd" menghasilkan output [yang] adalah benar dibenarkan dengan tiga jarak kosong sebelum 12.12
• String/rantai format "Start%-8.2fEnd" menghasilkan output [yang] pergi adalah meninggalkan dibenarkan dengan tiga jarak kosong setelah 12.12
Berbagai argumentasi dengan printf
• Kode berikut berisi satu pernyataan printf mempunyai tiga argumentasi
– Kode
harga ganda = 19.8;
Nama String/rantai = "buah apel ajaib";
System.out.printf("$%6.2f untuk masing-masing %s.",
harga, nama);
System.out.println();
System.out.println("Sesuatu hebat sekali");
akan output
$ 19.80 untuk setiap buah apel ajaib.
Sesuatu hebat sekali
– Catatan dimana argumentasi pertama adalah satu string/rantai format berisi dua format specifiers (%6.2f dan %s)
– Format ini specifiers bertanding atas dengan argumentasi kedua-duanya yang mengikuti (harga dan nama)
Garis Putuskan hubungan dengan printf
• Rem garis mungkin menjadi tercakup di satu string/rantai format menggunakan %n
• Kode
harga ganda = 19.8;
Nama String/rantai = "buah apel ajaib";
System.outprintf("$%6.2f untuk masing-masing %s.%n", harga, nama);
System.out.println("Sesuatu hebat sekali");
akan output
$ 19.80 untuk setiap buah apel ajaib.
Sesuatu hebat sekali
Gambar…1-bagian 3 3 ada 4 gambar…..
Memformat Money Amounts dengan printf
• Sebuah format baik specifier untuk outputting sejumlah uang disimpan sebagai satu jenis ganda %.2f
• Itu mengatakan untuk mencakup persis dua angka angka setelah tanda desimal dan untuk menggunakan lebar bidang paling kecil bahwa nilai akan berkait dengan:
harga ganda = 19.99;
System.out.printf("Harga $%.2f masing-masing.")
menghasilkan output:
Harga $19.99 masing-masing.
Warisan Code
• Kode itu "model kuno" tetapi terlalu mahal untuk menggantikan adalah memanggil/disebut kode warisan
• Kadang-kadang kode warisan adalah diterjemahkan ke dalam satu bahasa yang lebih modern
• Metoda Java printf adalah seperti halnya satu bahasa C fungsi nama sama
• Hal ini [adalah] dilakukan dengan sengaja untuk membuat itu lebih mudah untuk menerjemahkan C kode ke Java
Uang Formats
mengimpor java.text.NumberFormat;
kelas publik CurrencyFormatDemo
{
kekosongan statis publik utama(String/rantai[] args)
{
System.out.println("Lokasi Default:");
NumberFormat moneyFormater =
NumberFormat.getCurrencyInstance();
System.out.println(moneyFormater.format(19.8));
System.out.println(moneyFormater.format(19.81111));
System.out.println(moneyFormater.format(19.89999));
System.out.println(moneyFormater.format(19));
System.out.println();
}
}
Uang Gambar format
Menetapkan Locale
• Memohon getCurrencyInstance() metoda tanpa argumentasi menghasilkan satu objek dimana akan nomor format sesuai dengan lokasi default
• Di lain pihak, lokasi mungkin menjadi dengan tegas ditentukan dengan cara menyediakan suatu lokasi dari kelas Locale sebagai satu argumentasi ke/pada getCurrencyInstance() metoda
– Ketika melakukan begitu, kelas Locale harus pertama diimport
mengimpor java.util.Locale;
Specifiying Locale
mengimpor java.text.NumberFormat;
mengimpor java.util.Locale;
kelas publik CurrencyFormatDemo
{
kekosongan statis publik utama(String/rantai[] args)
{
System.out.println("AS sebagai lokasi:");
NumberFormat moneyFormater2 =
NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(moneyFormater2.format(19.8));
System.out.println(moneyFormater2.format(19.81111));
System.out.println(moneyFormater2.format(19.89999));
System.out.println(moneyFormater2.format(19));
}
}
Gambar menetapkan lokal
Gambar lokal constan
Pengimporan Packages dan Classes
• Libraries di Java adalah memanggil/disebut paket
– Sebuah paket adalah satu koleksi class [yang] disimpan dalam satu cara [yang] membuat itu memudahkan dapat diakses oleh program apapun
– Dalam rangka untuk menggunakan suatu kelas dimana menjadi anggota ke/pada satu paket, class harus membawa ke dalam satu program dengan menggunakan suatu pernyataan impor
– Class ditemukan dalam membungkus java.lang adalah diimport secara otomatis ke setiap program Java
mengimpor java.text.NumberFormat;
// mengimpor kelas theNumberFormat hanya
mengimpor java.text.*;
//mengimpor seluruh kelas di/dalam membungkus java.text
DecimalFormat Class
• Menggunakan class DecimalFormat memungkinkan suatu program kepada nomor format dalam berbagai jalan/cara
– Kelas DecimalFormat harus pertama diimport
– A DecimalFormat objek adalah berhubungan dengan satu pola ketika itu adalah diciptakan menggunakan perintah baru
– Objek selanjutnya mungkin menjadi digunakan di format metoda untuk menciptakan string yang memuaskan format
– Satu objek [dari] class DecimalFormat mempunyai sejumlah metoda berbeda [yang] digunakan untuk mungkin menjadi digunakan untuk menghasilkan string angka dalam berbagai format
Sistim desimal Gambar format 1-3
Konsol Input Using Scanner Class
• Mulai dengan versi 5.0, Java meliputi suatu kelas untuk melakukan 'keyboard' sederhana input memberi nama kelas Scanner
• Dalam rangka untuk menggunakan kelas Scanner, satu program harus meliputi hal-hal sebagai berikut baris dekat start [dari] berkas (file):
mengimpor java.util.Scanner
• Pernyataan ini mengatakan Java ke/pada
– Buatkan class Scanner tersedia ke/pada program
– Mencari kelas Scanner dalam suatu perpustakaan [dari] kelas (, misalnya., Java membungkus) bernama java.util
Konsol Input Using Scanner Class
• Garis berikut menciptakan satu objek [dari] class Scanner dan menyebut 'keyboard' objek :
'keyboard' 'scanner' = Scanner baru(System.in);
• Walaupun satu nama seperti 'keyboard' adalah sering bekas, satu Scanner objek mungkin menjadi diberikan nama apapun
– Sebagai contoh, di/dalam mengikuti kode objek Scanner adalah bernama scannerObject
'scanner' scannerObject = Scanner baru(System.in);
• Sekali satu Scanner objek [adalah] menciptakan, satu program bisa maka menggunakan objek itu untuk melakukan input 'keyboard' menggunakan metoda [dari] class Scanner
Konsol Input Using Scanner Class
• Metoda nextInt baca satu int nilai mengetik di/dalam di 'keyboard' dan menugaskan/memberikan itu ke/pada satu variabel:
int numberOfPods = keyboard.nextInt();
• Metoda nextDouble baca satu nilai ganda mengetik di/dalam di 'keyboard' dan menugaskan/memberikan itu ke/pada satu variabel:
d1 ganda = keyboard.nextDouble();
• Berbagai input harus dipisahkan oleh whitespace dan dibaca oleh berbagai doa [dari] metoda sesuai
– Whitespace adalah apapun rantai karakter, seperti jarak kosong, rekening, dan rem garis dimana mencetak keluar sebagai ruang/spasi putih
Konsol Input Using Scanner Class
• Metoda selanjutnya baca satu rantai karakter non-whitespace delimited oleh karakter whitespace seperti blanks atau permulaan atau akhir satu baris
• Dengan kode
String/rantai word1 = keyboard.next();
String/rantai word2 = keyboard.next();
dan garis input
kacang selai
Nilai word1 akan selai, dan nilai word2 akan kacang
Konsol Input Using Scanner Class
• Metoda nextLine baca satu keseluruhan garis [dari] input 'keyboard'
• Kode,
Garis String/rantai = keyboard.nextLine();
baca dalam satu keseluruhan garis dan menempatkan string/rantai itu adalah menafsirkan menyimpulkan garis bervariasi
• Akhir dari satu garis input adalah ditunjukan oleh urutan jalan keluar '\n'
– Ini adalah input karakter ketika tombol Enter adalah ditekan
– Di atas/terhadap layar itu adalah ditunjukan oleh bagian akhir dari satu garis dan awal mula garis berikutnya
• Ketika nextLine baca satu baris dari teks, itu baca '\n' karakter, sehingga pembacaan berikutnya [dari] input mulai mengerjakan garis berikutnya
– Bagaimanapun, '\n' tidak menjadi bagian dari string/rantai nilai kembali[kan (e.g., string/rantai memberi nama oleh garis bervariasi di atas tidak mengakhiri dengan '\n' karakter)
Kunci Gambar papan/dewan untuk 1-2
Bagian Gambar 1-3 'keyboard' lain
Perangkap: Berhubungan dengan baris Terminator, '\n'
• Metoda nextLine kelas Scanner baca sisanya dari satu baris dari permulaan teks dimanapun pembacaan 'keyboard' terakhir berhenti
• Hal ini bisa menyebabkan permasalahan ketika kombinasi itu dengan metoda berbeda untuk pembacaan dari 'keyboard' seperti nextInt
• Dengan kode,
'keyboard' 'scanner' = Scanner baru(System.in);
int n = keyboard.nextInt();
String/rantai s1 = keyboard.nextLine();
String/rantai s2 = keyboard.nextLine();
dan input,
2
Kepala adalah lebih baik dari pada
1 kepala.
apakah [ merupakan] nilai dari n, s1, dan s2?
Perangkap: Berhubungan dengan baris Terminator, '\n'
• Dengan kode dan input di atas/terhadap slide sebelumnya
n akan sepadan dengan "2",
s1 akan sepadan dengan "", dan
s2 akan sepadan dengan "kepala adalah lebih baik dari pada"
• Jika hasil berikut [adalah] diinginkan sebagai gantinya
n sepadan dengan "2",
s1 sepadan dengan "kepala adalah lebih baik dari pada", dan
s2 sepadan dengan "1 kepala"
kemudian satu doa ekstra [dari] nextLine akan diperlukan untuk mendapatkan/mencapai luput dari akhir dari karakter garis ('\n')
gambar i-3 metode
Tip pemrograman: Prompt untuk Input
• Sebuah program harus selalu menanyakan pemakai ketika dia atau dia diperlukan untuk input beberapa data:
System.out.println(
"Masuk jumlah kelopak; polong diikuti oleh");
System.out.println(
"jumlah kacang polong dalam satu kelopak; polong:");
Tip pemrograman: Gemakan Input
• Selalu gemakan semua input bahwa satu program menerima dari 'keyboard'
• Dengan cara ini [satu] pemakai bisa memeriksa bahwa dia atau dia telah masuk input dengan tepat
– Sungguhpun input adalah secara otomatis menampilkan ketika pemakai memasukan/i itu, echoing input dapat menyingkapkan error sulit dipisahkan (seperti memasuki surat/huruf "O" sebagai ganti satu nol)
Gambar menjual bagian servis 1-2
Empty String
• Sebuah string/rantai dapat mempunyai apapun jumlah karakter, mencakup nol karakter
– "" adalah string/rantai kosong
• Ketika satu program melakukan metoda nextLine untuk membaca satu baris dari teks, dan pemakai mengetik tidak ada apapun dengan segera tetapi menekan tombol Enter, kemudian metoda nextLine baca string/rantai kosong
Input Lain Delimiters
• Delimiters dimana memisahkan input 'keyboard' mungkin menjadi berubah ketika menggunakan kelas Scanner
• Sebagai contoh, kode berikut bisa menjadi digunakan untuk menciptakan satu Scanner objek dan mengubah delimiter dari whitespace ke/pada "##"
'scanner' keyboard2 = Scanner baru(System.in);
Keyboard2.useDelimiter("##");
• Setelah doa [dari] metoda useDelimiter, "##" dan tidak whitespace akan satu-satunya input delimiter untuk input menolak keyboard2
Empty String
• Sebuah string/rantai dapat mempunyai apapun jumlah karakter, mencakup nol karakter
– "" adalah string/rantai kosong
• Ketika satu program melakukan metoda nextLine untuk membaca satu baris dari teks, dan pemakai mengetik tidak ada apapun dengan segera tetapi menekan tombol Enter, kemudian metoda nextLine baca string/rantai kosong
Input Lain Delimiters
• Delimiters dimana memisahkan input 'keyboard' mungkin menjadi berubah ketika menggunakan kelas Scanner
• Sebagai contoh, kode berikut bisa menjadi digunakan untuk menciptakan satu Scanner objek dan mengubah delimiter dari whitespace ke/pada "##"
'scanner' keyboard2 = Scanner baru(System.in);
Keyboard2.useDelimiter("##");
• Setelah doa [dari] metoda useDelimiter, "##" dan tidak whitespace akan satu-satunya input delimiter untuk input menolak keyboard2
Bagian Gambar 1-3

Tidak ada komentar: