Schreiben Sie ein Programm, das eine einzelne Datenzeile akzeptiert, die der Benutzer in das Textfeld eingegeben hat. Bei diesen Daten handelt es sich ausschließlich um Ganzzahlen, die durch Leerzeichen getrennt sind. Die Anzahl der Leerzeichen ist nicht begrenzt. Teilen Sie die Daten in ein eindimensionales Array auf, extrahieren Sie dann den Mindestwert aus dem Array und zeigen Sie ihn in der Schnittstelle an. Die Idee besteht darin, zuerst die Eingabe des Benutzers zu überprüfen, dh zuerst die Funktion trim() zu verwenden, um die linken und rechten Leerzeichen der Eingabezeichenfolge des Benutzers zu filtern. Wenn das Ergebnis eine leere Zeichenfolge ist, verwenden Sie dazu die Methode showMessageDialog der Klasse JOptionPane Fordern Sie den Benutzer auf: „Bitte geben Sie digitale Inhalte ein.“ Wenn die Benutzereingabe nicht leer ist, verwenden Sie die Funktion charAt, um jedes Zeichen in der Benutzereingabezeichenfolge zu beurteilen. Wenn es sich weder um eine Zahl noch um ein Leerzeichen handelt, wird die Meldung „Die Eingabe enthält nicht numerischen Inhalt“ angezeigt und dann setText verwendet ()-Funktion zum Aufrufen des Benutzereingabefelds. Die Daten werden gelöscht. Wenn die Überprüfung bestanden wird, wird ein eindimensionales Array vom Typ String erstellt, dessen Elemente die durch Leerzeichen getrennten Inhalte der Benutzereingabezeichenfolge sind. Erstellen Sie dann ein eindimensionales Array aus Ganzzahlen und weisen Sie Platz zu, der der Länge des String-Arrays entspricht. Die Eingabe wird dann über die Funktion valueOf() der Integer-Klasse in ein Integer-Array umgewandelt. Erstellen Sie eine Variable mit minimaler Anzahl und initialisieren Sie sie mit dem ersten Element des Integer-Arrays. Verwenden Sie eine for-Schleife, um das Ganzzahl-Array zu durchlaufen, um die minimale Ganzzahl zu extrahieren, und verwenden Sie schließlich die Funktion setText(), um den Mindestwert in der angegebenen Beschriftung anzuzeigen.
Der Code lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
öffentliche Klasse ArrayMinValue {
privater JFrame-Frame;
privates JTextField textField;
JLabel lblNewLabel_1 = new JLabel();
/**
* Starten Sie die Anwendung.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
versuchen {
ArrayMinValue window = new ArrayMinValue();
window.frame.setVisible(true);
} Catch (Ausnahme e) {
e.printStackTrace();
}
}
});
}
/**
* Erstellen Sie die Anwendung.
*/
public ArrayMinValue() {
initialisieren();
}
/**
* Initialisieren Sie den Inhalt des Frames.
*/
private void initialize() {
frame = new JFrame("Ermitteln Sie den Mindestwert eines eindimensionalen Arrays");
frame.setBounds(100, 100, 450, 150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblNewLabel = new JLabel("Bitte geben Sie mehrere Ganzzahlen in das Textfeld ein und verwenden Sie Leerzeichen als Trennzeichen. Beispiel: 3 5 2 562 125");
lblNewLabel.setBounds(10, 10, 414, 15);
frame.getContentPane().add(lblNewLabel);
textField = new 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);
JButton-Taste = new JButton("/u8BA1/u7B97");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
do_button_actionPerformed(e);
}
});
button.setBounds(10, 66, 93, 23);
frame.getContentPane().add(button);
}
protected void do_button_actionPerformed(ActionEvent e) {
String arrayStr = textField.getText().trim(); //Linke und rechte Leerzeichen entfernen
if(arrayStr.equals("")){
JOptionPane.showMessageDialog(null, „Bitte geben Sie digitalen Inhalt ein“);
zurückkehren;
}
for (int i = 0; i < arrayStr.length(); i++) { // Ungültige Eingabe filtern
char charAt = arrayStr.charAt(i);
if (!Character.isDigit(charAt) && charAt != ' ') {
JOptionPane.showMessageDialog(null, „Eingabe enthält nicht numerischen Inhalt“);
textField.setText("");
zurückkehren;
}
}
String[] numStrs = arrayStr.split(" {1,}"); // String teilen
int[] numArray = new int[numStrs.length]; // Erstelle ein Integer-Array
//Eingabe in ein Ganzzahl-Array konvertieren
for (int i = 0; i < numArray.length; i++) {
numArray[i] = Integer.valueOf(numStrs[i]);
}
int min = numArray[0]; // Erstelle eine Variable mit der Mindestanzahl
for (int j = 0; j < numArray.length; j++) {
if (min > numArray[j]) { //Kleinste Ganzzahl extrahieren
min = numArray[j];
}
}
lblNewLabel_1.setText("Die kleinste Zahl im Array ist: " + min); //Zeigt den Mindestwert für die angegebene Beschriftung an
}
}
Der Effekt ist wie in der Abbildung dargestellt: