elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 43
11  Programación / Java / Re: [CURSO] Programación en Java en: 25 Mayo 2017, 00:11
Operadores Aritméticos

Las variables aritméticas como int o double no serían especialmente útiles si no se pudiera operar con ellas. Al utilizar la palabra operar me refiero a poder realizar sumas, restas, divisiones, multiplicaciones, etc.
Para operar variables aritméticamente se dispone de los siguientes operadores:

OperadorDescripción
+Suma
-Resta
*Multiplicación
/División
%Módulo
++Incremento
--Decremento
%Módulo

Un ejemplo de su uso seria el siguiente:

Código
  1. int numero = 4+2;

El valor de “numero” si lo imprimiéramos seria el siguiente:

Código:
6

En muchas situaciones tenemos que operar con dos variables ya inicializadas:

Código
  1. int numero1 = 5;
  2. int numero2 = 3;
  3. int numero3 = numero1-numero2;

De esta forma el valor de numero3 es el siguiente:

Código:
2

Como puedes ver todo es bastante intuitivo.

Ahora también existen los incrementos (sumar 1) y decrementos (restar 1) los cuales utilizas de la siguiente manera:

Código
  1. int numero = 12;
  2. numero++;
  3. System.out.println(numero);

El resultante sería el siguiente:

Código:
13

Ahora, también lo podrías hacer de la siguiente forma:

Código
  1. int numero = 12;
  2. ++numero;
  3. System.out.println(numero);

Y el resultado sería exactamente el mismo:

Código:
13

La diferencia radica en el momento en que se realiza la suma, si los ++ o – están antes entonces la suma o resta se realiza antes y si están después, entonces se realizan después. Seguramente te preguntes ¿Antes o después de qué?

Mira los siguientes dos ejemplos:

Ejemplo 1 (Antes)Ejemplo 2 (Después)
Código
  1. int a = 5;
  2. int b = ++a;
  3. System.out.println(a);
  4. System.out.println(b);
Código
  1. int a = 5;
  2. int b = a++;
  3. System.out.println(a);
  4. System.out.println(b);
Resultado:
Código:
6
6
Resultado:
Código:
6
5

En ambos casos “a” aumento su valor en uno, pero la diferencia radica en “b”.

En el primer ejemplo cuando nosotros le decimos a Java que asigne a “b” el aumento de “a” y en el segundo ejemplo le decimos que asigne a “b” el valor de “a” y luego aumente “a”. Ósea, en el primer ejemplo se hace el aumento y luego se asigna y en el segundo ejemplo se asigna y después de aumenta.

Operadores de Asignación Aritméticas

También existen operadores de asignación aritmética:

OperadorDescripción
+=Suma y Asignación
-=Resta y Asignación
*=Multiplicación y Asignación
/=División y Asignación
%=Módulo y Asignación

Básicamente los operadores de asignación aritmética existen para ahorrarnos trabajo, un ejemplo de esto es la siguiente comparación.

Ejemplo 1 (sin asignación aritmética)Ejemplo 2 (con asignación aritmética)
Código
  1. double a = 5.4;
  2. a = a + 1.6;
  3. System.out.println(a);
Código
  1. double a = 5.4;
  2. a += 1.6;
  3. System.out.println(a);
Resultado:
Código:
7.0
   
Resultado:
Código:
7.0

En ambos casos estamos aumentando el valor de la variable a en 1.6 pero en el segundo caso nos ahorramos el escribir nuevamente “a”.

Precedencia

La precedencia es idéntica a la precedencia matemática, por lo que si quieres que una suma se realice antes de una multiplicación puedes utilizar el paréntesis.

Código
  1. int numero = 5*(2+5);

No hablare más de este tema ya que es matemática básica, y he de suponer que la manejas antes de saber programar.

Esto es todo por ahora, te espero en el siguiente tutorial en donde hablaremos un poco de la concatenación.

RECURSOS ASOCIADOS A ESTE TUTORIAL:
  • Video Tutorial – Operadores Matemáticos
  • Tutorial descargable .DOCX

RECURSOS COMPLEMENTARIOS:
No existen recursos complementarios para este artículo.
12  Programación / Java / Re: Contenedores anidados. (Arraylist) en: 24 Mayo 2017, 06:59
Ya, lo entiendo. Es un anidado "no directo". De igual forma no estábamos tan desviados.

Supongo que ya tienes solución a tu problema, así que no comentare mas al respecto. Pero ten ojo con la forma que escribes tu código.

Pasate por aquí: https://foro.elhacker.net/java/aporte_buenas_practicas_y_convenciones_en_java_parte_uno_convenciones-t428844.0.html

Acá detallo las convenciones de Java, que aunque parece una estupidez... con solo este pequeño cambio, tu código parecerá mucho mas profesional.

