Advertisement
zegige

végtelen_ciklus

Jan 10th, 2012
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 18.85 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.io.*;
  3. import java.util.*;
  4. public class frmSms extends javax.swing.JFrame {
  5.  SMS[] sms=new SMS[100];
  6.  FileReader fr;
  7.  BufferedReader bfr;
  8.  FileWriter fw;
  9.  File fcDir;
  10.  int sms_szam;
  11.     public frmSms() {
  12.         for(int i=0;i<100;++i){
  13.           sms[i]=new SMS();
  14.         }
  15.         initComponents();
  16.     }
  17.  
  18.    
  19.     @SuppressWarnings("unchecked")
  20.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  21.     private void initComponents() {
  22.  
  23.         Feladat1 = new javax.swing.JButton();
  24.         Feladat2 = new javax.swing.JButton();
  25.         Feladat3 = new javax.swing.JButton();
  26.         Feladat4 = new javax.swing.JButton();
  27.         Feladat5 = new javax.swing.JButton();
  28.         Feladat6 = new javax.swing.JButton();
  29.         Feladat7 = new javax.swing.JButton();
  30.         Feladat8 = new javax.swing.JButton();
  31.         Kilepes = new javax.swing.JButton();
  32.         jPanel1 = new javax.swing.JPanel();
  33.         jLabel1 = new javax.swing.JLabel();
  34.         jLabel2 = new javax.swing.JLabel();
  35.         jLabel3 = new javax.swing.JLabel();
  36.         jLabel4 = new javax.swing.JLabel();
  37.         jLabel5 = new javax.swing.JLabel();
  38.         h1 = new javax.swing.JLabel();
  39.         h2 = new javax.swing.JLabel();
  40.         h3 = new javax.swing.JLabel();
  41.         h4 = new javax.swing.JLabel();
  42.         h5 = new javax.swing.JLabel();
  43.  
  44.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  45.  
  46.         Feladat1.setFont(new java.awt.Font("Tahoma", 1, 14));
  47.         Feladat1.setText("1. Feladat");
  48.         Feladat1.addActionListener(new java.awt.event.ActionListener() {
  49.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  50.                 Feladat_1(evt);
  51.             }
  52.         });
  53.  
  54.         Feladat2.setFont(new java.awt.Font("Tahoma", 1, 14));
  55.         Feladat2.setText("2. Feladat");
  56.         Feladat2.addActionListener(new java.awt.event.ActionListener() {
  57.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  58.                 Feladat_2(evt);
  59.             }
  60.         });
  61.  
  62.         Feladat3.setFont(new java.awt.Font("Tahoma", 1, 14));
  63.         Feladat3.setText("3. Feladat");
  64.         Feladat3.addActionListener(new java.awt.event.ActionListener() {
  65.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  66.                 Feladat_3(evt);
  67.             }
  68.         });
  69.  
  70.         Feladat4.setFont(new java.awt.Font("Tahoma", 1, 14));
  71.         Feladat4.setText("4. Feladat");
  72.         Feladat4.addActionListener(new java.awt.event.ActionListener() {
  73.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  74.                 Feladat_4(evt);
  75.             }
  76.         });
  77.  
  78.         Feladat5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
  79.         Feladat5.setText("5. Feladat");
  80.         Feladat5.addActionListener(new java.awt.event.ActionListener() {
  81.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  82.                 Feladat_5(evt);
  83.             }
  84.         });
  85.  
  86.         Feladat6.setFont(new java.awt.Font("Tahoma", 1, 14));
  87.         Feladat6.setText("6. Feladat");
  88.         Feladat6.addActionListener(new java.awt.event.ActionListener() {
  89.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  90.                 Feladat_6(evt);
  91.             }
  92.         });
  93.  
  94.         Feladat7.setFont(new java.awt.Font("Tahoma", 1, 14));
  95.         Feladat7.setText("7. Feladat");
  96.  
  97.         Feladat8.setFont(new java.awt.Font("Tahoma", 1, 14));
  98.         Feladat8.setText("8. Feladat");
  99.  
  100.         Kilepes.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
  101.         Kilepes.setText("Kilépés");
  102.         Kilepes.addActionListener(new java.awt.event.ActionListener() {
  103.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  104.                 KilepesActionPerformed(evt);
  105.             }
  106.         });
  107.  
  108.         jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
  109.         jPanel1.setToolTipText("4.feladat megoldása");
  110.  
  111.         jLabel1.setText("1-20:");
  112.  
  113.         jLabel2.setText("21-40:");
  114.  
  115.         jLabel3.setText("41-60:");
  116.  
  117.         jLabel4.setText("61-80:");
  118.  
  119.         jLabel5.setText("81-100:");
  120.  
  121.         h1.setBackground(new java.awt.Color(153, 255, 153));
  122.         h1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  123.         h1.setOpaque(true);
  124.  
  125.         h2.setBackground(new java.awt.Color(153, 255, 153));
  126.         h2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  127.         h2.setOpaque(true);
  128.  
  129.         h3.setBackground(new java.awt.Color(153, 255, 153));
  130.         h3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  131.         h3.setOpaque(true);
  132.  
  133.         h4.setBackground(new java.awt.Color(153, 255, 153));
  134.         h4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  135.         h4.setOpaque(true);
  136.  
  137.         h5.setBackground(new java.awt.Color(153, 255, 153));
  138.         h5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  139.         h5.setOpaque(true);
  140.  
  141.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  142.         jPanel1.setLayout(jPanel1Layout);
  143.         jPanel1Layout.setHorizontalGroup(
  144.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  145.             .addGroup(jPanel1Layout.createSequentialGroup()
  146.                 .addContainerGap()
  147.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  148.                     .addComponent(jLabel1)
  149.                     .addComponent(jLabel4)
  150.                     .addComponent(jLabel5)
  151.                     .addComponent(jLabel3)
  152.                     .addComponent(jLabel2))
  153.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  154.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  155.                     .addComponent(h1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
  156.                     .addComponent(h2, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
  157.                     .addComponent(h3, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
  158.                     .addComponent(h4, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
  159.                     .addComponent(h5, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
  160.                 .addContainerGap(43, Short.MAX_VALUE))
  161.         );
  162.         jPanel1Layout.setVerticalGroup(
  163.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  164.             .addGroup(jPanel1Layout.createSequentialGroup()
  165.                 .addContainerGap()
  166.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  167.                     .addComponent(jLabel1)
  168.                     .addComponent(h1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
  169.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  170.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  171.                     .addComponent(jLabel2)
  172.                     .addComponent(h2, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
  173.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  174.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  175.                     .addComponent(jLabel3)
  176.                     .addComponent(h3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
  177.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  178.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  179.                     .addComponent(jLabel4)
  180.                     .addComponent(h4, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
  181.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  182.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  183.                     .addComponent(jLabel5)
  184.                     .addComponent(h5, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
  185.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  186.         );
  187.  
  188.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  189.         getContentPane().setLayout(layout);
  190.         layout.setHorizontalGroup(
  191.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  192.             .addGroup(layout.createSequentialGroup()
  193.                 .addContainerGap()
  194.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  195.                     .addGroup(layout.createSequentialGroup()
  196.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  197.                             .addGroup(layout.createSequentialGroup()
  198.                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  199.                                     .addComponent(Feladat1, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
  200.                                     .addComponent(Feladat2, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
  201.                                     .addComponent(Feladat3, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
  202.                                 .addGap(105, 105, 105)
  203.                                 .addComponent(Feladat4, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
  204.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  205.                                 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  206.                             .addComponent(Feladat5, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
  207.                         .addContainerGap())
  208.                     .addGroup(layout.createSequentialGroup()
  209.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  210.                             .addComponent(Feladat6, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
  211.                             .addComponent(Feladat7, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
  212.                             .addComponent(Feladat8, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
  213.                         .addContainerGap(454, Short.MAX_VALUE))
  214.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  215.                         .addComponent(Kilepes)
  216.                         .addContainerGap())))
  217.         );
  218.         layout.setVerticalGroup(
  219.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  220.             .addGroup(layout.createSequentialGroup()
  221.                 .addContainerGap()
  222.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  223.                     .addGroup(layout.createSequentialGroup()
  224.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  225.                             .addComponent(Feladat1)
  226.                             .addComponent(Feladat4))
  227.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  228.                         .addComponent(Feladat2)
  229.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  230.                         .addComponent(Feladat3)
  231.                         .addGap(37, 37, 37)
  232.                         .addComponent(Feladat5)
  233.                         .addGap(10, 10, 10)
  234.                         .addComponent(Feladat6)
  235.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  236.                         .addComponent(Feladat7)
  237.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  238.                         .addComponent(Feladat8))
  239.                     .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  240.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 134, Short.MAX_VALUE)
  241.                 .addComponent(Kilepes)
  242.                 .addContainerGap())
  243.         );
  244.  
  245.         pack();
  246.     }// </editor-fold>                        
  247.  
  248.     private void Feladat_1(java.awt.event.ActionEvent evt) {                          
  249.      String sor;
  250.      int i=0;
  251.         try{
  252.            fr=new FileReader("sms.txt");
  253.            bfr=new BufferedReader(fr);
  254.            sms_szam=Integer.parseInt((sor=bfr.readLine()));
  255.            while((sor=bfr.readLine())!=null){
  256.              StringTokenizer stok=new StringTokenizer(sor);
  257.              sms[i].Eora=Integer.parseInt(stok.nextToken());
  258.              sms[i].Eperc=Integer.parseInt(stok.nextToken());
  259.              sms[i].telefon=stok.nextToken(); //1.sor vége
  260.              sor=bfr.readLine();
  261.              sms[i].uzenet=sor; //2.sor vége
  262.              ++i;
  263.            }
  264.         }catch(IOException ex){
  265.           javax.swing.JOptionPane.showMessageDialog(this, "Hiba a file kezelés közben!");
  266.         }
  267.     }                          
  268.  
  269.     private void Feladat_2(java.awt.event.ActionEvent evt) {                          
  270.      JOptionPane.showMessageDialog(this, sms[sms_szam-1].uzenet);
  271.     }                          
  272.  
  273.     private void Feladat_3(java.awt.event.ActionEvent evt) {                          
  274.      int max,maxind,min,minind;
  275.      max=sms[0].uzenet.length();
  276.      maxind=0;
  277.      min=max;
  278.      minind=maxind;
  279.      for(int i=1;i<sms_szam;++i){
  280.        if(sms[i].uzenet.length()>max){
  281.          max=sms[i].uzenet.length();
  282.          maxind=i;
  283.        }
  284.        if(sms[i].uzenet.length()<min){
  285.          min=sms[i].uzenet.length();
  286.          minind=i;
  287.        }
  288.      }
  289.      String uzenet=String.valueOf(sms[minind].Eora)+":";
  290.      uzenet=uzenet+String.valueOf(sms[minind].Eperc);
  291.      uzenet=uzenet+" "+sms[minind].telefon;
  292.      uzenet=uzenet+" "+sms[minind].uzenet;
  293.      JOptionPane.showMessageDialog(this, "Legrövidebb:"+uzenet);
  294.      uzenet=String.valueOf(sms[maxind].Eora)+":";
  295.      uzenet=uzenet+String.valueOf(sms[maxind].Eperc);
  296.      uzenet=uzenet+" "+sms[maxind].telefon;
  297.      uzenet=uzenet+" "+sms[maxind].uzenet;
  298.      JOptionPane.showMessageDialog(this, "Leghosszabb:"+uzenet);
  299.     }                          
  300.  
  301.     private void Feladat_4(java.awt.event.ActionEvent evt) {                          
  302.     int[] hossz=new int[5];
  303.     for(int i=0;i<5;++i){
  304.       hossz[i]=0;
  305.     }
  306.     for(int i=0;i<sms_szam-1;++i){
  307.       if(sms[i].uzenet.length()<=20) hossz[0]++;
  308.       else if(sms[i].uzenet.length()<=40) hossz[1]++;
  309.            else if(sms[i].uzenet.length()<=60) hossz[2]++;
  310.                 else if(sms[i].uzenet.length()<=80) hossz[3]++;
  311.                      else if(sms[i].uzenet.length()<=100) hossz[4]++;
  312.     }
  313.     h1.setText(String.valueOf(hossz[0]));
  314.     h2.setText(String.valueOf(hossz[1]));
  315.     h3.setText(String.valueOf(hossz[2]));
  316.     h4.setText(String.valueOf(hossz[3]));
  317.     h5.setText(String.valueOf(hossz[4]));
  318.     }                          
  319.  
  320.     private void KilepesActionPerformed(java.awt.event.ActionEvent evt) {                                        
  321.         // TODO add your handling code here:
  322.         System.exit(0);
  323.     }                                      
  324.  
  325.     private void Feladat_5(java.awt.event.ActionEvent evt) {                          
  326.         // TODO add your handling code here:
  327.         int szamlalo;
  328.         int orankent;
  329.         int ora;
  330.         int i;
  331.         szamlalo=0;
  332.         ora=sms[0].Eora;
  333.         i=0;
  334.          while (i<sms_szam){
  335.              orankent=0;
  336.              ora=sms[i].Eora;
  337.              while ((sms[i].Eora==ora) && (i<sms_szam)){
  338.                 orankent=orankent+1;
  339.                 ++i;
  340.  
  341.             }
  342.              if (orankent>10){
  343.              szamlalo=szamlalo+(orankent-10);
  344.              }
  345.         }
  346.         JOptionPane.showMessageDialog(this, "Szolgaltato felhivasa:"+String.valueOf(szamlalo));
  347.     }                          
  348.  
  349.     private void Feladat_6(java.awt.event.ActionEvent evt) {                          
  350.         // TODO add your handling code here:
  351.         int i;
  352.         SMS tol,ig;
  353.         int iora, iperc=0;
  354.         int max=0;
  355.         i=0;
  356.         tol=new SMS();
  357.         ig=new SMS();
  358.         while ((i<sms_szam)&& (sms[i].telefon.equals("123456789")==false)){
  359.         ++i;
  360.        
  361.         }
  362.  
  363.       if(i<sms_szam) tol=sms[i];
  364.       else {
  365.              JOptionPane.showMessageDialog(this, "Nincs ilyen telefonszam!");
  366.      
  367.       }
  368.         ++i;
  369.        while (i<sms_szam); {
  370.            if(sms[i].telefon.equals("123456789")==true){
  371.            ig=sms[i];
  372.            }
  373.  
  374.        iperc=(ig.Eora*60+ig.Eperc)-(tol.Eora*60+tol.Eperc);
  375.        if(iperc>max) max=iperc;
  376.        tol=ig;
  377.        ++i;
  378.        }
  379.        iora=iperc/60;
  380.        iperc=iperc%60;
  381.        JOptionPane.showMessageDialog(this, "Óra:"+String.valueOf(iora)+"Perc:"+String.valueOf(iperc));
  382.  
  383.     }                          
  384.  
  385.     /**
  386.     * @param args the command line arguments
  387.     */
  388.     public static void main(String args[]) {
  389.         java.awt.EventQueue.invokeLater(new Runnable() {
  390.             public void run() {
  391.                 new frmSms().setVisible(true);
  392.             }
  393.         });
  394.     }
  395.  
  396.     // Variables declaration - do not modify                    
  397.     private javax.swing.JButton Feladat1;
  398.     private javax.swing.JButton Feladat2;
  399.     private javax.swing.JButton Feladat3;
  400.     private javax.swing.JButton Feladat4;
  401.     private javax.swing.JButton Feladat5;
  402.     private javax.swing.JButton Feladat6;
  403.     private javax.swing.JButton Feladat7;
  404.     private javax.swing.JButton Feladat8;
  405.     private javax.swing.JButton Kilepes;
  406.     private javax.swing.JLabel h1;
  407.     private javax.swing.JLabel h2;
  408.     private javax.swing.JLabel h3;
  409.     private javax.swing.JLabel h4;
  410.     private javax.swing.JLabel h5;
  411.     private javax.swing.JLabel jLabel1;
  412.     private javax.swing.JLabel jLabel2;
  413.     private javax.swing.JLabel jLabel3;
  414.     private javax.swing.JLabel jLabel4;
  415.     private javax.swing.JLabel jLabel5;
  416.     private javax.swing.JPanel jPanel1;
  417.     // End of variables declaration                  
  418.  
  419. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement