Você está na página 1de 38

Java

MI PRIMER PROGRAMA
Public static void main (string [] args) {
System.out.printIn (mi primer programa);
}
}
Usted seguir 3 pasos
1. Ingresar el programa
2. Compilar el programa
3. Ejecutar el programa
En java a un archive Fuente se le llama oficialmente unidad de compilacin. Lo
primero que debe aprender acerca de java es que el nombre que asigne al
archivo fuente es muy importante. Para nuestro ejemplo, el nombre del archivo
fuente debe ser ejemplo.java. Este es un archivo de texto que contiene una o
ms definiciones de clase. El compilador de java (javac) requiere que un archivo
fuente use la extensin de nombre de archivo .java. Observe que la extensin de
nombre de archivo tiene 4 caracteres.
Como vera al revisar el programa, el nombre de la clase definida por el programa
tambin es Ejemplo no se trata de una coincidencia en java, todo el cdigo debe
residir dentro de una clase.
Por convencin, el nombre de esa clase debe coincidir con el del archivo que
contiene el programa. Tambin debe asegurarse de que las maysculas y
minsculas del nombre del archivo coincidan con el nombre de la clase. La razn
de ello es que java es sensible a las maysculas y minsculas. En este punto, es
posible que la convencin de que los nombres de archivo correspondan con los
nombres de clase. Sin embargo esto hace que el mantenimiento y la organizacin
de los programas sean ms fcil
Compilacin del programa: para compilar el programa ejemplo, lo hacemos a
travs del compilador javac crea un archivo llamado ejemplo.class que contiene la
versin de cdigos de bytes del programa. Recuerde que el cdigo de bytes no es

un cdigo ejecutable debe ejecutarse en una mquina virtual de java. Por lo tanto,
la salida de java no es un cdigo que pueda ejecutarse directamente.
Para ejecutar realmente el programa debe utilizar el intrprete de java,
El primer programa de ejemplo lnea por lnea:
Aunque ejemplo.java es muy corto, incluye varias caractersticas clave que le son
comunes a todos los programas de java. A continuacin examinaremos lnea por
lnea

El programa empieza con esas lneas


Se trata de un comentario, como casi todos los lenguajes de programacin java le
permite ingresar un comentario en el archivo fuente de un programa. El
comentario es ignorado por el compilador. En cambio, un comentario escribe o
explica la operacin del programa a cualquier persona que este leyendo su cdigo
fuente. En este caso, el comentario describe el programa, y le recuerda que el
archivo fuente debe llamarse. Por supuesto, en aplicaciones reales, los
comentarios suelen explicar la manera en la que funciona alguna parte del
programa, o bien, lo que una caracterstica especifica lleva a cabo.
Java soporta 3 estilos de comentarios: el que se muestra en la parte superior del
programa se llama comentario de varias lneas este tipo de comentario debe
empezar por /* y terminar con /* todo lo que se encuentre entre estos smbolos
de comentarios es ignorado por el compilador
La siguiente lnea de cdigo del programa
Esta lnea usa la palabra clave class para declarar que se est definiendo una
nueva clase
Como ya se mencion, la clase es la unidad bsica de encapsulamiento de java la
definicin de clase empieza con una llave de apertura { y termina con una llave
de cierre } los elementos entre las dos llaves son miembros de la clase.
A continuacin se muestra la siguiente lnea de cdigo
Public static void main (string [] args) {
Esta lnea empieza con el mtodo main (). Como ya mencionamos, en java, a una
subrutina se le llama mtodo. Como se sugiere en el comentario anterior, ESTA
ES LA LINEA EN LA QUE EL PROGRAMA EMPEZARA A EJECUATARSE.

La palabra clave public es un especificador de acceso, determina la manera en


que otras partes del programa pueden acceder a los miembros de la clase.
Cuando un miembro de la clase esta precedido por public, entonces es posible
acceder a dicho miembro mediante un cdigo que este fuera de la clase en la que
se encuentre declarado. (Lo opuesto de public es private, lo cual evita que un
miembro sea utilizado por un cdigo definido fuera de la clase) en este caso el
mtodo main debe declararse como public por que debe ser llamado por su cdigo
fuera de su clase cuando el programa se inicie. La palabra clave static permite que
el mtodo main sea llamado por el intrprete de java antes de que se cree un
objeto de la clase. Esto resulta necesario porque el mtodo main es llamado por el
intrprete de java la palabra clave void simplemente le indica al compilador que el
mtodo main no
Como veremos ms adelante, los mtodos pueden regresar un valor.
Como se estableci, main es el mtodo al cual se llama a iniciar una aplicacin de
java. Cualquier informacin que necesite pasar a un mtodo es recibida por
variables especificadas dentro de un conjunto de () que vienen despus del
nombre del mtodo a estas variables se les denomina parmetros si no se
requiere parmetros para un mtodo determinado, necesitara influir de cualquier
modo los parntesis vacos. En main solo hay un parmetro, el cual declara un
parmetro llamado args. Se trata de una matriz de objetos tipo string. Las matrices
son colecciones de elementos similares, los objetos de tipo string almacenan
secuencias de caracteres, en este caso args recibe cualquier argumento de lnea
de comandos que est presente al momento de ejecutar el programa.
El ultimo carcter de esta lnea es }. Esto seala el inicio del cuerpo del mtodo
main todo el cdigo incluido en un mtodo ocurrir entre la llave de apertura del
mtodo y su llave de cierre. A continuacin se muestra la lnea de cdigo
System.out.printIn(mi primer programa);
Esta parte de saluda la cadena mi primer programa seguida por una nueva lnea
en pantalla, en realidad la salida se logra mediante el mtodo integrado printIn. En
este caso el mtodo printIn despliega la cadena que se le pasa, la lnea empieza
con system.out es una clase predefinida que proporciona acceso al sistema y out
es el flujo de salida que est conectado a la consola. Todas las instrucciones en
java deben de terminar con ;

SEGUNDO PROGRAMA SIMPLE


Tal vez ninguna otra construccin sea tan importante en un lenguaje de
programacin como la asignacin de una variable. Una variable es una asignacin
es una ubicacin de memoria a la cual se le puede asignar un valor. Ms aun, el
valor de una variable puede cambiar durante la ejecucin de un programa. Es
decir, el contenido de una variable es modificable y no fijo
package Ejemplo2;
public class Ejemplo2 {
public static void main (String []args){
int var1;/*esto declara una variable*/
int var2;
var1=1024;/*esto asigna el valor 1024*/
System.out.println("el valor de var1 es: "+var1);
var2=var1/2;
System.out.println("el valor de var2 es: "+var2);
}
}
Este programa introduce varios conceptos nuevos. La instruccin:
int var1;
Declara una variable var1 de tipo entero. En java, todas las variables deben
declararse antes de usarse. Ms an debe tambin especificarse el tipo de valores
que la variable debe contener. A eso le denomina tipo de variable. En este caso,
var1 puede contener valores enteros. En java para declarar que una variable es
entera, su nombre debe estar antecedido por la palabra clave int por lo tanto, la
instruccin anterior declara una variable var1 de tipo entero.
La siguiente lnea declara una segunda variable llamada var2, observe que esta
lnea usa el mismo formato que la primera, con excepcin que el nombre de la
variable es diferente.
En general, para declarar una variable tendr que usar una instruccin como tipo,
nombre de la variable, en este caso, tipo especifica el tipo de variable que se est
declarando y nombre var el nombre de la variable, adems de int, java soporta
otro tipo de datos.
La siguiente lnea de cdigo
var1=1024;

