domingo, 13 de maio de 2018

Javafx - comparando arrays de inteiros

Quando queremos comparar objetos em java utilizamos
o método equals que pertence a classe object.
O método equals retornará true se os objetos forem iguais
ou false se forem diferentes. 
Neste exemplo, estamos comparando três arrays de inteiros,
mas vale lembrar que arrays só são considerados  iguais
se contiverem os mesmos elementos e na mesma ordem.

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



  
Veja abaixo o código do programa:


import java.util.Arrays;

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 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 Node But_ton_3 ( ) {
         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 Informe ( ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "Por: ", 200, 240 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Samuel Lima", 240, 240 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "sa_sp10@hotmail.com", 200, 260 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " MUITO OBRIGADO", 250, 290 );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void Arr ( ) {
         int i;
         int [ ] arr_1 = { 0, 1, 2, 3, 4, 5 };
         int [ ] arr_2 = { 0, 1, 2, 3, 4, 5 };
         int [ ] arr_3 = { 0, 1, 2, 3, 5, 4 };      
         StringBuilder buf = new StringBuilder ( );
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "Array de inteiro arr_1  => ", 180, 80 );
         ctx.setFill ( Color.RED );
         for ( i = 0; i < arr_1.length; i++ )
              buf.append ( arr_1 [ i ] + " ");
         ctx.fillText ( " " + buf , 350, 80 );
         buf = new StringBuilder ( );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "Array de inteiro arr_2  => ", 180, 110 );
         ctx.setFill ( Color.RED );
         for ( i = 0; i < arr_2.length; i++ )
              buf.append ( arr_2 [ i ] + " ");
         ctx.fillText ( " " + buf , 350, 110 );
         buf = new StringBuilder ( );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "Array de inteiro arr_3  => ", 180, 140 );
         ctx.setFill ( Color.RED );
         for ( i = 0; i < arr_3.length; i++ )
              buf.append ( arr_3 [ i ] + " ");
         ctx.fillText ( " " + buf , 350, 140 );      
         boolean blr = Arrays.equals ( arr_1, arr_2 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "Os arrays arr_1 e arr_2 são iguais?  => ", 180, 170 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " " + blr, 450, 170 );       
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "Os arrays arr_1 e arr_3 são iguais?  => ", 180, 200 );
         boolean blr_1 = Arrays.equals ( arr_1, arr_3 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " " + blr_1, 450, 200 );
         Informe ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - COMPARANDO ARRAYS DE INTEIROS" );
         //Criando moldura e dando efeitos
         ro_ot.setStyle ( "-fx-padding: 5;"
                        +"-fx-border-style: solid inside;"
                    + "-fx-border-width: 12;"
                          +"-fx-border-insets: 5;"
                          + "-fx-border-radius: 5;"
                        + "-fx-border-color: red;"
                        + "-fx-background: beige;");
         ctx.setFill ( Color.RED );
         ctx.fillText ( "JAVAFX - COMPARANDO ARRAYS DE INTEIROS", 150, 50 );
         Arr ( );
         But_ton_3 ( );
         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.