2018. november 4., vasárnap

Érdekes programok

Készítsen egy olyan programot, amely a másodfokú egyenlet megoldó képlete alapján a valós számkörben megadja egy ax2+bx+c alakú másodfokú egyenlet gyökeit! A bemenő adatokat (a,b,c) a felhasználótól kérje be!

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */

import java.io.*;

class Megold
{
    private float x1;
    private float x2;
    private boolean flag;
    public Megold( float a, float b, float c)
    {
        flag=false;
        if( a==0)
            return;
        float d=b*b-4*a*c;
        if(d>=0)
        {
            x1=(-b+d)/(2*a);
            x2=(-b-d)/(2*a);
            flag=true;
        }
    }
    public boolean vanmegoldas()
    {
        return flag;
    }
    public float getX1()
    {
        return x1;
    }
    public float getX2()
    {
        return x2;
    }
}

public class Masodfoku
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)throws IOException
    {
        // TODO code application logic here
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
      
        System.out.print("a = "); float a=Float.parseFloat(br.readLine());
        System.out.print("b = "); float b=Float.parseFloat(br.readLine());
        System.out.print("c = "); float c=Float.parseFloat(br.readLine());
   
        Megold m=new Megold(a,b,c);
        if(m.vanmegoldas())
        {
            System.out.println("x1 = "+m.getX1());
            System.out.println("x2 = "+m.getX2());
        }
        else
        {
            System.out.println("Nincs megoldas");
        }

    }
}


Készítsen egy olyan programot, amely véletlen számokkal tölt fel egy 100 elemű egész típusú tömböt, majd megkeresi és kiírja a konzolra a tömbben levő legnagyobb és legkisebb számot!
-
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */
import java.util.Random;

class Megold
{
    private int tomb[];
    private int maximum;
    private int minimum;
   
    public Megold()
    {
        tomb= new int[100];
        Random rnd=new Random();
        for( int i=0; i<100; i++)
            tomb[i]=rnd.nextInt();
       
        maximum=minimum=tomb[0];
        for(int j=1; j<100; j++)
        {
            if( tomb[j]<minimum)
                minimum=tomb[j];
            if(tomb[j]>maximum)
                maximum=tomb[j];
        }
    }
    public int getMax()
    {
        return maximum;
    }
    public int getMin()
    {
        return minimum;
    }
}

public class Veletlen
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        // TODO code application logic here
        Megold m=new Megold();
        System.out.println("Minimum ="+m.getMin());
    System.out.println("Maximum ="+m.getMax());       
    }
}

Szókitaláló játék

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */
import java.io.*;
import java.util.Random;

class Jatek
{
    private String szotar[];
    public Jatek()
    {
        szotar= new String[30];
        szotar[0]="alma";
        szotar[1]="korte";
        szotar[2]="barack";
        szotar[3]="mama";
        szotar[4]="asztal";
        szotar[5]="szekreny";
        szotar[6]="android";
        szotar[7]="windows";
        szotar[8]="linux";
        szotar[9]="szilva";
        szotar[10]="kelkaposzta";
        szotar[11]="ajto";
        szotar[12]="ablak";
        szotar[13]="napilap";
        szotar[14]="tenisz";
        szotar[15]="teve";
        szotar[16]="oroszlan";
        szotar[17]="pap";
        szotar[18]="iskola";
        szotar[19]="agilis";
        szotar[20]="java";
        szotar[21]="informatika";
        szotar[22]="telefon";
        szotar[23]="fazek";
        szotar[24]="labas";
        szotar[25]="villany";
        szotar[26]="miniszter";
        szotar[27]="kakao";
        szotar[28]="cukor";
        szotar[29]="lotto";
       
    }
    public void Run()throws IOException
    {
        BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
      
        boolean flag=true;
        while(flag)
        {   
            Random rnd= new Random();
            int index= rnd.nextInt(30);
            int len=szotar[index].length();
            System.out.println("A kitalálandó szó hossza: "+Integer.toString(len));
            boolean jatek=true;
            while(jatek)
            {
                System.out.print("Tipp :");String tipp=br.readLine();
                if(tipp.length()!=len)
                {
                   System.out.println("Nem passzol a szó hossza!");
                   continue;
                }   
                String valasz="";
                int db=0;
                for(int i=0; i<len; i++)
                {
                    char B=szotar[index].charAt(i);
                    if( B==tipp.charAt(i))
                    {
                        valasz+=B;
                    }
                    else
                    {
                        valasz+=".";
                        db++;
                    }   
                }
                System.out.println(valasz);
                if(db==0)
                {  
                    System.out.println("Talált");
                    jatek=false;
                } 
            }
            System.out.print("Kilépés (igen/nem)");String s=br.readLine();
            if(s.compareToIgnoreCase("igen")==0)
                flag=false;
           
        }      
    }
}

       
public class Szokitalalo
{
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException
    {
        // TODO code application logic here
        Jatek jatek= new Jatek();
        jatek.Run();
    }
}


