Mostrando postagens com marcador Number. Mostrar todas as postagens
Mostrando postagens com marcador Number. Mostrar todas as postagens

sexta-feira, 18 de janeiro de 2019

Gerar numero alétório em java


Uma maneria bem simples de gera números aleatórios em java utilizar a classe java.util.Random. Abaixo vamos ver alguns exemplos.


Gerando número inteiros

Sintaxe:

Random random = new Random();
random.nextInt(max_num)


 Onde:
  • max_num - Número maximo que podera ser gerado. (Ex: 40 seria de 0 a 40 os números gerados)

Com  random .nextInt(max_num) será gerado um número entre zero e o max_num.

Exemplo:

import java.util.Random;

public class Teste {

    public static void main(String args[]) {

        Random rd = new Random();

        for (int i = 0; i < 10; i++) {
            System.out.println("" + rd.nextInt(40));
        }
    }

}


Saída:

25
17
9
25
13
6
27
11
23
25



sábado, 26 de janeiro de 2013

Como gerar números aleatórios em java

Introdução

O principal objetivo deste artigo é explicar de maneira simples e rápida como se gera um simples número inteiro em programa Java.

Para gera um número aleatório de maneira simples e rápido basta utilizar a Classe java.util.Random.


Sintaxe:

        Random random  = new Random();
    random.nextInt(NUMERO);

Onde:

NUMERO - Limite de a ser utilizado.

Abaixo é possível ver um exemplo de como obter um número inteiro entre 0 e 30.

import java.util.Random;

public class Gerador {

    public static void main(String args[])
    {
        Random radom  = new Random();
        int numeroTmp = 0;
        for(int i=0;i;i++){                          numeroTmp=radom.nextInt(30);
            System.out.println(">"+numeroTmp);
        }
        }
}


Neste exemplo foi utilizado o número máximo 30 como é possível ver na linha abaixo:

          numeroTmp=radom.nextInt(30);


Abaixo é possível ver o saida do console:

>9
>29
>5
>13
>6
>3
>29
>17
>2
>9

 

quarta-feira, 16 de maio de 2012

Manipulando BigDecimal

Introdução


Um problema que encontrei quando comecei a utilizar BigDecimal foi exatamente o fato de conseguir manipular
os números quando utiliza essa tipagem.
Abaixo explico de maneira simples como manipular valores em BigDecimal. Vale salientar que x e y são valores do tipo BigDecimal.

Arredondamento de casas decimais


Para realizar o arredondamento utilizaremos o método x.setScale(int,int). Onde o primeiro parametro é
a quantidade de casas decimais e a segunda o tipo de arrendamento.







Código utilizado:

package com.blogspot.maguscode;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class TesteBigDecimal {

   
    public static void main(String args[])
    {
        BigDecimal numero = new BigDecimal(20.005);
        //Especificar arredondamento de casas decimais
        System.out.println("Visualização do número(20.005) arredondado(duas casas decimais):");
   
        //Só será arrendodado para o número maior se  a difernça for maior que 0.5
        System.out.println("(Arredondamento para baixo): "+numero.setScale(2,RoundingMode.DOWN));
       
        //Só será arrendodado para o número maior se  a diferença for maior ou igual a 0.5
        System.out.println("(Arredondamento para cima): "+numero.setScale(2,RoundingMode.UP));
       
       
    }
   
   
}




No primeiro caso o número é arredondado para cima ou seja o número 20.005 passa a ser 20.01.
No segundo caso o número é arredondado para baixo ou seja o número 20.005 passa a ser 20.00.


Operações de comparação


Para fazer operações de comparação não é possível usar (>,<,==) como no caso dos números primitivos (int,double,float,long) é necessário utilizar a anotação x.compareTo(y).
Por padrão o retorno desta função será:

-1 - para x menor que y.
0 - para x igual a y.
1 - para x maior que y.

Abaixo é possível visualizar alguns exemplos:



Código utilizado:

package com.blogspot.maguscode;

import java.math.BigDecimal;

public class TesteBigDecimal {

   
    public static void main(String args[])
    {
        BigDecimal numero = new BigDecimal(20.005);
        int valorRetorno;
       
       
        //Repostas x.compareTo(y):
        //1  x maior que y
        //0  x igual a y
        //-1 x menor que y
       
        System.out.println("\n\n");       
        System.out.println("Comparações");
       
        valorRetorno = numero.compareTo(new BigDecimal(20.001));
        System.out.println("Caso 1 (MaiorQue): " + valorRetorno);

        valorRetorno = numero.compareTo(new BigDecimal(20.006));
        System.out.println("Caso 1 (MenorQue): " + valorRetorno);
       
        valorRetorno = numero.compareTo(numero);
        System.out.println("Caso 1 (Igual):" + valorRetorno);
       
       
    }
   
   
}








 

Operação matemáticas simples.


Quando se utiliza números do tipo BigDecimal não é possível realizar operações basicas entre ele como se fossem números primitivos, para resolver tal problema é necessário utilizar:

x.substrac(y) equivale a x-y.
x.add(y) equivale a x+y.
x.div(y) equivale a x/y.
x.mult(y) equivale a x*y.


Código utilizado:

package com.blogspot.maguscode;

import java.math.BigDecimal;

public class TesteBigDecimal {

   
    public static void main(String args[])
    {
       
        System.out.println("Operações básicas:");
        BigDecimal numeroParaOperacoes= new BigDecimal(20);
       
        //Operação de soma x.add(y)
        System.out.println("Soma: "+ numeroParaOperacoes.add(BigDecimal.TEN));

        //Operação de soma x.substract(y)
        System.out.println("Subtração: "+numeroParaOperacoes.subtract(BigDecimal.TEN));
       
        //Operacao de divisao x.divide(y)
        System.out.println("Divisão: "+numeroParaOperacoes.divide(BigDecimal.TEN));
       
        //Opeação de multiplicação x
        System.out.println("Multiplicao: "+numeroParaOperacoes.multiply(BigDecimal.TEN));
    }
   
   
}