Saludos, y suerte con tu código!
13  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Es vergonzoso que todos los threads que abro los cerréis ... en: 23 Mayo 2017, 23:16
u.u, quería comentar antes pero estaba apurado saliendo a una reunión, así que lo hago ahora (aun después de la conclusión).

Opino igual que algunos: El foro libre esta "fuera de control", me parece raro que se hable tanto en el foro libre y tan poco en los foros "técnicos". Pero ni modo, hasta a mi me gusta comentar en estos foros.

El problema es que las reglas generales del foro aplican a todos los sub-foros, y por alguna razón este foro siempre se va del tema central, y normalmente pasa porque alguien no opina lo mismo que otra persona.

Y en ese ultimo punto @Constance resalta. Y creo que por eso normalmente cierran los temas en los que participan (aunque claro, estoy sacando una conclusión en base a tus argumentos, no en base a datos reales).

Ahora... es justo?.

Ya vi en un tema que le echaron la culpa a @Constance por desviar el asunto, pero fue totalmente injusto. Recuerdo que @Constance había dicho en cada comentario "dejemos de hablar de esto para no desviar el tema" pero yo como muchos otros le seguimos contra-argumentando y al final el creador del tema pidió que lo cerraran indicando que la culpa era de @Constance por desviar el tema... cuando realmente fuimos todos y la primera que se preocupo de no desviarlo fue ella...

Sobre que un moderador realmente le agarrara manía... lo dudo. Los moderadores no son escogidos tan a la ligera. Seguro alguno se pondra mas alerta que otro, pero cerrar un tema por cerrarlo... no.
14  Seguridad Informática / Seguridad / Re: ejecución de código al abrir un archivo de Word? en: 21 Mayo 2017, 10:23
1. Verificaste que en el video el word resultante siguiera siendo del mismo formato? Existe una técnica para juntar dos archivos en un .exe y luego se ejecutan los dos a la vez (un word y un malware).

2. En caso de que si fuera un formato .doc o .docx, es posible que sea un ataque mediante las macros. Lo he hecho en ppts pero creo que word, excel y otros también puede hacerlo. Eso si tienes que tener las macros activadas.

Fuera de eso, no se que otras formas hay.
15  Programación / Java / Re: Java Dibujar Engrane en: 21 Mayo 2017, 10:15
Si en numero de dientes es ilimitado y necesitas hacer tu todo el calculo para realizar los dibujos tendras que pintar todo desde 0.

Para eso puedes utilizar canvas o JPanel, haciendo un override de paintComponent.

Aca hay un tutorial sobre como hacer un videojuego en Java, seguro que te ayudara porque ahi aparece lo básico para controlar graficos 2d que es lo que necesitas.

https://foro.elhacker.net/java/aporte_desarrollo_videojuego_java_muy_basico-t429336.0.html;msg1993685#msg1993685
16  Programación / Java / Re: Arrays JAVA PROBLEMA CON EL 0 en: 19 Mayo 2017, 07:18
Pon el resto del codigo, porque lo que pusiste funciona perfecto.

Código
  1. String[] num = new String [10] ;
  2.        num[0]= "Cero";
  3.        num[1]  = "Uno";
  4.        num[2] = "Dos";
  5.        num[3] = "Tres";
  6.        num[4] = "Cuatro";
  7.        num[5] = "Cinco";
  8.        num[6] = "Seis";
  9.        num[7] = "Siete";
  10.        num[8] = "Ocho";
  11.        num[9] = "Nueve";
  12.        for (String s :  num) System.out.println(s);
  13.  
17  Programación / Java / Re: [CURSO] Programación en Java en: 19 Mayo 2017, 01:10
Variables y Constantes

En la informática existen dos conceptos muy importantes, son las variables y las constantes. A continuación, abordaremos ambos términos.


Variables

Las variables son espacios de memoria reservados en la RAM utilizados para guardar valores de distinta índole con los cuales se puede operar o directamente modificar. En palabras más simples, las variables son casillas de memoria en las cuales ingresamos un valor, por ejemplo, un número.

En Java cada variable se compone de tres partes, un tipo, un identificador y un valor (aunque dicho valor puede ser nulo).



1.   El tipo es el que nos permite saber si una variable es numérica, una palabra u otra cosa. (Existen lenguajes que no requieren definir el tipo de una variable ya que los detectan automáticamente, sin embargo, en Java esto no es así).
2.   El identificador o nombre de la variable es necesario para que podamos referirnos a ella posterior a su creación.
3.   El valor es cualquier tipo de… valor que queramos guardar en nuestra variable.

(No mencionare nada respecto a los punteros ya que Java, si bien los posee, no permite el uso explícito de punteros en el código.)

Tipos de Variables

