En Java Existen varios Objetos que permiten Entrada y Salida de datos a través de la Consola (es decir teclado y pantalla).

System.out.print (clase de salida)

la Clase System.out contiene 2 flujos de salida, a saber: - print - println

La diferencia entre ambos sería que println da un “enter” al final de cada línea de código mostrado.

La sintaxis general de ambos es:

1. print(“mensaje a enviar”);

2. print(variable);

3. print(“mensaje a enviar “ + variable);

en el caso 1, solo se tiene que escribir el texto que deseamos enviar a la pantalla.

Por ejemplo:

          System.out.print(“Hola mundo”);

En el caso 2, se muestra unicamente el contenido de una variable, supongamos que existe la variable x de tipo int que contiene un 60. Para enviar al monitor su contenido sería:

          System.out.print(x);

Como sabemos en la pantalla de la computadora ser verá un 60.

En el caso 3, se hacen ambas cosas, es decir, se envia el mensaje y se muestra un contenido de variable. Por ejemplo suponga que se calculó el sueldo de una persona y se guardó en la variable double w, entonces la sintaxis sería:

       System.out.print(“El sueldo a pagar es “ + w);

System.in (Clase de entrada)

La clase System.in podriamos decir que por si misma no puede funcionar y requiere de otra para dicho propósito: Scanner.

A diferencia de System.out.print que se puede usar “directo” en el caso de Scanner y System.in se requiere de un objeto intermediario. La sintaxis sería:

  Scanner nombreObjeto = new Scanner(System.in);

Donde nombreObjeto puede ser cualquier identificador (o sea nombre) que usted desee darle.

Por ejemplo, yo decidí nombrar mi objeto con el identificador tepic. Por tanto mi sintaxis queda:

  Scanner tepic = new Scanner(System.in);

Ahora tepic por ser un objeto de tipo Scanner (dirigido a la clase de entrada System.in) tiene métodos necesarios para la captura de datos. A saber:

- nextLine(); Sirve para capturar una cadena - nextInt(); Permite la captura de Enteros - nextFloat(); Captura valores decimales y los deposita en variables del mismo tipo. - nextDouble(); Igual que el anterior pero con mas decimales después del punto. - nextBoolean(); Captura un true o false

Ahora pasemos a un poco de código porque en ocaciones usar este flujo resulta un poco “abstracto” de entender.

Declaramos las variables:

int s; double w; String nom;

tambien suponga que declaramos un objeto Scanner para poder capturar los datos desde teclado:

Scanner tecno = new Scanner(System.in);

suponga que deseo hacer un código para capturar datos en ellas, bien, obviando la cabecera, los imports etc. el código sería algo como:

System.out.print(“Escriba el valor de W: “); w = tecno.nextDouble(); System.out.print(“Ahora Escriba el valor de S: “); s = tecno.nextInt(); System.out.print(“Por último escriba el valor de NOM: “); nom = tecno.nextLine();

Note usted que despues del prefijo next se usa una mayúscula.

Ahora un programa ejemplo completo para aquellos que aprenden mejor analizando código:

- NOTA IMPORTANTE -

El siguiente código no esta completamente orientado a objetos ya que se tendría que crear por lo menos 2 clases (una de datos y otra de programa), sin embargo el ejemplo trata unicamente de explicar el uso de flujos de E/S.

- FIN DE NOTA IMPORTANTE -

Se desea calcular el sueldo de un trabajador. Para ello se usa la fórmula:

          sueldo = diasTrabajado * pagoDiario;

_______________________________________________________

import java.util.Scanner;

public class sueldoTrabajador {

     public static void main(String args[]) {
          double sueldo, pagoDiario;
          int diasTrabajados;
          Scanner capt = new Scanner(System.in);

          System.out.print(“Cuantos días trabajo?:”);
          diasTrabajados = capt.nextInt();
          System.out.print(“Cuanto gana usted al día?: “);
          pagoDiario = capt.nextDouble();
          sueldo = diasTrabajados * pagoDiario;
          System.out.println(“Usted ganará: “ + sueldo);
     }

} ______________________________________________________


Google