Wyszukiwanie palindromów

Wyszukiwanie palindromów

Program: wyszukujący palindromy w pliku.

Dane pobierane są z pliku „input.txt” oraz zapisywane do pliku „output.txt”.

Wykorzystane dane wejściowe w tym przykładzie:

ala
dasdsadsa
kajak

Dane wyjściowe:

ala
kajak

Kompilator: Eclipse

Galeria:

Program w akcji.

Kod programu:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class glowna {
	//Program sprawdzający czy dane słowo jest palindromem 
        //i zapisujący w osobnym pliku.
	public static boolean czy(String x)
	{
		for(int i=0,j=x.length()-1;i<x.length()/2;i++,j--){
			if(x.charAt(i)!=x.charAt(j))
			{return false;}
		}
		return true;
	}
	public static void main(String[] args) throws IOException {
		int y=0;
		try{
		File pliko = new File("output.txt");
		pliko.createNewFile();
		FileReader plik= new FileReader("input.txt");
		BufferedReader buforPlik= new BufferedReader(plik);
		FileWriter plik2=new FileWriter("output.txt");
		BufferedWriter buforPlikW= new BufferedWriter(plik2);	
		String linia;
			while((linia=buforPlik.readLine())!=null){	
			if(czy(linia)==true)
			{
				buforPlikW.write(linia);
				buforPlikW.newLine();
				y++;
			}
			}
			System.out.print("Skopiowal "+y);
			buforPlik.close(); buforPlikW.close();
		}catch(IOException ex){
			System.out.print("Blad"+ex);
		}		
	}
}

Słowniczek pojęć:

Wyrażenie brzmiące tak samo czytane od lewej do prawej i od prawej do lewej. Przykładem palindromu jest: Kobyła ma mały bok. Współcześnie palindromy pełnią funkcję gry słownej. Prawdopodobnie tak było również i w przeszłości, choć pewne znaleziska sugerują, że palindromy mogły też mieć znaczenie magiczne.