Podríamos dividir las variables en dos partes:
1.   Primitivas: Entidades elementales como lo es un numero o carácter.
2.   Objetos: Entidades complejas como una palabra (un conjunto de caracteres).

VARIABLES PRIMITIVAS
Las variables primitivas a su vez pueden ser catalogadas en cuatro:

  • Enteras (Almacena números enteros): byte, short, int y long
  • Coma flotante (Almacena números decimales): float y double
  • Caracteres (Almacena un carácter): char
  • Lógicas (Almacena un valor “verdadero” o “falso”): boolean

A continuación, abordaremos cada tipo:

Enteros

Existen cuatro variables enteras que se diferencian en el tamaño de valores que pueden almacenar. ¿Recuerdas que te mencione que las variables son espacios de memoria? Pues, vale. Ahora resulta evidente que no es lo mismo guardar un “1” a guardar un “999999999”, esto sucede porque los espacios de memorias que utiliza una variable se miden en “bytes”.

Si quieres saber más sobre espacios de memorias ingresa al Curso de Fundamentos de Ingeniería en Informática (Aun no disponible).

La siguiente tabla especifica la cantidad de bytes y que utiliza cada variable:

TIPOUSO DE MEMORIARANGO DE VALORES
byte1 byte-128 a 127
short2 bytes-32768 a 32767
int4 bytes-2147483648 a 2147483647
long8 bytes-9223372036854775808 a 9223372036854775807

Por defecto Java maneja todos los números en int, por tanto, si utilizas un numero sin declararlo como variable este será int. (luego hablaremos un poco más de esto).

Otro tema es que para inicializar una variable long es necesario utilizar la letra L al final del número, por ejemplo:
Código
  1. long numeroMuyGrande = 36854775808L;

Decimales

Existen dos tipos de números decimales y se aplica la misma regla que en los números enteros (uno requiere de menos memoria que otro). Sin embargo, esto más que asociado al rango de valores está más asociado a la precisión del decimal (menos o más decimales).

TIPOUSO DE MEMORIARANGO DE VALORES
float4 byte+-3.4x10-38 a +-3.4x1038
double8 bytes+-1.8x10-308 a +-1.8x10308

Java por defecto utiliza double para todos los números con coma flotante.

Al igual que pasa con long para declarar una variable float es necesario hacer uso de una letra, en este caso la F
Código
  1. float numeroDeComaFlotante = 1.5F;

Caracteres

Un carácter utiliza 2 bytes y para definir un valor es necesario utilizar comillas simples '

Código
  1. char caracter = 'B';

También puedes declarar un carácter a partir de su número en el código ASCII, por ejemplo, el carácter arroba "@" es igual a 64. Para estos casos no se ha de utilizar una comilla simple.
Ejemplo:

Código
  1. char caracter1 = '@';
  2. char caracter2 = 64;

Tanto caracter1 como carácter2 tienen el mismo valor y no se diferencian en absolutamente nada.

Verdadero o Falso

Las variables de verdadero o falso son conocidas como booleanas. Es prácticamente un 0 o un 1 (falso o verdadero). El espacio en memoria que utiliza una variable booleana es 1 bit (no un byte) y los valores que admiten son “true” o “false” sin comillas.

Código
  1. boolean verdadero = true;
  2. boolean falso = false;

VARIABLES OBJETO

Las variables objeto son instancias de una clase, en este tutorial solo abordaremos una clase (aunque existen muchas más y además tu puedes crear más).

La clase que abordaremos se llama Stirng y aunque no lo creas ya la haz utilizado. ¿Recuerdas?
Código
  1. System.out.println("Este es un mensaje");
  2.  
System.out.println(); recibe como entrada un conjunto de caracteres, y justamente eso es lo que es un String… un conjunto de caracteres. Para declarar un String es necesario definir su valor entre comillas dobles "

Código
  1. String oracion = "esto es un String";

(Ojo, que la primera letra de “String” es en mayúscula. No es "string" sino que "String", esto es debido a las convenciones de Java)

Nombres de Variables

  • Todos los identificadores han de comenzar con una letra, el carácter guión bajo ( _ ) o el carácter dollar ( $ ).
  • Puede incluir, pero no comenzar por un número
  • No puede incluir el carácter espacio en blanco
  • Distingue entre letras mayúsculas y minúsculas
  • No se pueden utilizar las palabras reservadas como identificadores.

(Existen convenciones asociadas a los nombres de variables, las cuales no abordare por ahora, pero te recomiendo de sobremanera seguirlas: convenciones).

Declaración e Inicialización de Variables

Existen dos términos que tienes que dominar al utilizar variables:

  • Declaración: Es la forma en que le damos a conocer al ordenador que pretendemos crear una variable. Acá definimos el tipo y el nombre de la variable.
  • Inicialización: Es el momento en que le asignamos a una variable previamente declarada un valor.
  • Modificación: Es el momento en que modificas el valor de una variable previamente inicializada.

