JavaEstructuras4

Anuncio
Java
ENTRADA ESTÁNDAR
Tipos de método
• public (+,
): Indica que el método será visible tanto
dentro como fuera de la clase, es decir, es accesible
desde todos lados.
• private (-,
): Indica que el método sólo será accesible
desde dentro de la clase (sólo otros métodos de la clase
lo pueden accesar).
• protected (#,
): Indica que el método no será accesible
desde fuera de la clase, pero si podrá ser accesible por
métodos de la clase además de métodos de las subclases
que se deriven (ver herencia).
Lectura de datos
Se importan todas las clases del
paquete
1. Agregar al inicio del programa la línea
import java.util.*;
2. Construir un objeto Scanner asociado con el “flujo de entrada estándar” System.in
Scanner entrada = new Scanner(System.in); // al presionar una tecla se convierte en bytes y
se almacena en el objeto System.in
3. Utilizar los métodos del objeto Scanner
Por ejemplo,
String nombre=entrada.nextLine();
// lee una cadena con espacios
int edad = entrada.nextInt();
// lee un entero
Otros métodos: String next() //lee una cadena sin espacios
Double nextDouble() // lee un double
Ejemplo
import java.útil.*;
class claselee{
public static void main(String args[]){
String nombre;
int edad;
Scanner entrada = new Scanner(System.in);
System.out.println(“Ingresa nombre y apellido”);
nombre=entrada.nextLine();
edad=entrada.nextInt();
//lee nombre y apellido
// lee un entero
System.out.println(“"tu nombre es "+nombre+" y tienes "+edad);
}// fin del main
} // fin de clase
claselee
Estructura if-else
Solo la clase Scanner
import java.util.Scanner;
public class ElMayorEs {
public static void main(String args[]) {
Scanner teclado=new Scanner(System.in);
String nombre1,nombre2;
int edad1,edad2;
System.out.print("Ingrese el nombre:");
nombre1=teclado.next();
System.out.print("Ingrese edad:");
edad1=teclado.nextInt();
System.out.print("Ingrese el nombre:");
nombre2=teclado.next();
System.out.print("Ingrese edad:");
edad2=teclado.nextInt();
System.out.print("La persona de mayor edad es:");
if (edad1>edad2)
System.out.print(nombre1);
else
System.out.print(nombre2);
}//fin del método main
} // fin de la clase ElMayorEs
entrada
Atributos de clase static
No es específico de cada objeto. Solo hay una copia del mismo
y su valor es compartido por todos los objetos de la clase.
Podemos considerarlo como una variable global a la que
tienen acceso todos los objetos de la clase.
Existe y puede utilizarse aunque no existan objetos de la clase.
Para acceder a un atributo de clase se escribe:
NombreClase.atributo
final – variable constante
Permite definer variables como
constantes
Ejemplo
public static final x=20;
Métodos de clase static
Tiene acceso solo a los atributos estáticos de
la clase.
No es necesario instanciar un objeto para
poder utilizarlo.
Para acceder a un método de clase se escribe:
NombreClase.método()
Versión 1
Ejemplo
Versión 2
public class m1{
public class m{
static int k=0; int p;
static int k=0; int p;
public static void main(String args[ ]){ }
public static void main(String args[ ]){ }
cuenta(); //omite la clase
z.cuenta(); //no omite clase
}
public static int cuenta(){k++; }
class z{
}
public static cuenta(){m.k++; }
}
m1
m
Métodos invocados en el main
import java.util.*;
public class ParImpar {
public static boolean par(int num)
{
if (num%2==0) return true;
return false;
}
Método no relacionado con
algún objeto
public static void main(String args[] ) {
int num;
Scanner teclado=new Scanner(System.in);
System.out.println("Ingrese un valor:");
num=teclado.nextInt();
if (par(num))
System.out.println(num + “es par”);
else
System.out.print(num + “es par”);
}//fin del método main
} // fin de la clase ParImpar
ParImpar
Clase Math
Métodos estáticos de la clase
abs(int x)
cos(double angulo)
sin(double angulo)
pow(double x, double y)
sqrt(double x)
Ejemplo usando pow
import java.util.*;
public class Potencia {
public static void main(String args[] ) {
double b,e;
Scanner teclado=new Scanner(System.in);
System.out.println("Ingrese la base y el exponente:");
b=teclado.nextDouble();
e=teclado.nextDouble();
double res=Math.pow(b,e);
System.out.println(b+ “elevado a la”+e+”es”+res);
}//fin del método main
} // fin de la clase ParImpar
Potencia
Método equals de la clase String
import java.util.Scanner;
public class ComparaCadenas {
public static void main(String args[] ) {
Scanner teclado=new Scanner(System.in);
String apellido1,apellido2;
System.out.print("Ingrese primer apellido:");
apellido1=teclado.next();
System.out.print("Ingrese segundo apellido:");
apellido2=teclado.next();
if (apellido1.equals(apellido2)) System.out.print("Los apellidos son iguales");
else
System.out.print("Los apellidos son distintos“);
}
}
ComparaCadenas
Switch
import java.util.*;
switch (oper) {
public class Calculadora {
case 1:System.out.println( num1 + num2 ); break;
public static void main(String args[]){
case 2: System.out.println( num1 - num2 ); break;
int oper,num1,num2;
case 3: System.out.println( num1 * num2 ); break;
Scanner teclado=new Scanner(System.in);
case 4: System.out.println( num1 / num2 ); break;
System.out.println("1. Suma \n2.Resta\n3.Producto\n4.Divide");
System.out.println("Ingrese 2 valores:");
default: System.out.println("error" ); break;
}
num1=teclado.nextInt();
num2=teclado.nextInt();
System.out.println("Elige la operación:");
oper=teclado.nextInt();
}
}
Nota: oper puede ser de tipo char, byte, short o int
Calculadora
For
import java.util.Scanner;
import java.text.DecimalFormat;
public class CicloFor {
public static void main(String args[]) {
System.out.print("La suma es:");
Scanner teclado=new Scanner(System.in);
System.out.println(suma);
float suma,valor,promedio; int f;
promedio=suma/10;
suma=0;
System.out.print("El promedio es:");
for(f=1;f<=10;f++) {
System.out.print(“Ingrese valor”);
DecimalFormat df = new
DecimalFormat(“0.00”);
valor=teclado.nextFloat();
suma=suma+valor;
System.out.print(df.format(promedio));
}}
}
CicloFor
While
import java.util.Scanner;
public class CicloWhile {
while (x<=n) {
System.out.print("Ingrese la medida de la pieza:");
public static void main(String[] ar) {
largo=teclado.nextFloat();
Scanner teclado=new Scanner(System.in);
if (largo>=1.20 && largo<=1.30) {
int x,cantidad,n;
cantidad = cantidad +1;
float largo;
}
x=1;
x=x + 1;
cantidad=0;
}
System.out.print("Cuantas piezas procesará:"); System.out.print("piezas aptas son:");
n=teclado.nextInt();
System.out.print(cantidad);}
}
CicloWhile
Do-While
import java.util.Scanner;
public class CicloDo {
public static void main(String[] ar) {
Scanner teclado=new Scanner(System.in);
int cant1,cant2,cant3,suma;
float peso;
cant1=0;
cant2=0;
cant3=0;
do {
System.out.print("Ingrese el peso de la pieza (0 para finalizar):");
peso=teclado.nextFloat();
if (peso>10.2) {
System.out.print("Piezas aptas:");
cant1++;
System.out.println(cant2);
} else {
System.out.print("Piezas con un peso superior a 10.2:");
if (peso>=9.8) {
System.out.println(cant1);
cant2++;
System.out.print("Piezas con un peso inferior a 9.8:");
} else {
System.out.println(cant3);
if (peso>0) {
cant3++;
}
}
}
}
}
} while(peso!=0);
suma=cant1+cant2+cant3;
CicloDo
Práctica 6
1. Escribir un programa que lea 10 números enteros y luego muestre cuántos valores ingresados
fueron múltiplos de 3 y cuántos de 5. Debemos tener en cuenta que hay números que son
múltiplos de 3 y de 5 a la vez.
2. Se cuenta con la siguiente información:
Las edades de 50 estudiantes del turno mañana.
Las edades de 60 estudiantes del turno tarde.
Las edades de 110 estudiantes del turno noche.
Las edades de cada estudiante deben ingresarse por teclado.
a) Obtener el promedio de las edades de cada turno (tres promedios)
b) Imprimir dichos promedios (promedio de cada turno)
c) Mostrar por pantalla un mensaje que indique cual de los tres turnos tiene un promedio de
edades mayor.
3. Desarrollar un programa que permita la carga de 10 valores por teclado y muestre
posteriormente la suma de los valores ingresados y su promedio.
4. Escribir un programa que solicite la carga de números reales por teclado, obtener su
promedio. Finalizar la carga de valores cuando se cargue el valor 0.
5. Hacer un programa que ingrese n alturas de personas por teclado. Mostrar la altura promedio
de las personas.
Tarea 6
1. Investigar las sintaxis para 5 métodos de la clase math.h y hacer 2 programas que utilicen
estos métodos.
2. Investigar las sintaxis para 5 métodos de la clase String.h y hacer 2 programas que utilicen
estos métodos.
3. Investigar 3 de los paquetes que se pueden utilizar en java
4. Una lista de 3 clases para cada uno de los paquetes del punto 3
Descargar