quarta-feira, 14 de março de 2018

Javafx - removendo inteiros em array

Mesmo tendo em mãos toda flexibilidade dos ArrayList,
sempre nos deparamos com os arrays comuns,

que nos foi apresentado quando ainda estávamos aprendendo
o básico da linguagem.
Este exemplo mostra como remover alguns elementos

dentro de um array de inteiros, note que os elementos
que serão removidos do array original estão inseridos

em outro array de inteiros pré-definido.

Veja abaixo uma imagem do programa em execução:



Veja abaixo o código do programa:



import javafx.application.Application;

import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
////////////////////////////////////////////////////////////////////////////////
public class PROJETO extends Application {
     static StringBuilder Arr = new StringBuilder ( );
     private static int [ ] Arr_1;
     private static int [ ] Arr_2;
     static Canvas canvas = new Canvas ( 620, 350 );
     static GraphicsContext ctx = canvas.getGraphicsContext2D ( );
     static Pane ro_ot = new Pane ( );
     static Scene sce_ne = new Scene ( ro_ot, 620, 350 );
     static Button btn_1 = new Button ( "FECHAR" );
////////////////////////////////////////////////////////////////////////////
     public static void Informe ( ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "Por: ", 250, 275 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Samuel Lima", 280, 275 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "sa_sp10@hotmail.com", 250, 290 );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static Node Fechar ( ) {
         btn_1.setPrefWidth ( 100 );// Largura do botão
         btn_1.setLayoutX ( 267 );// Posição do botão coluna
         btn_1.setPrefHeight ( 20 );// altura do botão
         btn_1.setLayoutY ( 300 );// //Posição do botão linha
         btn_1.setStyle ( "-fx-padding: 1;" + "-fx-border-style: solid inside;"
                   + "-fx-border-width: 2;" + "-fx-border-insets: 1;"
                   + "-fx-border-radius: 1;" + "-fx-border-color: blue;"
                   + "-fx-font-style: italic;" + "-fx-font-family: Consolas;" );
         btn_1.setOnKeyPressed ( e -> {
              if ( e.getCode ( ) == KeyCode.ENTER ) {
                   System.exit ( 0 );
              }
         } );
         return btn_1;
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void Delete ( int a ) {
         int [ ] Arr_temp = new int [ Arr_1.length - 1 ];
         int indice = 0;
         for ( int i = 0; i < Arr_1.length; i++ ) {
              if ( Arr_1 [ i ] != a ) {
                   Arr_temp [ indice ] = Arr_1 [ i ];
                   indice++;
              }
         }
         Arr_1 = Arr_temp;
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - REMOVENDO INTEIROS EM ARRAY" );
         // Criando moldura e dando efeitos
        ro_ot.setStyle ( "-fx-padding: 5;" + "-fx-border-style: solid inside;"
                + "-fx-border-width: 15;" + "-fx-border-insets: 5;"
                + "-fx-border-radius: 5;" + "-fx-border-color: black;"
                + "-fx-background: lightblue;");
         ctx.setFill ( Color.RED );
         ctx.fillText ( "JAVAFX - REMOVENDO INTEIROS EM ARRAY", 160, 50 );
         Arr_1 = new int [ ] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
         Arr_2 = new int [ ] { 1, 3, 6, 9 };
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Abaixo o array original", 160, 80 );
         ctx.setFill ( Color.RED );
         for ( int i = 0; i < Arr_1.length; i++ ) {
              Arr.append ( " " + Arr_1 [ i ] + " " );
         }
         ctx.fillText ( " " + Arr, 160, 110 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Array com alguns elementos removidos", 160, 140 );
         for ( int i = 0; i < Arr_2.length; i++ )
              Delete ( Arr_2 [ i ] );
         Arr = new StringBuilder ( );
         for ( int i = 0; i < Arr_1.length; i++ ) {
              Arr.append ( " " + Arr_1 [ i ] + " " );
         }
         ctx.setFill ( Color.RED );
         ctx.fillText ( " " + Arr, 160, 170 );
         Informe ( );
         Fechar ( );
         ro_ot.getChildren ( ).addAll ( canvas, btn_1 );
         stage.setScene ( sce_ne );
         stage.show ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void main ( String [ ] args ) {
         Application.launch ( args );
     }
}
  

//Outro exemplo abaixo:


import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
////////////////////////////////////////////////////////////////////////////////
public class PROJETO extends Application {
     static StringBuilder Arr = new StringBuilder ( );
     private static char [ ] Arr_1;
     private static char [ ] Arr_2;
     static Canvas canvas = new Canvas ( 620, 350 );
     static GraphicsContext ctx = canvas.getGraphicsContext2D ( );
     static Pane ro_ot = new Pane ( );
     static Scene sce_ne = new Scene ( ro_ot, 620, 350 );
     static Button btn_1 = new Button ( "FECHAR" );
////////////////////////////////////////////////////////////////////////////
     public static void Informe ( ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "Por: ", 250, 275 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Samuel Lima", 280, 275 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "sa_sp10@hotmail.com", 250, 290 );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static Node Fechar ( ) {
         btn_1.setPrefWidth ( 100 );// Largura do botão
         btn_1.setLayoutX ( 267 );// Posição do botão coluna
         btn_1.setPrefHeight ( 20 );// altura do botão
         btn_1.setLayoutY ( 300 );// //Posição do botão linha
         btn_1.setStyle ( "-fx-padding: 1;" + "-fx-border-style: solid inside;"
                   + "-fx-border-width: 2;" + "-fx-border-insets: 1;"
                   + "-fx-border-radius: 1;" + "-fx-border-color: blue;"
                   + "-fx-font-style: italic;" + "-fx-font-family: Consolas;" );
         btn_1.setOnKeyPressed ( e -> {
              if ( e.getCode ( ) == KeyCode.ENTER ) {
                   System.exit ( 0 );
              }
         } );
         return btn_1;
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void Delete ( int a ) {
         char [ ] Arr_temp = new char [ Arr_1.length - 1 ];
         int indice = 0;
         for ( int i = 0; i < Arr_1.length; i++ ) {
              if ( Arr_1 [ i ] != a ) {
                   Arr_temp [ indice ] = Arr_1 [ i ];
                   indice++;
              }
         }
         Arr_1 = Arr_temp;
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - REMOVENDO INTEIROS EM ARRAY DE CHAR" );
         // Criando moldura e dando efeitos
        ro_ot.setStyle ( "-fx-padding: 5;" + "-fx-border-style: solid inside;"
                + "-fx-border-width: 15;" + "-fx-border-insets: 5;"
                + "-fx-border-radius: 5;" + "-fx-border-color: black;"
                + "-fx-background: lightblue;");
         ctx.setFill ( Color.RED );
         ctx.fillText ( "JAVAFX - REMOVENDO INTEIROS EM ARRAY DE CHAR", 120, 50 );
         Arr_1 = new char [ ] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' };
         Arr_2 = new char [ ] { '1', '3', '6', '9' };
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Abaixo o array original", 160, 80 );
         ctx.setFill ( Color.RED );
         for ( int i = 0; i < Arr_1.length; i++ ) {
              Arr.append ( " " + Arr_1 [ i ] + " " );
         }
         ctx.fillText ( " " + Arr, 160, 110 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Array com alguns elementos removidos", 160, 140 );
         for ( int i = 0; i < Arr_2.length; i++ )
              Delete ( Arr_2 [ i ] );
         Arr = new StringBuilder ( );
         for ( int i = 0; i < Arr_1.length; i++ ) {
              Arr.append ( " " + Arr_1 [ i ] + " " );
         }
         ctx.setFill ( Color.RED );
         ctx.fillText ( " " + Arr, 160, 170 );
         Informe ( );
         Fechar ( );
         ro_ot.getChildren ( ).addAll ( canvas, btn_1 );
         stage.setScene ( sce_ne );
         stage.show ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void main ( String [ ] args ) {
         Application.launch ( args );
     }
}
 

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.