Háromszög oldalai

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */
import java.io.*;
public class Haromszog
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException
    {
        // TODO code application logic here
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
       
        System.out.print("a = "); float a=Float.parseFloat(br.readLine());
        System.out.print("b = "); float b=Float.parseFloat(br.readLine());
        System.out.print("c = "); float c=Float.parseFloat(br.readLine());
       
        if( (a+b)>c && (b+c)>a && (a+c)>b)
            System.out.println("Háromszög számok");
        else
            System.out.println("nem háromszög számok");
           
    }       
   
}



Készítsen egy olyan programot, amely, egy szöveg file tartalmát kiírja a konzolra! A file nevét teljes elérési útvonallal kérje be a felhasználótól.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */
import java.io.*;
public class TextFile
{

    /**
     * @param args the command line arguments
     */
    private static String readFile( String file ) throws IOException
    {
        BufferedReader reader = new BufferedReader( new FileReader (file));
        String         line = null;
        StringBuilder  stringBuilder = new StringBuilder();
        String         ls = System.getProperty("line.separator");

        while( ( line = reader.readLine() ) != null )
        {
            stringBuilder.append( line );
            stringBuilder.append( ls );
        }

        return stringBuilder.toString();
    }
   
    public static void main(String[] args)throws IOException
    {
        // TODO code application logic here
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
      System.out.print("File nev:");String fname=br.readLine();
      System.out.println(readFile(fname));
    }
}


Készítsen egy olyan grafikus felhasználói felülettel rendelkező programot, amely, egy szöveg file-ban az összes „a" és „A" betűt „e" betűre cserél. Az így módosított file-t az „Output file"-ban megadott file névvel menti el.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFileChooser;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */
public class DialogGUI extends javax.swing.JFrame {

    /**
     * Creates new form DialogGUI
     */
    public DialogGUI() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTextField1 = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jTextField2 = new javax.swing.JTextField();
        jButton2 = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jButton3 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("Input file :");

        jButton1.setText("Browse...");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });

        jTextField2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField2ActionPerformed(evt);
            }
        });

        jButton2.setText("Ok");
        jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton2MouseClicked(evt);
            }
        });

        jLabel2.setText("Output file: ");

        jButton3.setText("Browse...");
        jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton3MouseClicked(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addComponent(jLabel2))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE)
                    .addComponent(jTextField1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton1)
                    .addComponent(jButton3))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(jButton2))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(39, 39, 39)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1)
                    .addComponent(jButton1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2)
                    .addComponent(jButton3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78, Short.MAX_VALUE)
                .addComponent(jButton2))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked
        // TODO add your handling code here:
    JFileChooser openFile = new JFileChooser();
    int returnVal=openFile.showOpenDialog(null);
    if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION)
    {
        java.io.File file = openFile.getSelectedFile();
        String fname = file.toString();
        jTextField1.setText(fname);
    }

       
    }//GEN-LAST:event_jButton1MouseClicked

    private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField2ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextField2ActionPerformed

    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked
        // TODO add your handling code here:
            FileWriter fileWriter = null;
            try
            {
                String tartalom= readFile(jTextField1.getText());
                tartalom=tartalom.replace('a', 'e');
                tartalom=tartalom.replace('A', 'e');
                File newTextFile = new File(jTextField2.getText());
                fileWriter = new FileWriter(newTextFile);
                fileWriter.write(tartalom);
                fileWriter.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }        
    }//GEN-LAST:event_jButton2MouseClicked

    private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton3MouseClicked
        // TODO add your handling code here:
       JFileChooser openFile = new JFileChooser();
        int returnVal=openFile.showOpenDialog(null);
        if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION)
        {
            java.io.File file = openFile.getSelectedFile();
            String fname = file.toString();
            jTextField2.setText(fname);
        }
 
    }//GEN-LAST:event_jButton3MouseClicked
