Escriba un programa para aceptar una sola línea de datos ingresados por el usuario en el cuadro de texto. Todos estos datos son números enteros, separados por espacios y el número de espacios no está limitado. Y divida los datos en una matriz unidimensional, luego extraiga el valor mínimo de la matriz y muéstrelo en la interfaz. La idea es verificar primero la entrada del usuario, es decir, primero usar la función trim() para filtrar los espacios izquierdo y derecho de la cadena de entrada del usuario. Si el resultado es una cadena vacía, use el método showMessageDialog de la clase JOptionPane. solicitar al usuario "Ingrese contenido digital". Si la entrada del usuario no está vacía, use la función charAt para juzgar cada carácter en la cadena de entrada del usuario. Si no es un número ni un espacio, aparecerá el mensaje "La entrada contiene contenido no numérico" y luego use setText. () función para ingresar al cuadro de entrada del usuario. Se borran los datos. Si se pasa la verificación, se crea una matriz unidimensional de tipo cadena, cuyos elementos son el contenido de la cadena ingresada por el usuario separados por espacios. Luego cree una matriz unidimensional de números enteros y asigne un espacio igual a la longitud de la matriz de cadenas. Luego, la entrada se convierte en una matriz de números enteros mediante la función valueOf() de la clase Integer. Cree una variable de número mínimo e inicialícela en el primer elemento de la matriz de enteros. Utilice un bucle for para recorrer la matriz de números enteros para extraer el número entero mínimo y, finalmente, utilice la función setText() para mostrar el valor mínimo en la etiqueta especificada.
El código es el siguiente:
Copie el código de código de la siguiente manera:
importar java.awt.EventQueue;
importar javax.swing.JFrame;
importar javax.swing.JLabel;
importar javax.swing.JTextField;
importar javax.swing.JButton;
importar java.awt.event.ActionListener;
importar java.awt.event.ActionEvent;
importar javax.swing.JOptionPane;
clase pública ArrayMinValue {
marco JFrame privado;
campo de texto JTextField privado;
JLabel lblNewLabel_1 = nuevo JLabel();
/**
* Inicie la aplicación.
*/
público estático vacío principal (String [] argumentos) {
EventQueue.invokeLater(nuevo Ejecutable() {
ejecución pública vacía() {
intentar {
Ventana ArrayMinValue = nueva ArrayMinValue();
ventana.frame.setVisible(verdadero);
} captura (Excepción e) {
e.printStackTrace();
}
}
});
}
/**
* Crear la aplicación.
*/
público ArrayMinValue() {
inicializar();
}
/**
* Inicializar el contenido del marco.
*/
inicialización de vacío privado() {
frame = new JFrame("Obtener el valor mínimo de una matriz unidimensional");
marco.setBounds(100, 100, 450, 150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(nulo);
JLabel lblNewLabel = new JLabel("Ingrese varios números enteros en el cuadro de texto, utilizando espacios como delimitadores. Por ejemplo: 3 5 2 562 125");
lblNewLabel.setBounds(10, 10, 414, 15);
frame.getContentPane().add(lblNewLabel);
campo de texto = nuevo JTextField();
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);
Botón JButton = nuevo JButton("/u8BA1/u7B97");
botón.addActionListener(nuevo ActionListener() {
acción vacía pública realizada (ActionEvent e) {
do_button_actionPerformed(e);
}
});
botón.setBounds(10, 66, 93, 23);
frame.getContentPane().add(botón);
}
vacío protegido do_button_actionPerformed (ActionEvent e) {
String arrayStr = textField.getText().trim() //Eliminar espacios izquierdo y derecho
si(arrayStr.equals("")){
JOptionPane.showMessageDialog(null, "Ingrese contenido digital");
devolver;
}
for (int i = 0; i < arrayStr.length(); i++) { // Filtrar entrada ilegal
char charAt = arrayStr.charAt(i);
if (!Character.isDigit(charAt) && charAt != ' ') {
JOptionPane.showMessageDialog(null, "La entrada contiene contenido no numérico");
textField.setText("");
devolver;
}
}
String[] numStrs = arrayStr.split(" {1,}"); // Dividir cadena
int[] numArray = new int[numStrs.length] // Crea una matriz de enteros
//Convierte la entrada a una matriz de enteros
for (int i = 0; i < numArray.length; i++) {
numArray[i] = Integer.valueOf(numStrs[i]);
}
int min = numArray[0] // Crea una variable de número mínimo
for (int j = 0; j < numArray.length; j++) {
if (min > numArray[j]) { //Extrae el entero más pequeño
min = matriznum[j];
}
}
lblNewLabel_1.setText("El número más pequeño en la matriz es: " + min //Muestra el valor mínimo de la etiqueta especificada);
}
}
El efecto es como se muestra en la figura: