Na formação do conjunto dos números naturais,
existe um tipo de numeral que possui a propriedade
de ser divisível somente por um e por ele mesmo,
recebendo a denominação de número primo.
E para nós envolvidos e aficionados por
programação, sempre nos deparamos com
este exercício em lógica de programação.
Pra ser sincero, já nos primeiros estudos
de lógica de programação já aprendemos fazer isto,
note que com um laço for(),
um if(), e um operador o resto da divisão
(%), já são suficientes para isto,
mas como estamos usando janela gráfica em javafx,
tornou-se necessários outros códigos
para a impressão detalhada na tela.
Veja abaixo uma imagem do programa em execução:
Veja abixo o código do programa:
existe um tipo de numeral que possui a propriedade
de ser divisível somente por um e por ele mesmo,
recebendo a denominação de número primo.
E para nós envolvidos e aficionados por
programação, sempre nos deparamos com
este exercício em lógica de programação.
Pra ser sincero, já nos primeiros estudos
de lógica de programação já aprendemos fazer isto,
note que com um laço for(),
um if(), e um operador o resto da divisão
(%), já são suficientes para isto,
mas como estamos usando janela gráfica em javafx,
tornou-se necessários outros códigos
para a impressão detalhada na tela.
Veja abaixo uma imagem do programa em execução:
Veja abixo 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 {
public static int TAM = 100, prim = -1;
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" );
static Boolean x = false;
static Boolean y = false;
//
/////////////////////////////////////////////////////////////////////////
public static Node Sair ( ) {
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 Primos ( ) {
int i, j = 0;
StringBuilder str = new StringBuilder ( );
StringBuilder str1 = new StringBuilder ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Abaixo os números
primos", 240, 70 );
ctx.fillText (" e não primos
entre 0 e 100", 240, 90 );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 14 ) );
prim = 2;
for ( i = 0; i < TAM; i++ ) {
if ( i % 10 == 0 )
str.append ( "\n" );
str.append ( "\t" );
if ( i % 10 == 0 )
str1.append ( "\n" );
str1.append ( "\t" );
int ePrimo = 1;
for ( j = 2; j <= i / 2; j++ ) {
if ( i % j == 0 ) {
ePrimo = 0;
break;
}
}
if ( prim > 0 && i > 1 ) {
if ( ePrimo == 1 ) {
if ( i >= 0 && i <= 9 )
str1.append ( "0" );
str1.append ( i );
x = true;
}
}
if ( prim > 0 && i > 1 ) {
if ( ePrimo == 0 ) {
if ( i >= 0 && i <= 9 )
str.append ( "0" );
str.append ( i );
y = true;
}
}
}
if ( x == true ) {
ctx.setFill ( Color.RED );
ctx.fillText ( " " + str1, 140, 100 );
}
if ( y == true ) {
ctx.setFill ( Color.BLACK );
ctx.fillText ( " " + str, 140, 100 );
}
}
//
////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
stage.setTitle ( "JAVAFX - NÚMEROS
PRIMOS E NÃO PRIMOS" );
// Criando moldura e dando efeitos
ro_ot.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
18;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: red;" );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX - NÚMEROS
PRIMOS E NÃO PRIMOS", 160, 50 );
Primos ( );
Sair ( );
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.