Создайте проект, в котором вводятся значения элементов табличной величины из 15 различных действительных чисел в многострочном текстовом поле, определяется меньше среди значений ее элементов и обменивается местами со значением элемента, расположенным посередине. Значение измененной табличной величины выводятся в другое многострочное текстовое поле.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
public class TableSwap {
public static void main(String[] args) {JFrame frame = new JFrame("TableSwap");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea inputArea = new JTextArea(10, 30);
JTextArea outputArea = new JTextArea(10, 30);
JButton swapButton = new JButton("Swap");
JPanel panel = new JPanel();
panel.add(inputArea);
panel.add(swapButton);
panel.add(outputArea);
swapButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = inputArea.getText();
String[] valuesString = input.split("\n");
double[] values = new double[valuesString.length];
for (int i = 0; i < valuesString.length; i++) {
values[i] = Double.parseDouble(valuesString[i]);
}
double min = Arrays.stream(values).min().getAsDouble();
int midIndex = values.length / 2;
double midValue = values[midIndex];
for (int i = 0; i < values.length; i++) {
if (values[i] == min) {
values[i] = midValue;
values[midIndex] = min;
break;
}
}
outputArea.setText(Arrays.toString(values));
}
});
frame.add(panel);
frame.setVisible(true);
}
}