miércoles, 5 de diciembre de 2018
Como redondear redondeo de un numero en java.- Código
//Inicia JavaAdal_Redondeo.java
package paquetedelproyecto;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
import java.util.Scanner;
/**
* @author Adalberto Monar
*/
public class JavaAdal_Redondeo {
public static double redondear_i(double p_value_i, int p_places_i) {
if (p_places_i < 0) throw new IllegalArgumentException();
BigDecimal bd_i = new BigDecimal(p_value_i);
String[] parts_i = bd_i.toString().split("\\.");
BigDecimal pe_i = new BigDecimal(parts_i[0]);
BigDecimal pd_i;
pd_i = bd_i.subtract(pe_i);
int ceros_i = (int) Math.pow(10,p_places_i+5);
BigDecimal BD_ceros_i = new BigDecimal(ceros_i);
pd_i = pd_i.multiply(BD_ceros_i);
//System.out.println(pd_i);
pd_i = pd_i.setScale(0, RoundingMode.HALF_UP);
int pote10_i;
pote10_i = (int)Math.pow(10,5);
BigDecimal diez_i = new BigDecimal(pote10_i);
pd_i = pd_i.divide(diez_i);
//System.out.println(pd_i);
pd_i = pd_i.setScale(0, RoundingMode.HALF_UP);
BD_ceros_i = BD_ceros_i.divide(diez_i);
pd_i = pd_i.divide(BD_ceros_i);
BigDecimal new_bd_i;
new_bd_i = pe_i.add(pd_i);
return new_bd_i.doubleValue();
}
public static void redondeo_main(String[] args) {
// TODO code application logic here
Double ingvalor = 0.00;
Double redondeo = 0.00;
Scanner leer = new Scanner (System.in);
leer.useLocale(Locale.US);
System.out.println("Redondeo");
System.out.print("Ingrese Valor Double: ");
while (!leer.hasNextDouble()) {
System.out.println("Un número Double con . !Por favor!");
System.out.print("Ingrese Valor Double: ");
leer.nextLine();
}
ingvalor = leer.nextDouble();
System.out.println("");
DecimalFormatSymbols simbolos = DecimalFormatSymbols.getInstance(Locale.US);
DecimalFormat dF1d = new DecimalFormat("0.0",simbolos);
redondeo = redondear_i(ingvalor,1);
System.out.println("A 1 decimal : " + dF1d.format(redondeo));
DecimalFormat dF2d = new DecimalFormat("0.00",simbolos);
redondeo = redondear_i(ingvalor,2);
System.out.println("A 2 decimales : " + dF2d.format(redondeo));
DecimalFormat dF3d = new DecimalFormat("0.000",simbolos);
redondeo = redondear_i(ingvalor,3);
System.out.println("A 3 decimales : " + dF3d.format(redondeo));
}
}
//Finaliza JavaAdal_Redondeo.java
/* Archivo Fuente java con el método main(String[] args)
En SuPublicClassPrincipal.java incluir dentro de sus sentencias
import static paquetedelproyecto.JavaAdal_Redondeo.redondeo_main;
public class SuPublicClassPrincipal {
public static void main(String[] args) {
//Llama al método
redondeo_main(new String[0]);
}
}
*/
lunes, 21 de octubre de 2013
Como hacer un cronometro en java o Como hacer un reloj en java.- Código
Pantalla
//Inicio Cronometro_Reloj.java
package paquetedelproyecto;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.util.Calendar;
public class Cronometro_Reloj extends JFrame {
JLabel tiempo;
public static String h0, m0, s0;
public Cronometro_Reloj() {
setTitle("Cronómetro Reloj");
setSize( 260, 104);
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setLayout( new BorderLayout() );
//Etiqueta donde se colocara el tiempo
tiempo = new JLabel( h0+":"+m0+":"+s0 );
tiempo.setFont( new Font( Font.SERIF, Font.BOLD, 50 ) );
tiempo.setHorizontalAlignment( JLabel.CENTER );
tiempo.setForeground( Color.BLUE );
tiempo.setBackground( Color.WHITE );
tiempo.setOpaque( true );
add( tiempo, BorderLayout.NORTH );
setVisible( true );
Integer horas, minutos, segundos;
horas = Integer.parseInt(h0);
minutos = Integer.parseInt(m0);
segundos = Integer.parseInt(s0);
String hor=h0, min=m0, seg;
long t1, t2;
String st1, st2;
Calendar ahora1 = Calendar.getInstance();
t1 = ahora1.getTimeInMillis();
st1 = Long.toString(t1);
try {
//Mientras cronometroActivo sea verdadero entonces seguira
//aumentando el tiempo
while( true ) {
//La siguiente linea es para hacer un wait ayuda
//para la precisión del siguiente proceso.- demorar un segundo
Thread.sleep( 500 );
//Esto es lo que provoca la demorada del segundo exacto
Calendar ahora2 = Calendar.getInstance();
t2 = ahora2.getTimeInMillis();
st2 = Long.toString(t2);
if (st2.charAt(st2.length()-4)!=st1.charAt(st1.length()-4)) {
segundos += 1;
Calendar ahora3 = Calendar.getInstance();
t1 = ahora3.getTimeInMillis();
st1 = Long.toString(t1);
}
//fin de lo que provoca la demorada del segundo exacto
if ( segundos == 60 ) {
segundos=0;
minutos += 1;
}
if( minutos == 60 ) {
minutos = 0;
horas++;
}
//Los siguientes if's es para colocar el cero
//a los numeros menores a 9
if( horas < 10 ) hor = "0" + horas;
else hor = horas.toString();
if( minutos < 10 ) min = "0" + minutos;
else min = minutos.toString();
if( segundos < 10 ) seg = "0" + segundos;
else seg = segundos.toString();
tiempo.setText( hor + ":" + min + ":" + seg );
}
}catch(Exception e){}
}
//procedure principal
public static void reloj_main(String[] args)
{
h0="00";
m0="00";
s0="00";
//Lo siguiente agarrar en ejecución MS-DOS
//parámetros definidos separados por espacios
if (args.length > 0) {
h0 = args[0];
m0 = args[1];
s0 = args[2];
}
//
//Run Cronometro_Reloj()
new Cronometro_Reloj();
}
//
}//Fin Cronometro_Reloj.java
/* Archivo Fuente java con el método main(String[] args)
En SuPublicClassPrincipal.java incluir dentro de sus sentencias
import static paquetedelproyecto.Cronometro_Reloj.reloj_main;
public class SuPublicClassPrincipal {
public static void main(String[] args) {
//Llama al método
reloj_main(new String[0]);
}
}
*/
package paquetedelproyecto;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.util.Calendar;
public class Cronometro_Reloj extends JFrame {
JLabel tiempo;
public static String h0, m0, s0;
public Cronometro_Reloj() {
setTitle("Cronómetro Reloj");
setSize( 260, 104);
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setLayout( new BorderLayout() );
//Etiqueta donde se colocara el tiempo
tiempo = new JLabel( h0+":"+m0+":"+s0 );
tiempo.setFont( new Font( Font.SERIF, Font.BOLD, 50 ) );
tiempo.setHorizontalAlignment( JLabel.CENTER );
tiempo.setForeground( Color.BLUE );
tiempo.setBackground( Color.WHITE );
tiempo.setOpaque( true );
add( tiempo, BorderLayout.NORTH );
setVisible( true );
Integer horas, minutos, segundos;
horas = Integer.parseInt(h0);
minutos = Integer.parseInt(m0);
segundos = Integer.parseInt(s0);
String hor=h0, min=m0, seg;
long t1, t2;
String st1, st2;
Calendar ahora1 = Calendar.getInstance();
t1 = ahora1.getTimeInMillis();
st1 = Long.toString(t1);
try {
//Mientras cronometroActivo sea verdadero entonces seguira
//aumentando el tiempo
while( true ) {
//La siguiente linea es para hacer un wait ayuda
//para la precisión del siguiente proceso.- demorar un segundo
Thread.sleep( 500 );
//Esto es lo que provoca la demorada del segundo exacto
Calendar ahora2 = Calendar.getInstance();
t2 = ahora2.getTimeInMillis();
st2 = Long.toString(t2);
if (st2.charAt(st2.length()-4)!=st1.charAt(st1.length()-4)) {
segundos += 1;
Calendar ahora3 = Calendar.getInstance();
t1 = ahora3.getTimeInMillis();
st1 = Long.toString(t1);
}
//fin de lo que provoca la demorada del segundo exacto
if ( segundos == 60 ) {
segundos=0;
minutos += 1;
}
if( minutos == 60 ) {
minutos = 0;
horas++;
}
//Los siguientes if's es para colocar el cero
//a los numeros menores a 9
if( horas < 10 ) hor = "0" + horas;
else hor = horas.toString();
if( minutos < 10 ) min = "0" + minutos;
else min = minutos.toString();
if( segundos < 10 ) seg = "0" + segundos;
else seg = segundos.toString();
tiempo.setText( hor + ":" + min + ":" + seg );
}
}catch(Exception e){}
}
//procedure principal
public static void reloj_main(String[] args)
{
h0="00";
m0="00";
s0="00";
//Lo siguiente agarrar en ejecución MS-DOS
//parámetros definidos separados por espacios
if (args.length > 0) {
h0 = args[0];
m0 = args[1];
s0 = args[2];
}
//
//Run Cronometro_Reloj()
new Cronometro_Reloj();
}
//
}//Fin Cronometro_Reloj.java
/* Archivo Fuente java con el método main(String[] args)
En SuPublicClassPrincipal.java incluir dentro de sus sentencias
import static paquetedelproyecto.Cronometro_Reloj.reloj_main;
public class SuPublicClassPrincipal {
public static void main(String[] args) {
//Llama al método
reloj_main(new String[0]);
}
}
*/
Suscribirse a:
Entradas (Atom)