Formas simples de se trabalhar com Strings e ArrayList no java usando metodos estaticos (static)===================================package editor;import java.util.ArrayList;import javax.swing.JOptionPane;public class Editor { /** * Faca um Editor de textos primitivo c/ o seguinte menu * 1 - Digitar uma linha * 2 - Digitar Textos ate que "sair" seja digitado * 3 - Exibir * 4 - Remover a Linha: informar numero da linha * 5 - Editar Linha: informar numero da linha * 6 - Limpar * 7 - Localizar: Pergunta pela palavra * 8 - Substituir: Pergunta pela palavra antiga, nova e substitui. * * @param args */ private static ArrayList<String> texto = new ArrayList<String>(); private static String linha; private static String nova; private static String palavra; private static String linhas; private static int op; // DIGITAR UMA UNICA LINHA public static void setLinha(String linha){ texto.add(linha); } // DIGITAR VARIAS LINHAS public static void setLinhas(String linhas){ do{ if (linhas.equals("sair")){ // "equals" usado para comparar strings break;}else{texto.add(linhas);} }while(!(linhas.equals("sair"))); } // EXIBIR O TEXTO public static void getTexto(){ int i = 0; for (String s : texto) { linha = texto.get(i); System.out.println(linha); i++; } } // REMOMVER UMA LINHA public static void remLinha(int pos){ texto.remove(pos); getTexto(); } // EDITAR UMA LINHA public static void editLinha(int pos, String linha){ texto.set(pos, linha); getTexto(); } // APAGARR O ARRAY public static void limpar(){ if (JOptionPane.showConfirmDialog(null, "Deseja realmente limpar todo o texto?")==JOptionPane.YES_OPTION){ texto.clear();} } // ENCONTRAR UMA PALAVRA OU SEQUENCIA DE CARACTERES public static void localizar(){ palavra = JOptionPane.showInputDialog("Digite a sequencia que deseja localizar"); int i = 0; for (String s : texto) { linha = texto.get(i); if(linha.contains(palavra)){ JOptionPane.showMessageDialog(null, "palavra ("+palavra+") encontrada na linha "+i); //System.out.println("palavra ("+palavra+") encontrada na linha "+i); } i++; } } // SUBSTITUIR UMA PALAVRA OU SEQUENCIA DE CARACTERES public static void substituir(){ palavra = JOptionPane.showInputDialog("Digite a palavra a ser substituida"); nova = JOptionPane.showInputDialog("Digite a nova palavra"); op = 0; op = Integer.parseInt(JOptionPane.showInputDialog("Digite: \n 1 - Substituir a primeira ocorrencia.\n 2 - Substituir todas as ocorrencias.")); int i = 0; for (String s : texto) { linha = texto.get(i); // pega a linha na posiAAAo "i" do ArrayList texto if(linha.contains(palavra)){ // verifica se a linha contem (contains) a palavra a ser trocada if (op == 1){ linha = linha.replaceFirst(palavra, nova);// troca a palavra pela nova, na linha texto.set(i, linha);// break;}// Se foi escolhido substituir apenas a primeira ocorrencia (op == 1), para por aqui else if (op == 2){ linha = linha.replaceAll(palavra, nova);// troca a palavra pela nova, na linha texto.set(i, linha); } } i++; } } public static void main(String[] args) { // TODO Auto-generated method stub int acao; do{ acao = Integer.parseInt(JOptionPane.showInputDialog("Escolha uma das opcoes:\n1 - Digitar uma linha\n2 - Digitar linhas: <sair> para encerrar\n3 - Exibir\n4 - Remover Linha\n5 - Editar Linha\n6 - Limpar\n7 - Localizar\n8 - Substituir\n9 - Encerrar")); switch (acao) { case 1: try { setLinha(JOptionPane.showInputDialog("Digite a linha")); } catch (Exception e) { // TODO: handle exception System.out.println("Alguma coisa saiu errado, tente outra vez"); } break; case 2: try { setLinhas(JOptionPane.showInputDialog("Digite nova linha. <sair>, para encerrar digitacao")); } catch (Exception e) { // TODO: handle exception System.out.println("Alguma coisa