Есть файл с целыми числами. Я закинул содержимое файла в ArrayList (нужно обязательно ArrayList).
Если числа уменьшаются подряд 5раз то нужно вывести первое число(с которого началось уменьшение)...если условие
срывается на 2м 3м или 4м числе то нужно сделать тоже самое начиная с этого числа..и так весь файл
помогите пожалуйста разобратся..буду очень благодарен)
вот мой код ..надо сделать так чтобы это делалось при нажатии кнопки ок
Код:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class DataSearch extends JFrame {
File curentFile = null;
ArrayList<String> lst = new ArrayList<String>();
JButton ok = new JButton("OK");
JButton btn = new JButton("Открыть");
JLabel lbl = new JLabel("Результат");
JTextField fld = new JTextField(15);
JTextField fld1 = new JTextField(5);
JPanel jp= new JPanel();
JPanel jp1= new JPanel();
JPanel jp2= new JPanel();
DataSearch() {
super("DataSearch");
jp.add(lbl);
jp.add(fld);
jp1.add(fld1);
jp2.add(ok);
jp2.add(btn);
fld.setEnabled(false);
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
}
setSize(400,160);
Container c = getContentPane();
setLayout(new GridLayout (3,1));
c.add(jp);
c.add(jp1);
c.add(jp2);
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
open();
}
});
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
StringBuilder sb = new StringBuilder();
for (String s : lst)
{
sb.append(s);
sb.append("\t");
}
fld.setText(sb.toString());
}
});
WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
};
addWindowListener(wndCloser);
setVisible(true);
}
public void open() {
JFileChooser fc = new JFileChooser();
ExtFileFilter ff1 = new ExtFileFilter("txt", "*.txt — текстовые файлы");
fc.addChoosableFileFilter(ff1);
ExtFileFilter ff2 = new ExtFileFilter("doc", "*.doc — doc файлы");
fc.addChoosableFileFilter(ff2);
if( fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
if ( !f.isFile() || !f.canRead() ) {
fld.setText("Файл "+f.getName()+" является каталогом или не "+ " доступен для чтения");
return;
}
curentFile = f;
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(curentFile));
String str;
str = in.readLine();
int count=0;
lst.add(str);
} catch (IOException ex){}
}
}
public static void main(String[] args) {
new DataSearch();
}
}
class ExtFileFilter extends javax.swing.filechooser.FileFilter {
String ext;
String description;
ExtFileFilter(String ext, String descr) {
this.ext = ext;
description = descr;
}
public boolean accept(File f) {
if(f != null) {
if(f.isDirectory()) {
return true;
}
String extension = getExtension(f);
if( extension == null )
return (ext.length() == 0);
return ext.equals(extension);
}
return false;
}
public String getExtension(File f) {
if(f != null) {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if(i>0 && i<filename.length()-1) {
return filename.substring(i+1).toLowerCase();
};
}
return null;
}
public String getDescription() {
return description;
}
}