private String readFile( String file ) throws IOException
{
    BufferedReader reader = new BufferedReader( new FileReader (file));
    String         line = null;
    StringBuilder  stringBuilder = new StringBuilder();
    String         ls = System.getProperty("line.separator");

    while( ( line = reader.readLine() ) != null )
    {
        stringBuilder.append( line );
        stringBuilder.append( ls );
    }

    return stringBuilder.toString();

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(DialogGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(DialogGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(DialogGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(DialogGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DialogGUI().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    // End of variables declaration//GEN-END:variables
}


Készítsen egy olyan programot, amely hozzákapcsolódik egy MySQL adatbázishoz!
Az adatbázisban egy gépkocsi adatait (típus, rendszám, szín, hengerűrtartalom, tulajdonos neve) tároljuk. Konzolos programmal valósítsa meg az adatfelvitel, illetve adatlistázás funkciókat! Ez a feladat megoldásához a JDBC-t kell használni. Ne felejtsük el a JDBC konnektort a projekthez hozzáadni.


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author ka
 */

import java.io.*;
import java.sql.*;
import java.util.*;

class AUTO
{
    public int Id;
    public String tipus;
    public String rendszam;
    public String szin;
    public String tulajdonos;
    public int urtartalom;
   
    public AUTO()
    {
        Id=-1;
        tipus="";
        rendszam="";
        szin="";
        tulajdonos="";
        urtartalom=0;
    }
}

class SQL
{
    Connection Connect()
    {
        Connection connection = null;       
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/kocsi","root", "");           

        }
        catch (Exception e)
        {
            e.printStackTrace();

        }
        return connection;        
    }
   
    public void add(AUTO a)
    {
        try
        {
            Connection conn=Connect();
            String sql="insert into auto (tipus,rendszam,szin, tulajdonos,urtartalom) values (?,?,?,?,?)";
            PreparedStatement st= conn.prepareStatement(sql);
            st.setString(1, a.tipus);
            st.setString(2, a.rendszam);
            st.setString(3, a.szin);
            st.setString(4, a.tulajdonos);
            st.setInt(5, a.urtartalom);
            st.executeUpdate();
            st.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
   
    public List<AUTO> getList()
    {
       ArrayList kocsik= new ArrayList<AUTO>();
       try
        {
            Connection conn=Connect();
            String sql="select * from auto";
            PreparedStatement st= conn.prepareStatement(sql);
            ResultSet rs=st.executeQuery();
            while(rs.next())
            {
                AUTO a=new AUTO();
                a.Id=rs.getInt("Id");
                a.tipus=rs.getString("tipus");
                a.rendszam=rs.getString("rendszam");
                a.szin=rs.getString("szin");
                a.tulajdonos=rs.getString("tulajdonos");
                a.urtartalom=rs.getInt("urtatalom");
                kocsik.add(a);
            }
            st.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
       
        return kocsik;
    }
}

public class Kocsi
{
    private static void rogzit() throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
           
    AUTO a=new AUTO();
    System.out.print("Tipus      :"); a.tipus=br.readLine();
    System.out.print("Rendszam   :"); a.rendszam=br.readLine();
    System.out.print("Szin       :"); a.szin=br.readLine();
    System.out.print("Tulajdonos :"); a.tulajdonos=br.readLine();
        System.out.print("Urtartalom :"); a.urtartalom=Integer.parseInt(br.readLine());
           
    SQL sql=new SQL();
    sql.add(a);
           
    }
   
    private static void listaz()
    {
        SQL sql=new SQL();
    List<AUTO> kocsik=sql.getList();
       
    for( int i=0; i<kocsik.size(); i++)
    {
            AUTO a=kocsik.get(i);
            System.out.println(a.Id+ " "+a.tipus+" "+a.rendszam+" "+a.szin+" "+a.tulajdonos+" "+a.urtartalom );
        }
    }
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException
    {
        // TODO code application logic here
        for( int i=0; i<3; i++)
        {
           rogzit();
        }
        listaz();
    }
}

Készítsen egy egyszerű grafikus felületű könyvnyilvántartó programot! Az adatbázisban a könyv szerzőjét, címét, valamint kategóriáját (krimi, scifi, versek, novella) tároljuk. Megvalósítandó funkciók: a könyvek rögzítése és lekérdezése. 

http://java2.uw.hu/10_feladatok_1.html
http://yebo.eu/index.php?option=com_content&view=category&id=43&layout=blog&Itemid=112
https://gyires.inf.unideb.hu/mobiDiak/Gabor-Andras/Java-Peldatar/java-peldatar.pdf
http://www.petrik.hu/files/tamop/SZINFO13/SZINFO13_TJ.pdf
http://szt1.sze.hu/java/index.php?op=vizsgafeladat&vi=2

Nincsenek megjegyzések:

Megjegyzés küldése