DECLARACIÓN

Para declarar una variable haces lo siguiente:

Código
  1. int nombre;

O puedes declarar muchas variables del mismo tipo a la vez:

Código
  1. int nombre1, nombre2, nombre3, nombre4;

No puedes declarar más de una variable con un mismo nombre (aun cuando no tengan el mismo tipo). Por Ejemplo, esto daría error:

Código
  1. int nombre;
  2. int nombre;

(Esta regla tiene sus excepciones ya que existe otra forma de clasificar a las variables. Por ahora quédate con que en un mismo bloque de código no puedes declarar dos variables con el mismo nombre)

INICIALIZACIÓN

Para inicializar una variable (o sea, darle valor):

Código
  1. nombre = 5;

(recuerda que para inicializar la variable “nombre” primero tienes que declararla)

También puedes declarar e instanciar una variable en la misma línea:

Código
  1. int nombre = 5;

O también puedes declarar e instanciar muchas variables a la vez (siempre que compartan el mismo tipo):

Código
  1. int nombre1 = 5, nombre2 = 2, nombre3 = 7;

También puedes asignar el valor de una variable con una variable previamente inicializada:
Código
  1. int nombre1 = 5;
  2. int nombre2 = nombre1;

MODIFICACIÓN

Las variables pueden modificar sus valores y se hace de la misma forma que cuando inicializamos las variables:

Código
  1. int nombre = 6;
  2. nombre = 5;

También lo puedes hacer con una variable inicializada anteriormente:

Código
  1. int nombre1;
  2. int nombre2 = 6;
  3. nombre1 = nombre2;


Constantes

Las funcionan igual que las variables, la única diferencia es que una vez inicializadas su valor no puede cambiar. Para indicarle a Java que tu variable es una constante solo tienes que agregar la palabra reservada “final” al inicio:

Código
  1. final int numero = 5;

Al realizar esto no podrás cambiar el valor de “numero” ya que lanzara error.

Esto es especialmente útil para aquellos valores que no han de cambiar en la ejecución del programa, por ejemplo, el valor de PI:

Código
  1. final float pi = 3.14F;


Impresión de Variables y Constantes

Puedes imprimir variables y constantes con System.out.println(); o System.out.print(); simplemente en vez de agregar el texto entre comillas agregas el nombre de la variable o constante que quieres imprimir. (Recuerda que para hacer esto es necesario haber inicializado la variable previamente)

Código
  1. int variable = 88;
  2. System.out.println(variable);

O por ejemplo:

Código
  1. String texto = "El valor de la variable numero es: ";
  2. int numero = 55;
  3. System.out.print(texto);
  4. System.out.println(numero);

(En tutoriales posteriores te enseñare a hacer esto mismo pero con un solo system.out.println() haciendo uso de la concatenación)



RECURSOS ASOCIADOS A ESTE TUTORIAL:
  • Video Tutorial – Proyectos en Java
  • Tutorial descargable .DOCX

RECURSOS COMPLEMENTARIOS:
No existen recursos complementarios para este artículo.
18  Programación / PHP / Re: Formas de obtener la IP de Browser cliente en: 19 Mayo 2017, 00:23
Supongo que con javascript. Al ejecutarse por lado del cliente cuando el javascript haga una petición con ajax al servidor de Google, Google sabra la IP del cliente.

engel lex me tiene mania y contesta antes que yo para hacerme sentir mal
19  Programación / PHP / Re: Descontar Cantidad en Utilidad en: 18 Mayo 2017, 22:29
Aaah, con razón. Ya decia yo que pregunta tan rara.

1. Primero te recomiendo aprender a programar bien antes de ponerte a editar codigo de terceros (que por cierto, no es el mejor codigo del mundo si lo que quieres es aprender a programar bien).

2. Si, tendras que descontar el valor de los pagos a la comision tontal, por tanto tienes tres opciones:
        • Seleccionar todos los pagos en BD y descontarlos a comision_total (uno por uno, o la suma de todos)
        • Seleccionar la suma de todos los pagos desde la BD y decontarlo directamente en comosión total.
        • Seleccionar comision_total menos la suma de todos los pagos directamente en bd y luego imprimirla con PHP.

Tampoco se como funciona la plataforma en detalle. Y dudo que alguien del foro se ponga a descargar la base de datos, leer la documentación o el codigo para responderte (se supone que tu tienes que hacer eso).

20  Programación / PHP / Re: Duda Php y dirección IP en: 18 Mayo 2017, 07:10
En principio si la IP que registra google es de quien haga la petición y la petición la hace el servidor. Por tanto, la IP que ve google es la del servidor que ejecuta el script de PHP.

(Eso es lo que te dijo engel lex, pero espero que lo intuyeras)
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 43
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines