Top.Mail.Ru
Ответы

Помогите доделать задачу на java со строками

Весь код не уместился, я дополнила вопрос
Я добавила поле для ввода символа, но нужно, чтобы это поле было на самой форме. Пользователь вводит символ, этот символ в словах должен замениться на #

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
 import java.awt.Dimension; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.io.File; 
import java.io.*; 
import javax.swing.JOptionPane; 
import javax.swing.Box; 
import javax.swing.BoxLayout; 
import javax.swing.JButton; 
import javax.swing.JDialog; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
 
public class TestFrame extends JFrame { 
 
	public TestFrame() { 
		super("Тестовое окно"); 
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 
		JPanel panel = new JPanel(); 
		panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); 
		 
		panel.add(Box.createVerticalGlue()); 
		String name;                       
		name = JOptionPane.showInputDialog("Vvedite bukvy"); 
 
		final JLabel label = new JLabel("Выбранный файл"); 
		label.setAlignmentX(CENTER_ALIGNMENT); 
		panel.add(label); 
		JButton showDialogButton = new JButton("Text Button"); 
		JLabel jb = new JLabel("text1"); 
		panel.add(jb); 
		JLabel jbb = new JLabel("text2"); 
		panel.add(jbb); 
 
		panel.add(Box.createRigidArea(new Dimension(10, 10))); 
 
		JButton button = new JButton("Показать JFileChooser"); 
		button.setAlignmentX(CENTER_ALIGNMENT); 
 
		button.addActionListener(new ActionListener() { 
			public void actionPerformed(ActionEvent e) { 
				JFileChooser fileopen = new JFileChooser();				 
				int ret = fileopen.showDialog(null, "Открыть файл");				 
				if (ret == JFileChooser.APPROVE_OPTION) { 
					File file = fileopen.getSelectedFile(); 
					label.setText(file.getName()); 
					 
	 
                    // Чтение содержимого файла  
                    StringBuilder content = new StringBuilder();  
                    try (BufferedReader br = new BufferedReader(new FileReader(file))) {  
                        String line;  
                        while ((line = br.readLine()) != null) {  
                              content.append(line).append('\n');  
                        }   
                    } catch (IOException ex) {  
                        ex.printStackTrace();  
                    }  
  
                   // Преобразование текста с помощью функции toUpper  
                   //String modifiedContent = toUpper.toUpper(content.toString());  
				   String modifiedContent = reverse.reverse(content.toString());  
				   jb.setText(modifiedContent); 
				   jbb.setText(content.toString()); 
				 
  
                   // Сохранение обработанного текста обратно в файл  
                   try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {  
                       bw.write(modifiedContent);  
                   } catch (IOException ex) {  
                       ex.printStackTrace();  
                   }  
               }  
           } 
        });	 
		panel.add(button); 
		panel.add(Box.createVerticalGlue()); 
		getContentPane().add(panel); 
 
		setPreferredSize(new Dimension(400, 400)); 
		pack(); 
		setLocationRelativeTo(null); 
		setVisible(true); 
	} 
 
	public static void main(String[] args) { 
		javax.swing.SwingUtilities.invokeLater(new Runnable() { 
			public void run() { 
				JFrame.setDefaultLookAndFeelDecorated(true); 
				JDialog.setDefaultLookAndFeelDecorated(true); 
				new TestFrame(); 
			} 
		}); 
	} 
} 
 
Дополнен

class toUpper{
public static String toUpper(String input) {
String [] tmpArr = input.split(" ");
String result = "";
for (int i = 0; i < tmpArr.length; i++){
if(tmpArr[i].length() > 1){
char oldFirst = tmpArr[i].charAt(0);
result += tmpArr[i].substring(0,1).toUpperCase() + tmpArr[i].substring(1,tmpArr[i].length()) + " ";
}
}
return result;
}
}

class reverse{
public static String reverse(String inputString){
int stringLength = inputString.length();
String result = "";
for (int i = 0; i < stringLength; i++){
result = inputString.charAt(i) + result;
}
return result;
}
}
/*class replace{
public static String replace(String inputString){
int stringLength = inputString.length();
String result = "";

}
}*/

По дате
По рейтингу
Аватар пользователя
Новичок
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
     JPanel panel = new JPanel();  
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));  
 
    panel.add(Box.createVerticalGlue());  
    JTextField textField = new JTextField(20);  
    panel.add(textField);  
 
    final JLabel label = new JLabel("Выбранный файл");  
    label.setAlignmentX(CENTER_ALIGNMENT);  
    panel.add(label);  
    JButton showDialogButton = new JButton("Text Button");  
    JLabel jb = new JLabel("text1");  
    panel.add(jb);  
    JLabel jbb = new JLabel("text2");  
    panel.add(jbb);  
 
    panel.add(Box.createRigidArea(new Dimension(10, 10)));  
 
    JButton button = new JButton("Показать JFileChooser");  
    button.setAlignmentX(CENTER_ALIGNMENT);  
 
    button.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent e) {  
            JFileChooser fileopen = new JFileChooser();  
            int ret = fileopen.showDialog(null, "Открыть файл");  
            if (ret == JFileChooser.APPROVE_OPTION) {  
                File file = fileopen.getSelectedFile();  
                label.setText(file.getName());  
 
                // Чтение содержимого файла   
                StringBuilder content = new StringBuilder();   
                try (BufferedReader br = new BufferedReader(new FileReader(file))) {   
                    String line;   
                    while ((line = br.readLine()) != null) {   
                        content.append(line).append('\n');   
                    }    
                } catch (IOException ex) {   
                    ex.printStackTrace();   
                }   
 
                // Преобразование текста с помощью функции toUpper   
                String modifiedContent = content.toString().replaceAll(textField.getText(), "#");  
                jb.setText(modifiedContent);  
                jbb.setText(content.toString());  
 
                // Сохранение обработанного текста обратно в файл   
                try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {   
                    bw.write(modifiedContent);   
                } catch (IOException ex) {   
                    ex.printStackTrace();   
                }   
            }   
        }  
    });	  
    panel.add(button);  
    panel.add(Box.createVerticalGlue());  
    getContentPane().add(panel);  
 
    setPreferredSize(new Dimension(400, 400));  
    pack();  
    setLocationRelativeTo(null);  
    setVisible(true);  
}  
 
public static void main(String[] args) {  
    javax.swing.SwingUtilities.invokeLater(new Runnable() {  
        public void run() {  
            JFrame.setDefaultLookAndFeelDecorated(true);  
            J