Asigna a var el valor de 1024 en java, el operador de asignacin copia el valor de


la derecha en la variable de la izquierda
La lnea de cdigo
var2=var1/2;
Divide el valor de var1 entre 2 y luego almacena este resultado en var2. Por lo
tanto, despus de ejecutar la lnea, var2 contendr el valor de 512, el valor de
var1, permanecer sin cambios
Operadores aritmticos en java
OTRO TIPO DE DATOS:
En el ejemplo anterior se us una variable tipo int. Sin embargo, este tipo de
variable solo puede contener nmeros enteros por lo tanto, no puede usarse
cuando se requiere un componente fraccionario. Por ejemplo una variable int
puede tener un valor 18, pero no 18.3 por fortuna int es uno de los varios para
permitir nmeros con componentes fraccionarios java define dos puntos de tipo
flotante: float, de los dos, es de uso ms comn. Para declarar una variable de tipo
doble, utilice una funcin similar a doble x aqu x es el nombre de la variable, la
cual es de tipo doble
DOS INSTRUCCIONES DE CONTROL:
Dentro de un mtodo, la ejecucin pasa de una instruccin a la siguiente, de arriba
abajo. Sin embargo, es posible modificar este flujo mediante el uso de
instrucciones de control de programas soportada por java.

Instruccin if: puede ejecutar electivamente la ejecucin de un programa


mediante el uso de la condicional if. La instruccin if de java funciona de manera
muy parecida a la instruccin if de algoritmia y de otros lenguajes. Su sintaxis es:
If (condicin) instruccin;
En este caso, condicin es una instruccin booleana. Si la condicin es verdadera,
entonces se ejecuta la instruccin. Si la condicin es falsa, entonces se omite la
instruccin ejemplo: si 10 menor que 11 imprima 10 menor que 11 en este caso,

debido a que 10 es menor que 11 la expresin condicional es verdadera entonces


se ejecuta la instruccin.

FOR
Puede ejecutar de manera repetida una secuencia de cdigo al crear un bucle.
Java proporciona una diversidad de instrucciones de bucle sintaxis:
For (inicializacin; condicin; iteracin) instruccin;
En su forma ms comn la parte de inicializacin del bucle asigna un valor inicial a
una variable de bucle. La condicin es una expresin booleana que prueba la
variable de control de bucle. Si el resultado de esa prueba es verdadero, el bucle
sigue repitindose, si es falsa, el bucle se termina.
Determina la manera en que la variable de control de bucle cambia cada vez que
el bucle se repite
EN ESTE EJEMPLO, CUENTA ES LA VARIABLE DE CONTROL DEL BUCLE. SE
ESTABLECE EN CERO EN LA PARTE DE INICIALIZACION DE FOR. AL
PRINCIPIO DE CADA ITERACION INCLUIDA LA PRIMERA, SE REALIZA LA
PRUEBA DE CONDICION CUENTA MENOR QUE 5. SI LA SALIDA DE ESTA
PRUEBA ES VERDADERA, LA INSTRUCCIN PRINTLN SE EJECUTA Y LUEGO
SE EJECUTA LA PARTE DE ITERACION DEL BUCLE. ESTE PROCESO SIGUE
HASTA QUE LA PRUEBA DE LA CONDICION RESULTE FALSA, MOMENTO EN
QUE LA EJECUCION PASA A LA PARTE INFERIOR DEL BUCLE.

CREAR BLOQUES DE CODIGO


Un bloque de cdigo es la agrupacin de 2 o ms instrucciones, lo cual se lleva a
cabo al encerrar las instrucciones entre llaves de apertura y cierre.
Una vez que se ha creado un bloque de cdigo, este se vuelve una unidad lgica
que puede usarse en cualquier lugar en el que podra usarse una sola instruccin.
Ejemplo: if(w menor h){
Y=w * h;
W=0;
} fin de bloque

Si w es menor que h se ejecutaran ambas instrucciones dentro del bloque. Por


consiguiente, las dos instrucciones dentro del bloque forman una unidad lgica,
as que una instruccin no puede ejecutarse sin que la otra tambin se ejecute. La
clave es que cada vez que necesite vincular lgicamente dos o ms instrucciones,
lo har si crea un bloque. Los bloques de cdigo permiten que muchos algoritmos
se implementen con mayor claridad y eficiencia

Mejoramiento de convertidor de galones a litros


Puede usar el bucle for la instruccin if y los bloques de cdigo para crear una
versin mejorada del convertidor de galones a litros que desarrollo en el primer
proyecto. Esta nueva versin imprima una tabla de conversiones que comienza
con un galn y termina con 100 galones. Despus de cada 10 galones, se dar
una lnea en blanco. Esto se realiza con una variable de tipo contador que cuenta
el nmero de lneas que se han enviado a la salida.

Tipos de datos
Float y double
Los tipos de datos flotantes representan nmeros que tienen componentes
fraccionarios. Hay 2 tipos de datos flotantes, el float y doubl, que representan
numero de precisin sencillas y
Float<- 32 bit
Double<- 64 bit
De los dos doubl es el ms usado porque todas las funciones matemticas de la
biblioteca de clases de Java usan valores doubles por ejemplo mtodo sqrt()
(que se define con la clase Math) devuelve un valor doubl que es la raz cuadra
de su argumento doubl. Aqu el mtodo sqrt se usa para calcular longitudes por
ejemplo la longitud de la hipotenusa dada las longitudes de los dos lados opuestos
Por ejemplo: Use el teorema de Pitgoras para encontrar la longitud de la
hipotenusa dada la longitud de los dos lados opuestos.
package hipotenusa;
public class Hipotenusa {
public static void main(String[] args) {

double x =3,y=4,z;
z=Math.sqrt(x*x+y*y);
System.out.println("La hipotenusa es:"+z);
}
}
Byte<- Buscar

Como ya se mencion el mtodo sqrt es un miembro de la clase math. Observe


como se llama sqrt(va presidida por el nombre math). Es una manera similar a
como System.out precede a println.

Caracteres
En Java, los caracteres no son cantidades de 8 bits como en casi todos los dems
lenguajes de cmputo en cambio, Java utiliza Unicode. Unicode define un conjunto
de caracteres que puede representar todos los caracteres encontrados en el
lenguaje humano. Por tanto, en Java, char es un tipo de 16 bits sin signo que
tiene un rango de 0 a 65.536. Es posible asignar un valor a una variable de
carcter al encerrar este entre comillas.
Por ejemplo, para asignar a la variable carcter la letra x entre comillas sencilla.
Char= ch;
Ch= x;
System.out.prinln(Esta lnea es ch+ch);
Puede dar salida a un valor char empleando la instruccin println(). Por ejemplo,
esta lnea da salida al valor ch.
Debido a que char es un tipo de 16 bits sin signo, es posible realizar varias
manipulaciones aritmticas en una variable char.

Ejemplo:
package pkgchar;
public class CarAritDemo {
public static void main(String[] args) {
char ch;
ch='X';
System.out.println("Ch contiene:"+ch);
ch++;
System.out.println("Ahora ch es:"+ch);
ch=90;
System.out.println("ch Ahora es:"+ch);
}
}

Booleano
El tipo booleano representa valores de verdadero o falso. Java define los valores
verdadero y falso empleando las palabras verdaderas true y false. Por lo tanto,
una variable o expresin de tipo booleano ser uno de estos dos valores.
Ejemplo:
package booldemo;
public class BoolDemo {
public static void main(String[] args) {
boolean b= false;
System.out.println("El valor de b es:"+b);
b= true;
System.out.println("El valor de b es:"+b);
/*
*Un valor booleano puede controlar la instruccion if
*/
if(b){

System.out.println("Esto se ejecuta.");
}
b=false;
if(b=false){
System.out.println("Esto no se ejecuta.");
}
/* la salida de una operador relacional es un booleano */
System.out.println("10>9 es:"+(10>9));
}
}
Hay que observar aqu tres aspectos importantes en este programa, en primer
lugar, como puede ver, el valor de una variable booleana en si misma, para
controlar la instruccin if, no es necesario escribir una instruccin if como:
if(b==true); en tercer lugar, la salida de un operador relacional, como < (menor), es
un booleano. Por eso la expresin 10>9 despliega el valor true. Aun mas, el
conjunto extra+ (10>9) es necesario porque el operador + tiene una mayor
presedencia que el signo +
EJERCICIO
1. Elaborar un proyecto que cree un programa que calcule la distancia en
metros, entre un escucha y un trueno. El sonido viaja aproximadamente a
340 m/s en el aire. Por lo tanto, conociendo el intervalo entre el momento
en que ve el relmpago y el momento en que el sonido lo alcanza a usted
podr calcular la distancia al trueno. Para este proyecto, suponga que el
intervalo es de 7.2 segundos.
Pas a paso
1. Cree un nuevo archivo llamo sonido.java
2. Para calcular la distancia, necesitara utilizar valores de tipo flotante.
Porque el intervalo, 7.2 tiene un componente fraccionario. Aunque sera
posible usar un valor de tipo float usaremos doubl en este ejemplo.
3. Para calcular la distancia, multiplicara 7.2*340. Luego asignara este
valor a una variable.
4. Por ltimo, desplegara el resultado.
package sonido;
public class Sonido {
public static void main(String[] args) {
double x,z,s;
x=7.2;

z=340;
s=x*z;
System.out.println("La distancia del trueno es:"+s);
}
}

Secuencia de escape de caracteres:


Secuencia de escape
\n
\t
\\
\
\
\r
\b
\f
\udddd

Descripcin
Salto de lnea
Tabulador
Diagonal inversa\
Comillas dobles
Comilla simple
Retorno de carro
Borrado a la izquierda
Comienzo de pagina
Carcter Unicode

Ejemplo:
package cadenademo;
public class CadenaDemo {
public static void main(String[] args) {
System.out.println("Primera linea\nSegunda linea");
System.out.println("A\tB\tC\t");
System.out.println("D\tE\tF\t");
}
}

INCREMENTO Y DEMECREMENTO

(++) y (--)

Son los operadores de incremento de decremento. Como vera, tiene algunas


propiedades especiales que los hace muy interesantes.
El operador de incremento agrega uno a su operando y de decremento resta uno.
De ah que, x =x+1; es lo mismo que x++; y x=x-1; es lo mismo que x--;
Conversin de tipo de asignaciones
En programacin, es como un asignar un tipo de variable a otro; por ejemplo, tal
vez quiera asignar un valor
int i;
float f;
i=10;
f=i;
// Asignar una i una variable
Cuando se combinan tipos compatibles en una asignacin, el valor de la derecha
se convierte automticamente al tipo de la izquierda. Por lo tanto, en el fragmento
anterior, el valor de i se convierte en float y luego se asigna a f. sin embargo
debido a la revisin estricta que realiza java, no todos ellos son compatibles y, por
consiguiente, no todas las conversiones de tipo se permiten explcitamente.

Por ejemplo: boolean e int, no son compatibles.


package moldedemo;
public static void main(String[] args) {
double x,y;
x=10.0;
y=3.0;
byte b;
int i;
i=(int)(x/y);
char ch;
System.out.println("El valor de i es:"+i);
i=100;
b=(byte) i;
/* no hay perdida de informacion aqui. un byte puede contener el valor 100*/
System.out.println("El valor de i es:"+b);
b=88;/* codigo ascii para x */
ch=(char)b;

System.out.println("El valor de ch es:"+ch);


}
}
En el programa, (x/y) a int da como resultado el truncamiento del componente
fraccionario y la perdida de informacin. A continuacin no ocurre perdida de
informacin cuando se le asigna a b el valor de 100 pues un byte puede contener
el valor de 100. Sin embargo, cuando se hace el intento de asignar el valor de 257
a b, se perdern datos porque 257 excede el valor mximo de byte. Por ultimo,
cuando se asigna un valor byte a un char, no se pierde informacin pero se
requiere un moldeado.
INSTRUCCIONES DE CONTROL DEL PROGRAMA
Entradas de caracteres desde el teclado:
La manera ms fcil de leer del teclado es System.in.read(); System.in es
complemento de System.out y es el objeto de entrada que esta adjunto al teclado.
El mtodo read espera hasta que el usuario oprima una letra y luego devuelve el
resultado. El carcter es devuelto como un entero, de modo que puede castearse
como char para asignarlo a la variable char. Como opcin predeterminada, la
entrada de la consola se almacena en lnea, de modo que debe oprimir enter
antes de cualquier carcter.
package enteclado;
public class EnTeclado {
/**
* @param args the command line arguments
* @throws java.io.IOException
*/
public static void main(String[] args)
throws java.io.IOException{
char ch;
System.out.println("Oprima la tecla enter para continuar");
ch=(char) System.in.read();
System.out.println("La tecla digita es:"+ch);
}
}
Paso a paso
public static void main(String[] args)
throws java.io.IOException{

Debido a System.in.read() se esta usando, el programa debe especificar la


clusula throws java.io.IOException. Esta lnea es necesaria para manejar errores
de entrada pues es parte del mecanismo de excepciones que maneja java que lo
analizaremos en un mdulo posterior.

INSTRUCCIN IF(EJERCICIO)
1. Desarrollar un juego computarizado de adivinanzas que sea adecuado
para nios pequeos. En la primera versin del juego, el programa le
pregunta una letra entre A y Z. si el jugador oprime la letra correcta en el
teclado, el programa responde imprimiendo el mensaje correcto, de lo
contrario imprimir siga intentando.
Ejemplo 1:
import java.util.Scanner;
public class JueAdivinar {
public static void main(String[] args)
throws java.io.IOException{
Scanner scanner=new Scanner (System.in);
char ch=0;
String respt = "S";
while ("S".equals(respt)){
System.out.println("
Adivinanza\n Blanco es, gallina lo pone y frito
se come Que es?");
System.out.println(" Opcion:");
System.out.println(" 1.Escribe A si es un huevo.");
System.out.println(" 2.Escribe Z si es una pera.");
System.out.println(" Ingrese la respuesta:");
ch=(char)
System.in.read();
if(ch=='A'){
System.out.println("Tu respuesta es correcta.");
}
System.out.println("Desea continuar S/N:");
respt = scanner.next();
}
}
}

Ejemplo 2:
public class Adiv3 {
public static void main(String[] args)
throws java.io.IOException{
char ch,respuesta='K';
System.out.println("Estoy pensando en una letra A y Z");
System.out.println("Puedes adivinarla?");
ch=(char) System.in.read();
if(ch==respuesta){
System.out.println("Correcto");
}
else{
System.out.println("Lo siento, te encuentras");
}
if(ch<respuesta){
System.out.println("Te encuentras debajo");
}
else{
System.out.println("Te encuentras demasiado alto");
}
}
}

Escalera if-else-if
If(condicion)
Instruccin;
Else if(condicion)
Instruccin;
Else if(condicion)
Instruccin;
Else instruccin;
Las expresiones de condicin se evalan de arriba abajo. En cuanto se encuentra
una condicin verdadera, se ejecuta la instruccin asosiada con ella y se omite el
resto de la escalera. Si ninguna de las instrucciones es verdadera, se ejecutara en
else final. A menudo el else final actua como una condicin predeterminada; es
decir, si fallan todas las pruebas de condicin, se ejecuta la ultima instruccin else.
Si no hay un else final y todas las dems condiciones son falsas, no tendr lugar
accin alguna.
EJEMPLO:

public class EscaleraIf {


public static void main(String[] args) {
int x;
for (x=0;x<6;x++){
if(x==1){
System.out.println("x es uno");
}
else if(x==2){
System.out.println("x es dos");
}
else if(x==3){
System.out.println("x es tres");
}
else if(x==4){
System.out.println("x es cuatro");
}
else{
System.out.println("x no se encuentra entre 1 y 4");
}
}
}
}
Instruccin switch
La segunda de las instrucciones de java es switch la cual proporciona un rbol de
varias ramas; por o tanto ,permite que un programa seleccione entre varias
opciones; aunque una serie de instruccin if anidadas puede realizar pruebas de
varias vas, en muchas ocasiones switch es un mtodo mas eficiente. Funciona de
la siguiente manera: El valor de una expresin se prueba sucesivamente con
respecto a una lista de constantes. Cuando se encuentra una coinciencia, se
ejecuta la secuencia de instrucciones asociadas con dicha conincidencia la forma
general o sintaxis es:
Switch (expresion)
Case constante:
Secuencia de instrucciones;
Break;
Case constante 2:
Secuencia de instrucciones;

Break;
Default
Secuencia de instrucciones;
La expresin switch puede ser de tipo char,byte,short o int. (No se permite, por
ejemplo, expresiones de punto flotante).con frecuencia, la expresion que controla
switch es simplemente una variable. Las constates de case deben ser literales con
un tipo compatible de expresion. Dos constantes case en el mismo switch no
pueden tener valores idnticos.
La secuencia de instruccin default se ejecuta sin ninguna constante case coincide
con la expresion. Esta secuencia default es opcional ; sino esta presente ninguna
accin se presenta si fallan todas las coincidencia. Cuando se encuentra una
coincidencia; se ejecuta las instrucciones asociadas a ese case hasta que se
encuentras un break o, en el caso de default o el ultimo case, hasta que se
alcance el final del switch.
Como puede ver, cada vez que el bucle se recorre, se ejecuta las instrucciones
asosiadas con la constante case que coninciden con i. Todas las dems se omiten.
Cuando i es 5 o mayor, ninguna instruccions case coincide, de modo que se
ejecuta la instrucion default.
Tecnicamente la instruccin break es opcional, aunque gran parte de las
aplicaciones se switch la aplican. Cuando se encuentra dentra de la secuencia de
la instruccin case, la instruccin break causa que el programa fluya parasalir de
toda instruccin switch y se reanude en la siguiente instruccin fuera del switch.
Sin embargo, si una instruccin break no termina la secuencia de instrucciones
asosiada con case, entonces las instrucciones que se encuentran en (y que siguen
al) case conincidente se ejecutaran hasta que se encuentre un break o el final de
switch
EJEMPLO 1:
public class SwitchDemo {
public static void main(String[] args) {
int i;
for(i=0;i<5;i++){
switch(i){
case 0:
System.out.println("i es cero.");
break;
case 1:
System.out.println("i es uno.");
break;
case 2:
System.out.println("i es dos.");

break;
case 3:
System.out.println("i es tres.");
break;
case 4:
System.out.println("i es cuatro.");
break;
default:
System.out.println("i es 5 o mayor.");
}
}
}
}
EJEMPLO 2:
public class Switch2 {
public static void main(String[] args) {
int i;
for(i=0;i<6;i++){
switch(i){
case 1:
System.out.println("i es menor que uno.");
System.out.println("i es menor que dos.");
System.out.println("i es menor que tres.");
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 2:
System.out.println("i es menor que dos.");
System.out.println("i es menor que tres.");
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 3:
System.out.println("i es menor que tres.");
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;

case 4:
System.out.println("i es menor que cuatro.");
System.out.println("i es menor que cinco.");
System.out.println();
break;
case 5:
System.out.println("i es menor que cinco.");
System.out.println();
break;
}
}
}
}
Entrada y salida de datos por consola
Llamamos consola al conjunto compuesto por la pantalla y el teclado de la
computadora donde se ejecutara nuestro programa. Asi, cuando hablemos de
ingreso de datos por consola nos estaremos refiriendo al teclado y cuando
hablemos de mistrar datos por consola nos referemos a la pantalla.
import java.util.Scanner;
package hola;
import java.util.Scanner;
public class Hola {

public static void main(String[] args) {


/* Esta clase permite leer datos por teclado*/
Scanner leer=new Scanner(System.in);
/* Mensaje para el usuario
*/
System.out.println("Ingrese su nombre:");
String nom=leer.nextLine();
/* mostramos un mensaje y luego el valor leido*/
System.out.println("Mi nombre es:"+nom);
}
}
La clase scanner permite leer datos atravez del teclado, aceptaremos que el uso
de esta clase es necesario.

Luego mostramos un mensaje indicando al usuario ue debe ingresar su nombre


atravez del teclado. Acontinuacion, leemos el nombre del usuario vaya a ingresar y
lo almacenamos en la variable nombre por ultimo, mostramos un mensaje
compuesto por un texto (Mi nombre es:) seguido de la variable nom.
Nota:Diferencia entre dos puntos System.out.print y System.out.println. El primero
imprime de la consola del valor del argumento que le pasamos. El segundo hace
lo mismo pero, agrega un salto de lnea al final.
Definicion de variables:
Podemos definir variables en cualquier parte del cdigo simplemente indicicando
el tipo de datos y el nombre de la variable (Identificador).
Identificadores validos:
Fecha
Ifecha
Fechanacimiento
Fecha_nacimiento
Fecha3
_fecha
Identificadores no validos:
3fecha
Fecha-nacimiento
Fecha+nacimiento
-fecha
Realizar un programa que me permita ingresar su nombre, edad y altura. Estos
datos deben ingresarse separarse por un espacio en blanco, luego los muestra por
consola.
package datos;
import java.util.Scanner;
public class Datos {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese nombre:");
String nom=leer.nextLine();
System.out.println("Ingrese edad:");

int edad=leer.nextInt();
System.out.println("Ingrese altura:");
double altura=leer.nextDouble();
System.out.println("Su nombre es:"+nom+"\nSu edad es:"+edad+"\nSu altura
es:"+altura);
}
}
1.Realizar un programa que me termine cuando una persona es mayor de 18 aos
(puede votar) de lo contrario no puede .
Solucion:
package votos;
import java.util.Scanner;
public class Votos {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese su edad:");
int edad=leer.nextInt();
if (edad<18){
System.out.println("Usted es menor de edad, no puede votar.");
}
else
System.out.println("Puede votar.");
}
}
2.Realizar que me diga si es par o impar.
Solucin:
package numeros;
import java.util.Scanner;
public class ParOImpar {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un valor:");
int num=leer.nextInt();
int divi=num%2;

if(divi==0){
System.out.println(num+ " es par");
}
else{
System.out.println(num+ " es impar");
}
}
}
3.En el siguiente programa, pedimos al usuario que ingrese un dia de la semana
entre 1 y 7 y mostramos el nombre del dia. Si ingresa cualquier otra valor
ingresamos que el datos es incorrecto.
Solucin:
package diasemana;
import java.util.Scanner;
public class DiaSemana {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un numero de los dias de la semana:");
int num=leer.nextInt();
switch(num){
case 1:
System.out.println("Es Lunes.");
break;
case 2:
System.out.println("Es Martes.");
break;
case 3:
System.out.println("Es Miercoles.");
break;
case 4:
System.out.println("Es Jueves.");
break;
case 5:
System.out.println("Es Viernes.");
break;
case 6:
System.out.println("Es Sabado.");
break;
case 7:

System.out.println("Es Domingo.");
break;
default:
System.out.println("El numero ingresado es invalido.");
}
}
}
4.En el siguiente programa utiliza un while para mostrar los primero n nmeros
naturales el usuario debe ingresar n numero.
Solucin:
package numwhile;
import java.util.Scanner;
public class NumWhile {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
System.out.println("Ingrese un numero:");
int num=leer.nextInt();
int contador=0, ne=0;
while(contador<num){
contador ++;
ne++;
System.out.println("Numero es:"+ne);
}
}
}
5.El mismo ejercicio pero utilizando con do while
Solucin:
package numdowhile;
import java.util.Scanner;
public class NumDoWhile {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);

System.out.println("Ingrese un numero:");
int num=leer.nextInt();
int contador=0, ne=0;
do{
contador ++;
ne++;
System.out.println("Numero es:"+ne);
}while (contador<num);
}
}
6.El mismo ejercicio pero con for.
Solucin:
import java.util.Scanner;
public class NumFor {
public static void main(String[] args) {
Scanner leer=new Scanner(System.in);
int contador=0, ne=0;
System.out.println("Ingrese un numero:");
int num=leer.nextInt();
for (contador=1;contador<=num;contador++){
System.out.println("Numero es:"+contador);
}
}
}
Arrays
Un array es un conjunto de variables del mismo tipo cuya direcciones de memoria
son continuas esto permite definir un nombre para el arrays (conjunto de variables)
y acceder a cada elemento del conjunto(a cada variable) a travez del nombre
comn (nombre del array) mas un subidic que especifica la posicin relativa del
elemento que queremos acceder.
En Java los arrays comienzan siempre desde cero y se define de la siguiente
manera:
Int array[]= new int [4];
Tambien podemos construir un array de n elementos, siendo n una variable
Int n;
Int array[]=new int[n];

Debe quedar claro que el array es estatico, una vez definido su tamao este ser
fijo. No se puede agregar ni eliminar elementos en un array.
Para acceder un elemento del array, lo hacemos atravez de un subndice.
Array[3]=10;
Ejemplo:
Definir un arrays de 10 enteros, luego pedimos al usuarios que ingrese los valores
del arrays por ultimo recorremos el arrays para mostrar su contenido.
import java.util.Scanner;
public class Arrays {
public static void main(String[] args) {
int array[]= new int[10];
/* el scanner para leer por teclado*/
Scanner scanner=new Scanner(System.in);
/* leemos el primer valor*/
System.out.println("Ingrese un valor:");
int valor =scanner.nextInt();
int i=0;
/* mientras valor sea distinto de 0 e i<10*/
while (valor!=0 && i<10){
/* asigna valor en array sub i y luego incrementa el valor de i*/
array[i++]=valor;
/* leemos el siguiete valor*/
System.out.print("Ingrese el siguiente valor:");
valor=scanner.nextInt();
}
for (int j=0;j<10;j++){
System.out.println("Numero:"+array[j]);
}
}
}
Las siguientes son formas correctasy equivalentes para nombrar arrays
String array[];
String []array;
String[] array;
Realizar un programa que permite leer por pantalla los das de la semana.
package demoarray2;
import java.util.Scanner;

public class DemoArray2 {


public static void main(String[] args) {
String
dias[]={"Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Doming
o"};
Scanner scanner=new Scanner(System.in);
System.out.println("Ingrese un dia de la semana:");
int valor =scanner.nextInt();
if(valor<=dias.length){
// recordemos que los arrays empiezan desde cero
System.out.println("Dia correcto.");
}
else{
System.out.println("Dia incorrecto.");
}
}
}
Una matriz es un arrays de dos dimensiones, se define de la siguiente manera
Int matriz[]=new int[4][3];
Ejemplo:
Llenar una matriz con nmeros aleatorios
Pedimos al usuario que ingrese las dimensiones de una matriz(filas y columnas),
creamos una matriz de esas dimensiones y la llenamos con nmeros creados
aleatoriamente.
import java.util.Scanner;
public class Matriz {
public static void main(String[] args) {
Scanner scanner=new Scanner (System.in);
System.out.println("Ingrese la cantidad de filas:");
int n=scanner.nextInt();
System.out.println("Ingrese la cantidad de columnas:");
int m=scanner.nextInt();
// creo una matriz de n filas por m columnas
int mat[][]=new int[n][m];
int num;

for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
// genero el numero aleatorio entre cero y 1000
num=(int)(Math.random()*1000);
mat[i][j]=num;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
System.out.println("Numero:"+mat[i][j]);
}
}
}
}
En este ejemplo utilizamos Math.random para generar un numero aleatorio el
mtodo ramdom de la clase Math genera un numero aleatorio mayor que cero y
menor que uno. Lo multiplicamos por 1000 y luego lo casteamos a entero para
obtener la parte entera del numerp y asignarlo a la matriz.
Literales de cadena de caracteres
Una cadena de caracteres literal se representa entre comillas dobles() por
ejemplo: Esto es una cadena. En cambio un carcter literal se representa entre
comillas simple() por ejemplo:A.
En java las cadenas son tratadas como objetos, por lo tanto,Esto es una cadena,
es un objeto y podemos invocar sus mtodos como veremos mas adeante.
package democaracteres;
public class DemoCaracteres {
public static void main(String[] args) {
for(int i=0;i<5;i++){
System.out.println(i+" A");
}
}
}
COMILLAS SENCILLAS:
package democaracteres;

