Tulis program untuk menerima satu baris data yang dimasukkan oleh pengguna di kotak teks. Data-data ini semuanya bilangan bulat, dipisahkan dengan spasi, dan jumlah spasi tidak dibatasi. Dan membagi data menjadi array satu dimensi, lalu mengekstrak nilai minimum dari array dan menampilkannya di antarmuka. Idenya adalah untuk memverifikasi input pengguna terlebih dahulu, yaitu, pertama-tama gunakan fungsi trim() untuk memfilter spasi kiri dan kanan dari string input pengguna. Jika hasilnya adalah string kosong, gunakan metode showMessageDialog dari kelas JOptionPane untuk meminta pengguna "Silakan masukkan konten digital." Jika input pengguna tidak kosong, gunakan fungsi charAt untuk menilai setiap karakter dalam string input pengguna. Jika itu bukan angka atau spasi, maka akan muncul pesan "Input berisi konten non-numerik", lalu gunakan setText. () berfungsi untuk masuk ke kotak input pengguna. Jika verifikasi lolos, array tipe string satu dimensi akan dibuat, yang elemennya merupakan konten string input pengguna yang dipisahkan oleh spasi. Kemudian buat array bilangan bulat satu dimensi dan alokasikan ruang yang sama dengan panjang array string. Input tersebut kemudian diubah menjadi array integer melalui fungsi valueOf() dari kelas Integer. Buat variabel angka minimum dan inisialisasi ke elemen pertama array integer. Gunakan perulangan for untuk menelusuri array bilangan bulat untuk mengekstrak bilangan bulat minimum, dan terakhir gunakan fungsi setText() untuk menampilkan nilai minimum ke dalam label yang ditentukan.
Kodenya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
impor java.awt.EventQueue;
impor javax.swing.JFrame;
impor javax.swing.JLabel;
impor javax.swing.JTextField;
impor javax.swing.JButton;
impor java.awt.event.ActionListener;
impor java.awt.event.ActionEvent;
impor javax.swing.JOptionPane;
kelas publik ArrayMinValue {
bingkai JFrame pribadi;
bidang teks JTextField pribadi;
JLabel lblNewLabel_1 = JLabel baru();
/**
* Luncurkan aplikasi.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
menjalankan kekosongan publik() {
mencoba {
Jendela ArrayMinValue = ArrayMinValue baru();
window.frame.setVisible(benar);
} tangkapan (Pengecualian e) {
e.printStackTrace();
}
}
});
}
/**
* Buat aplikasi.
*/
publik ArrayMinValue() {
inisialisasi();
}
/**
* Inisialisasi isi frame.
*/
kekosongan pribadi inisialisasi() {
frame = new JFrame("Dapatkan nilai minimum dari array satu dimensi");
frame.setBounds(100, 100, 450, 150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblNewLabel = new JLabel("Masukkan beberapa bilangan bulat pada kotak teks, gunakan spasi sebagai pembatas. Contoh: 3 5 2 562 125");
lblNewLabel.setBounds(10, 10, 414, 15);
frame.getContentPane().add(lblNewLabel);
textField = JTextField baru();
textField.setBounds(10, 35, 414, 21);
frame.getContentPane().add(textField);
textField.setColumns(10);
lblNewLabel_1.setBounds(115, 70, 309, 15);
frame.getContentPane().add(lblNewLabel_1);
Tombol JButton = JButton baru("/u8BA1/u7B97");
tombol.addActionListener(ActionListener baru() {
public void actionPerformed(ActionEvent e) {
do_button_actionPerformed(e);
}
});
tombol.setBounds(10, 66, 93, 23);
frame.getContentPane().add(tombol);
}
dilindungi kekosongan do_button_actionPerformed(ActionEvent e) {
String arrayStr = textField.getText().trim(); //Hapus spasi kiri dan kanan
if(arrayStr.sama dengan("")){
JOptionPane.showMessageDialog(null, "Silakan masukkan konten digital");
kembali;
}
for (int i = 0; i < arrayStr.length(); i++) { // Filter masukan ilegal
char charAt = arrayStr.charAt(i);
if (!Karakter.isDigit(charAt) && charAt != ' ') {
JOptionPane.showMessageDialog(null, "Input berisi konten non-numerik");
textField.setText("");
kembali;
}
}
String[] numStrs = arrayStr.split(" {1,}"); // Pisahkan string
int[] numArray = new int[numStrs.length]; // Membuat array bilangan bulat
//Konversi input ke array integer
for (int i = 0; i < numArray.length; i++) {
numArray[i] = Integer.valueOf(numStrs[i]);
}
int min = numArray[0]; // Membuat variabel angka minimum
for (int j = 0; j < numArray.length; j++) {
if (min > numArray[j]) { //Ekstrak bilangan bulat terkecil
min = jumlahArray[j];
}
}
lblNewLabel_1.setText("Angka terkecil dalam array adalah: " + min); //Menampilkan nilai minimum pada label yang ditentukan
}
}
Efeknya seperti yang ditunjukkan pada gambar: