Pesquisar valores dentro de um array é tarefa fácil
para os amantes de java, a linguagem oferece diversos
tipos de arrays que são usados em casos específicos,
neste aqui, o array foi preenchido por um contador,
e imprimido numa janela gráfica em javafx, onde toda
interação com o usuário é feita por caixa de diálogo.
A pesquisa é feita através do método Arrays.binarySearch (int [] a, int),
e algumas conversões de tipos foram feitas num procedimento
obrigatório para a impressão nas caixas.
Veja abaixo algumas imagens do programa em execução:
para os amantes de java, a linguagem oferece diversos
tipos de arrays que são usados em casos específicos,
neste aqui, o array foi preenchido por um contador,
e imprimido numa janela gráfica em javafx, onde toda
interação com o usuário é feita por caixa de diálogo.
A pesquisa é feita através do método Arrays.binarySearch (int [] a, int),
e algumas conversões de tipos foram feitas num procedimento
obrigatório para a impressão nas caixas.
Veja abaixo algumas imagens do programa em execução:
Veja abaixo o código do programa:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TextInputDialog;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
import java.util.Arrays;
public class PROJETO extends Application {
String str = "";
String str_2;
int i, n = 100, a = 0;
int vet[] = new int [ n ];
@Override
public void start ( Stage primaryStage ) {
Canvas canvas = new Canvas ( 690, 500 );
GraphicsContext ctx = canvas.getGraphicsContext2D ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "ARRAY:
IMPRIMIR E PESQUISAR", 220, 80 );
ctx.setLineWidth ( 22.0 );
ctx.setStroke ( Color.BLUE );
ctx.strokeRect ( 10, 35, 640, 420 );
BorderPane root = new BorderPane ( );
root.getChildren ( ).add ( canvas );
Scene scene = new Scene ( root, 660, 465 );
primaryStage.setScene ( scene );
primaryStage.setTitle ( "ARRAY:
IMPRIMIR E PESQUISAR" );
///////////////////////////////////////////////////////////////////////
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "IMPRIMINDO O
ARRAY", 250, 110 );
for ( i = 1; i <= n; i++ ) {
vet [ a ] = i;
a++;
}
for ( i = 0; i < n; i++ ) {
if ( i == 20 )
str += ( "\n" );
if ( i == 40 )
str += ( "\n" );
if ( i == 60 )
str += ( "\n" );
if ( i == 80 )
str += ( "\n" );
str += ( " " );
str = str + vet [ i ];
System.out.printf ( " " );
}
ctx.setFill ( Color.BLACK );
ctx.fillText ( str, 70, 140 );
//////////////////////////////////////////////////////////////////////
MenuBar m_nu_1 = new MenuBar ( );
Menu m_nu = new Menu ( "Arq" );
MenuItem exd = new MenuItem ( "Sair" );
MenuItem te_d = new MenuItem ( "Pesquisar" );
m_nu.getItems ( ).addAll ( te_d, exd );
///////////////////////////////////////////////////
m_nu_1.getMenus ( ).add ( m_nu );
root.setTop ( m_nu_1 );
//////////////////////////////////////////////////////////////////////
exd.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
primaryStage.close ( );
}
} );
//////////////////////////////////////////////////////////////////////
te_d.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.BLUE );
TextInputDialog dialogoNome = new TextInputDialog ( );
dialogoNome.setTitle ( "Inserir número" );
dialogoNome.setHeaderText ( "Entre com um
número " );
dialogoNome.setContentText ( "Número:
" );
dialogoNome.showAndWait ( ).ifPresent ( v -> str_2 = v );
Alert alert = new Alert ( AlertType.INFORMATION );
alert.setTitle ( "Atenção" );
alert.setHeaderText ( null );
int r = Integer.parseInt ( str_2 );//
convertendo string para
// int
int index = Arrays.binarySearch ( vet, r );
if ( index == -1 || index == -101 ) {
alert.setContentText ( "\nO número
" + str_2
+ " não foi
encontrado no array" );
alert.showAndWait ( );
return;
} else {
String st = Integer.toString ( index );//
convertendo int
// para string
alert.setContentText ( "\nO número
" + str_2
+ " foi
encontrado\n na posição " + st
+ " do array
" );
alert.showAndWait ( );
}
}
} );
////////////////////////////////////////////////////////////////////////
exd.setAccelerator ( new KeyCodeCombination ( KeyCode.E,
KeyCombination.CONTROL_DOWN ) );
te_d.setAccelerator ( new KeyCodeCombination ( KeyCode.C,
KeyCombination.CONTROL_DOWN ) );
primaryStage.show ( );
}
public static void main ( String [ ] args ) {
launch ( args );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.