public class DemoCaracteres {


public static void main(String[] args) {
for(int i=0;i<5;i++){
System.out.println(i+'A');
}
}
}
Esto se debe a que las comillas sencillas (A)en valor numrico es (65) entonces
en cada iteracin de for imprimimo i+65 empezando con i=0;
package democaracter2;
public class DemoCaracter2 {
public static void main(String[] args) {
for (int i='A';i<='Z'; i++){
System.out.println(+i);
}
}
}
Ejercicio:
Pasar una cadena de maysculas a minsculas o de minisculas a maysculas.
Ejemplo:
import java.util.Scanner;
public class MasyMin {
public static void main(String[] args) {
Scanner scanner=new Scanner (System.in);
System.out.println("1.Mayuscula a minuscula.\n2. Minuscula a
mayuscula."); int con=scanner.nextInt();
System.out.println("Conversion:");
switch(con){
case 1:
System.out.println("Ingrese una letra:");
String nom=scanner.next();

System.out.println(nom.toLowerCase());
break;
case 2:
System.out.println("Ingrese una letra:");
String nom2=scanner.next();
System.out.println(nom2.toUpperCase());
break;
}
}
}
Ubicar la posicin de un carcter dentro de un a cadena.

INTRODUCCION A LAS CLASES, METODOS Y OBJETOS

Las clases son la escencia de Java pues representa los simientos sobre los que
todo el lenguaje Java esta construido asi pues que, la clase define la naturaleza de
un objeto. Como tal, la clase forma la base de la programacin orientada a objetos
en Java. Dento de una clase estn definidos los datos y el cdigo que actan
sobre tales datos el cdigo esta contenido en mtodos.
FUNDAMENTOS DE LAS CLASES:
Una clase es una plantilla que define la forma de un objeto y especifica los datos y
el cdigo que opera sobre esos datos. Java usa una especificacin de clase para
construir objetos. Los objetos son instancias de una clase por lo tanto, una clase
es , en escencia un conjunto de planos que especifica como construir un objeto.
(Una clase es una abstracion lgica). No es si no hasta que se crea un objeto de
esa clase que una representacin fsica de dicha clase llega a existir en la
memoria.
LA FORMA GENERAL DE UNA CLASE
Cuando define una clase, declara su forma y su naturaleza exactas lo cual lleva
acabo al especificar las variales de instancia que contiene y lo mtodos que
operan sobre sus variables. Aunque es posible que las clases muy simples
contengan solamente mtodos o variables de instacia casi todas las clases reales
contienen ambas.
Una clase se crea emplenaod la palabra class
Class NombreClase{
Int pasajero;
.
.
Tipo_mtodo nombre_metodo(){
Instrucciones;
}
.
.
}
Aunque no hay reglas sintcticas que asi lo dictan,una clase bien diseada debe
definir una y una sola identidad lgica. Por ejemplo, una clase que almacena
nombres y nmeros de telfono no almacenara informacin acerca de
temperaturas climticas. Lo importante aqu es que una clase bien diseada
agrupa informacin conectada de manera lgica. Si coloca informacin no
relacionada en la misma clase, desestructurara rpidamente su cdigo.
Hasta el momento, las clases que se han estado empleando solo tienen un
metodo: main(). Sin embargo, tome en cuenta que la forma general de una clase
no especifica un metodo main. Solo se require este si la clase es el punto de
partida de su programa. (Adems, los applets no requiere un metodo main).
DEFINICION DE UNA CLASE

Para ilustrar las clases, desarrollaremos un clase que encapsuele informacin


acerca de automotores como coches, camionetas y camiones. Esta clase ser
automotor y almacenara tres elementos de informacin acerca de un vehculo: el
numero de pasajeros que puede tener, la capacidad del tanque de combustible y
su consumo promedio de gasolina (km/l).
Una definicin de class crea u nuevo tipo de dato, en este caso el nuevo tipo de
dato se le llama automotor usara este nombre para declarar objetos de tipo
automotor.Recuerde que una definicin de class es solo una descripcin de
tipo,por lo que no crea u objeto de tipo real, por consiguiente, el cdigo anterior no
hace que ningn objeto de automotor cobre vida.
Para crear realmente un objeto de automotor, debe usar una instruccin como las
siguiente:
Automotor miniva=new Automotor();
Despues de que esta instruccin se ejecuta, minivan ser una instacia de
automotor y, por lo tanto, tendr una realidad fsica.Cada vez que cree la instancia
de una clase, estar creando un objeto que contenga su propia copia de cada
variable de instacia definida por su clase. Por consecuecia todos contendrn sus
propias copias de variables de instancia pasajeros, tanquegas, kmxlt. Para
acceder a estas variables, usara el operador de punto (.). El operador de punto
vincula el nombre de un objeto con el de un miembro. Esta es la forma general del
operador de punto.
Objeto.miembro
El objeto se especifica a la izquierda y el miembro a la derecha. Por ejemplo,
Para asignar a la tanqueta de minivan un valor lo haramos de la siguiente forma:
Minivan.tanquegas=60;
En general, puede usar el operador de punto para acceder a variables de instacia
y mtodos
Ejemplo:
class Automotor {
int pasajeros;
int tanquegas;
int kmxlt;l
}
public class AutomotorDemo{
public static void main(String[] args) {
Automotor minivan=new Automotor();
int rango;
minivan.pasajeros=10;
minivan.tanquegas=20;

minivan.kmxlt=30;
rango=minivan.tanquegas*minivan.kmxlt;
System.out.println("Una minivan puede transportar:"+minivan.pasajeros+"
Pasajero con un rango de: "+rango);
}
}
Debe llamar con el nombre de automotor.java al archivo que contiene este
programa porque el mtodo main esta en la clase automotorDemo y no en la clase
automotor. Cuando compile este programa, encontrara que se han creado dos
archivos .class, uno para automotor y otro para automotorDemo. El compilador de
javac. No es necesario que ambas clases estn en el mimo archivo fuente puede
poner cada clase en sus propios archivos, llamados automotor.jav y
automotorDemo.java, respectivamente.
Para ejecutar este programa, debe ejecutar automotoDemo.class.
Cada objeto tiene sus propias copias de las variables de instancia definidas para
su clase,por lo tanto, el contenido de las variables en un objeto puede diferir del
contenido de las variables de otro objeto. No existe una conexin entre los dos
objetos excepto por el hecho de que ambos objetos son del mismo tipo, por
ejemplo, si tiene dos objetos automotor cada uno tiene su propia copia de
pasajeros, tanquegas y km/lt, y el contenido de estos puede diferir entre los dos
objetos.
Ejemplo:
class Automotor {
int pasajeros;
int tanquegas;
int kmxlt;
}
public class DosAutomotor{
public static void main(String[] args) {
Automotor minivan=new Automotor();
Automotor CarroDepor=new Automotor();
int rango1,rango2;
minivan.pasajeros=10;
minivan.tanquegas=15;
minivan.kmxlt=10;
CarroDepor.pasajeros=15;

CarroDepor.tanquegas=7;
CarroDepor.kmxlt=10;
rango1=minivan.tanquegas*minivan.kmxlt;
rango2=CarroDepor.tanquegas*CarroDepor.kmxlt;
System.out.println("Una minivan puede transportar:
"+minivan.pasajeros+" pasajeros con un consumo de conbustible de:
"+rango1+" de gas");
System.out.println("Una minivan puede transportar:
"+CarroDepor.pasajeros+" pasajeros con un consumo de conbustible
de :"+rango2+" de gas");
}
}
Las clases definen las estructuras de sus objetos, es decir, que todos los objetos
de una misma clase podrn almacenar el mismo tipo de informacin y tendrn la
misma capacidad para manipularlo.
Por ejemplo, pensemos en algunas fechas: 4 junio de 2008, 15 de junio de 1973 y
2 de octubre de 1970. Evidentemente, las tres fechas son diferentes, pero tienen
la misma estructura , todas tienen un dia , un mes, un ao.
Justamente, el dia, el mes y el ao son los datos que hacen que fecha sea distinta
de otra. Diremos que son sus atributos. Una fecha es distinta de otra porque
tienen diferentes valores en sus atributos. Aun asi todas son fechas.
A continuacin, analizaremos un ejemplo de la clase Fecha. Este desarrollo se
hara de manera progresiva agregando nuevos conceptos paso a paso. Por este
motivo, debemos de seguir una secuencia.
class Fecha {
private int dia;
private int mes;
private int ao;
}
A simple vista la clase se ve como una estructura en otro lenguaje de
programacin. Sin embargo, tiene varias diferencias. Para comenzar los datos
estn definidos como private (privado), esto significa que desde afuera de la
clase, no podrn ser accedidos porque son privados, estn encapsulados y su
acceso solo se permitir estando dentro de la clase.
class Fecha {
private int dia;
private int mes;

private int ao;


}
public class TestMain{
public static void main(String[] args) {
Fecha f=new Fecha();
f.dia=20;
f.mes=06;
f.ao=2015;
}
}
Como las variables dia, mes y ao estn definidas con private quedan
encapsuladas dentro de la clase fecha y cualquier intento de accederlas por fuera
de la clase crea un error de compilacin.
La nica forma de asignar valores a estas variables ser atravez de los mtodos
fecha .
METODOS
Los mtodos de una clase se escriben como funciones. Dentro de los mtodos
podemos acceder a los atributos de la clase como si fueran globales. A
continuacion agregaremos, a la clase fecha, mtodos para asignar (set) de
asignacin. Y para obtener (get) de obtener, el valor de sus atributos. A estos
mtodos se les suele denominar setters y getters.
EJEMPLO:
package fecha;
class Fecha {
private int dia;
private int mes;
private int ao;
int getDia(){
// retorna el valor de la variable dia.
return dia;
}
void setDia(int dia){
// asigna el valor del parametro a la variable dia.
this.dia=dia;
}

int getMes(){
return mes;
}
void setMes(int mes){
this.mes=mes;
}
int getAo(){
return ao;
}
void setAo(int ao){
this.ao=ao;
}
}
public class TestFecha{
public static void main(String[] args) {
Fecha f=new Fecha();
f.setDia(2);
f.setMes(4);
f.setAo(1680);
System.out.println("El dia es: "+f.getDia()+ " el mes es: "+f.getMes()+" y el
ao es: "+f.getAo());
}
}
ADICION DE UN METODO A LA CLASE AUTOMOTOR
Como se acaba de explicar, los mtodos de una clase suelen manipular y
proporcionar acceso a los datos de la clase. Con esto en mente, recuerde que
main en los ejemplos anteriores calculo el rango de un automotor al multiplicar al
consumo de gasolina por la capacidad de su tanque, la propia clase automotor
maneja mejor el calculo del rango de un automotor. La razn de que esta
conclusin sea fcil de comprender es que el rango de un vehiculo depende de la
capacidad del tanque y la taza de consumo de gasolina. Ambas capacidades
estn encapsuladas en automotor. Al agregar al automotor un mtodo que calculo
un rango mejorara su estructura orientada a objetos.

EJEMPLO:
class Automotor1{
int pasajeros;
int tanquegas;
int kmxlt;
void Rango(){
System.out.println("El rango es:"+tanquegas*kmxlt);
}
}
public class AutoAgreMet {
public static void main(String[] args) {
Automotor1 minivan=new Automotor1();
Automotor1 CarroDepor=new Automotor1();
minivan.pasajeros=20;
minivan.tanquegas=15;
minivan.kmxlt=12;
CarroDepor.pasajeros=16;
CarroDepor.tanquegas=9;
CarroDepor.kmxlt=13;
minivan.Rango();
CarroDepor.Rango();
}
}
Uso de parmetros
Es posible pasar uno o dos mtodos como se explico, un valor que pasa a un
mtodo es un argumento. Dentro del mtodo, la variable que recibe el argumento
es un parmetro. Los parmetros se declaran dentro del parntesis que sigue al
nombre del mtodo. La sintaxis de declaracin de parmetro es la misma que usa
para las variables. Un parmetro se encuentra dentro del alcance de su mtodo y,
adems de las tareas especiales de recibir un argumento, actua como cualquier
otra variable local.
EJEMPLO:
package revnum;
class RevNum {

boolean esPar(int x){


if ((x%2)==0) return true;
else return false;
}
}
public class ParamDemo{
public static void main(String[]args){
RevNum e=new RevNum();
if(e.esPar(10))
System.out.println("10 es par.");
}
}
En el programa se llama tres veces al metodoes par y cada vez que esto sucede
se pasa un valor diferente. En primer lugar, observe como se llama al mtodo es
para: el argumento se especifica entre los parntesis a es par, por primera vez, se
pasa el valor de 10. De hay a que, cuando se empieza a ejecutar esPar, el
parmetro x recibe el valor de 10. En la segunda llamada, el argumento es 9, y x
entonces tiene el valor de 9. En la tercera llamada, el argumento es 8 que es el
valor que recibe x. lo que debe notar que el valor que se pasa como argumento
cuando se llama al mtodo es par es el valor recibido por su parmetro en este
caso x.
EJEMPLO : (9)
class RevNum {
boolean esPar(int x){
if ((x%2)==0) return true;
else return false;
}
}

public class ParamDemo{


public static void main(String[]args){
RevNum e=new RevNum();
if(e.esPar(9))
System.out.println("10 es par.");
}
}

Un mtodo puede tener mas de un parmetro. Simplemente declare cada


parmetro separndolo mediante una (,). Por ejemplo, la clase factor, define un
mtodo llamado esFactor que determina si el primer parmetro es factor del otro.
EJEMPLO:
import java.util.Scanner;
class Factor {
boolean esFactor(int x,int y){
if ((x%y)==0) return true;
else return false;
}
}
public class Factor2{
public static void main(String[] args) {
Factor e=new Factor();
Scanner scanner=new Scanner (System.in);
System.out.println("Ingrese un valor x:");
int x=scanner.nextInt();
System.out.println("Ingrese un valor y:");
int y=scanner.nextInt();
if(e.esFactor(x,y))
System.out.println("Es factor.");
else
System.out.println("No es factor.");
}
}

Você também pode gostar