lunes, 9 de enero de 2017

Ejercicio de examen: "Introduce una secuencia de numeros en progresión, de menor a mayor. Si introduces por ejemplo... 1,3,5,2 - deberá saltar de linea al 2"

 

public static void main(String[] args) {
  Scanner teclado = new Scanner(System.in);
  //Creo una tabla de float de tamaño 50, para almacenar todos los numeros
  float [] numeros;
  numeros = new float [10];
  
  //Introduzco todos los numeros en tabla de floats
  for (int i = 0; i < numeros.length; i++) {
   System.out.println("Introduce un numero: ");
   numeros[i] = teclado.nextFloat();
  }
  
  for (int j = 0; j < numeros.length; j++) {   
   try{
   
   //Si el numero, es mayor al que va después, lo imprimo y cambio de linea
   if (numeros[j] > numeros[j+1]){
    System.out.println(numeros[j]+"  ");
   }
   //Si el numero es menor o igual al que va después, lo imprimo y sigo en esa misma linea
   if (numeros[j] <= numeros[j+1]){
    System.out.print(numeros[j]+"  ");
   }
   
   } catch (ArrayIndexOutOfBoundsException e){
    
   }
   
  } 
  
  System.out.println(numeros[numeros.length-1]);
  
   /*if(numeros[numeros.length-2] > numeros[numeros.length-1]){
    System.out.println();
    System.out.print(numeros[numeros.length-1]);
   }else{
    System.out.print(numeros[numeros.length-1]);
   }*/
   

  teclado.close();
 }

lunes, 7 de noviembre de 2016

Aprendiendo cosillas de StringBuffer

 

public static void main(String[] args) {
  // TODO Auto-generated method stub
  StringBuffer palabra = new StringBuffer("Hola");
  
  //Para mostrarlo normal...
  System.out.println("--> Muestro el StringBuffer");
  System.out.println(palabra+"\n");
  
  //Para darle la vuelta a la palabra...
  System.out.println("--> Le damos la vuelta al StringBuffer");
  System.out.println(palabra.reverse()+"\n");
  
  //Sustituir una posición del StringBuffer, por un caracter
  //Creo otro StringBuffer
  System.out.println("--> Creo otro StringBuffer, y cambio la posición '0', que es 'H' por 'h'");
  StringBuffer palabra2 = new StringBuffer("Hola");
  palabra2.setCharAt(0,'h');
  System.out.println(palabra2+"\n");
 }

Implementa un programa Java que lea de la entrada estándar una frase y la analice para informarnos de: -número de caracteres que tiene. -número de caracteres alfabéticos que tiene.

 


 public static void main(String[] args) {
  Scanner teclado = new Scanner(System.in);
  
  int numCaracteres = 0, numCaracteresAlfa = 0, numCaracteresA = 0;
  String frase = "";
  
  System.out.println("Escribe una frase...");
  frase = teclado.nextLine();
  
  numCaracteres = frase.length();
  
  System.out.println("Tu frase tiene "+numCaracteres+" caracteres");
  
  //Al recorrer el string, el length(), reconoce los characteres como enteros, entonces
  //hay que poner 'chartAt' para que lea el caracter tal cual
  
  for (int i = 0; i < frase.length(); i++) {
   if(Character.isLetter(frase.charAt(i))){
   numCaracteresAlfa++;
   }
  }
  
  for (int i = 0; i < frase.length(); i++) {
   if(frase.charAt(i)=='a'){
   numCaracteresA++;
   }
  }
   
  System.out.println("Tu frase tiene "+numCaracteresAlfa+" caracteres alfabéticos");
  System.out.println("La cantidad de 'a' = "+numCaracteresA);
  
  teclado.close();
 }

viernes, 14 de octubre de 2016

Fernando: " Dada una medida de tiempo expresada en horas, minutos y segundos con valores arbitrarios, elabore un programa que transforme dicha medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s, el programa deberá obtener como resultado 5h 1m 15s. "

 

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner teclado= new Scanner(System.in);
  int [] hora = new int [3];
  
  for (int i = 0; i < hora.length; i++) {
   System.out.print("Ingresa la hora (horas - minutos - segundos) : ");
            hora[i]=teclado.nextInt();
  }
  
  for (int i = 0; i < hora.length; i++) {
   if ( hora[1] >= 60){
    hora[0] += 1;
    hora[1] -= 60;
   }
   if ( hora [2] >= 60){
    hora[1] += 1;
    hora[2] -= 60;
   }
  }
  
  System.out.println("Son las... "+hora[0]+" h "+hora[1]+" min "+hora[2]+" seg");
  
  teclado.close();
 }

Fernando: "Programa que calcule el gasto de agua en una vivienda dado el número de litros gastados, siendo el sistema de cobro: - la cuota fija mensual es de 6 € - los primeros 50 litros son gratis (opción 1) - entre 50 y 200 litros se cobra el litro a 0.1 € (opción 2) - a partir de 200 litros se cobra el litro a 0.3 € (opción 3)"

 

public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner teclado= new Scanner(System.in);
  
  double cuota = 0;
  int cuotaFija = 6;
  int litros = 0;
  
  System.out.println("Introduce los litros de agua que consumiste en el mes: ");
  litros = teclado.nextInt();
  
  if (litros <= 50){
   cuota = cuotaFija;
   System.out.println("Tienes que pagar: "+cuota+ " €");
  }
  if (litros > 50 && litros < 200) {
   cuota = ((litros-50) * 0.1) + cuotaFija;
   System.out.println("Tienes que pagar: "+cuota+ " €");
  }
  if (litros >= 200) {
   cuota = ((litros-50) * 0.3) + cuotaFija;
   System.out.println("Tienes que pagar: "+cuota+ " €");
  }
   
  
  teclado.close();
 }

lunes, 10 de octubre de 2016

Fernando: Contar los dígitos de un número entero


public class DigitoNumero {

 public static void main(String[] args) {
  Scanner teclado = new Scanner(System.in);
  int num;
  int cantidadDigitos;
  String digitos = "";
  
  System.out.println("Introduce un numero: ");
  num = teclado.nextInt();
  
  //Con "Integer.String()" pasamos el valor del dato entero, a la cadena digitos
  digitos = Integer.toString(num);
  
  //Poniendo .length() , averiguamos la cantidad de digitos del String digitos
  cantidadDigitos = digitos.length();
  
  //Finalmente mostramos la cantidad de digitos
  System.out.println("Los digitos que tiene el número "+num+" son: "+cantidadDigitos+".");
  
  teclado.close();
 }

}

viernes, 7 de octubre de 2016

Fernando: " Programa que lea el precio de un producto y a partir de un precio () , lo incremente en un 11%. Si su valor final es inferior a 1000 €, deberá imprimir el precio del producto, pero a partir de 1000 € tan solo imprimirá el mensaje: "Cariiiisimo" ... incluidas las comillas. "

 

public class Fernando1 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner teclado= new Scanner(System.in);
  
  float precioProducto;
  float precioIncrementado;
  float aux;
  
  System.out.println("Introduce el precio de un producto: ");
  precioProducto = teclado.nextFloat();
    
  aux = (precioProducto * 11) / 100;
  precioIncrementado = precioProducto + aux;
  
  if (precioIncrementado <= 1000)
   System.out.println("El producto incrementado en un 11%, costaría: "+precioIncrementado+" €");
  if (precioIncrementado > 1000)
   System.out.println("''Cariiiisimo''");
  
  teclado.close();
 }

}