Java: Contar espacios en blanco en una oracion

El siguiente codigo va a retornar el numero de espacios en blanco de una oracion escrita por el usuario en Java.


Primero escribimos el procedimiento llamado contarEspaciosEnBlanco.


public static void contarEspaciosEnBlanco() {

 }


El procedimiento es static porque solo habra una copia del objeto que estamos creando.

Luego creamos un Scanner para que el usuario pueda escribir la oracion e imprimir el mensaje indicando al usuario que escriba alli.

Scanner kb = new Scanner(System.in);
System.out.println("Escriba una oracion...");

En la variable kb vamos a alojar el mensaje que el usuario escriba en la pantalla. Para asegurarnos que se capture la linea debemos crear una variable typo String llamada oracion.

String oracion= kb.nextLine();

Luego necesitamos contar el numero de caracteres en la oracion. Para eso utilizamos la propiedad .lenght().

int oraLen = oracion.length();

Tambien crear una variable llamada espaciosEnBlanco unizializada en zero.

int espaciosEnBlanco = 0;

Crear un bucle que empieze en 0 y llegue hasta el total numero de caracteres de la oracion. Luego un if va a comparar cada uno de los caracteres en la oracion para ver si es un espacion en blanco. Si es asi, entonces espacios en blanco va a incrementar uno a uno.

for (int i = 0; i <  oraLen; i++) {
if (oracion.charAt(i) == ' ') {
espaciosEnBlanco ++;
}
}


Finalmente el programa va a imprimir el resultado.

System.out.println("El numero de espacios en blanco es su oracion es: " + espaciosEnBlanco );

Todo el codigo se vera asi:


import java.util.Scanner;

public class espBlanco {

public static void main(String[] args) {
// TODO Auto-generated method stub
contarEspaciosEnBlanco();
}


public static void contarEspaciosEnBlanco() {

Scanner kb = new Scanner(System.in);
                System.out.println("Escriba una oracion...");

String oracion= kb.nextLine();
int oraLen = oracion.length();
int espaciosEnBlanco = 0;

for (int i = 0; i <  oraLen; i++) {

if (oracion.charAt(i) == ' ') {
espaciosEnBlanco ++;
}

}

System.out.println("El numero de espacios en blanco es su oracion es: " + espaciosEnBlanco );
}

}




Convertir de numeros a letras en Visual Basic 6.0

El siguiente programa convertira los numeros en letras del 0 al 10,000. Para ellos utilizaremos 2 textbox llamado txtvalor y txtletras, y un commandbutton que se llamara Command1.

El siguiente es el codigo para hacer funcionar el programa. Copiar y pegar en el commandbutton Command1. 




Dim n, z, y, t As String


Private Sub Command1_Click()
n = Val(txtvalor)

If n = 0 Then
nn = ("cero")
End If

z = ""
y = ""
t = ""

For x = 1 To 4


If n = 1 Then
nn = ("uno")
End If


If n = 2 Then
nn = ("dos")
End If


If n = 3 Then
nn = ("tres")
End If


If n = 4 Then
nn = ("cuatro")
End If


If n = 5 Then
nn = ("cinco")
End If


If n = 6 Then
nn = ("seis")
End If


If n = 7 Then
nn = ("siete")
End If


If n = 8 Then
nn = ("ocho")
End If


If n = 9 Then
nn = ("nueve")
End If


If n = 10 Then
nn = ("dies")
End If


If n = 11 Then
nn = ("once")
End If


If n = 12 Then
nn = ("doce")
End If


If n = 13 Then
nn = ("trece")
End If


If n = 14 Then
nn = ("catorce")
End If


If n = 15 Then
nn = ("quince")
End If


If n = 16 Then
nn = ("dieciseis")
End If


If n = 17 Then
nn = ("diecisiete")
End If


If n = 18 Then
nn = ("dieciocho")
End If


If n = 19 Then
nn = ("diecinueve")
End If


If n = 20 Then
nn = ("veinte")
End If


If n = 21 Then
nn = ("veintiuno")
End If


If n = 22 Then
nn = ("veintidos")
End If


If n = 23 Then
nn = ("veintitres")
End If


If n = 24 Then
nn = ("veinticuatro")
End If


If n = 25 Then
nn = ("veinticinco")
End If


If n = 26 Then
nn = ("veintiseis")
End If


If n = 27 Then
nn = ("veintisiete")
End If


If n = 28 Then
nn = ("veintiocho")
End If


If n = 29 Then
nn = ("veintinueve")
End If

If n = 30 Then
nn = ("treinta")

End If


If n > 30 And n < 40 Then
z = "treinta"
s = n - 30
n = s
End If

If n = 40 Then
nn = ("cuarenta")

End If

If n > 40 And n < 50 Then
z = "cuarenta"
s = n - 40
n = s
End If

If n = 50 Then
nn = ("cincuenta")

End If

If n > 50 And n < 60 Then
z = "cincuenta"
s = n - 50
n = s
End If



If n = 60 Then
nn = ("sesenta")

End If

If n > 60 And n < 70 Then
z = "sesenta"
s = n - 60
n = s
End If


If n = 70 Then
nn = ("setenta")

End If

If n > 70 And n < 80 Then
z = "setenta"
s = n - 70
n = s
End If

If n = 80 Then
nn = ("cincuenta")

End If

If n > 80 And n < 90 Then
z = "ochenta"
s = n - 80
n = s
End If



If n = 90 Then
nn = ("noventa")

End If

If n > 90 And n < 100 Then
z = "noventa"
s = n - 90
n = s
End If

If n = 100 Then
nn = ("cien")

End If


If n > 100 And n < 200 Then
y = "ciento"
s = n - 100
n = s
End If

If n = 200 Then
nn = ("doscientos")

End If

If n > 200 And n < 300 Then
y = "doscientos"
s = n - 200
n = s
End If

If n = 300 Then
nn = ("trescientos")

End If

If n > 300 And n < 400 Then
y = "trescientos"
s = n - 300
n = s
End If

If n = 400 Then
nn = ("cuatrocientos")

End If

If n > 400 And n < 500 Then
y = "cuatrocientos"
s = n - 400
n = s
End If

If n = 500 Then
nn = ("quinientos")

End If

If n > 500 And n < 600 Then
y = "quinientos"
s = n - 500
n = s
End If


If n = 600 Then
nn = ("seiscientos")

End If

If n > 600 And n < 700 Then
y = "seiscientos"
s = n - 600
n = s
End If


If n = 700 Then
nn = ("setecientos")

End If

If n > 700 And n < 800 Then
y = "setecientos"
s = n - 700
n = s
End If


If n = 800 Then
nn = ("ochocientos")

End If

If n > 800 And n < 900 Then
y = "ochocientos"
s = n - 800
n = s
End If


If n = 900 Then
nn = ("novecientos")

End If

If n > 900 And n < 1000 Then
y = "novecientos"
s = n - 900
n = s
End If

If n = 1000 Then
nn = ("mil")

End If

If n > 1000 And n < 2000 Then
t = "mil"
s = n - 1000
n = s
End If

If n = 2000 Then
nn = ("dos mil")

End If

If n > 2000 And n < 3000 Then
t = "dos mil"
s = n - 2000
n = s
End If

If n = 3000 Then
nn = ("tres mil")

End If

If n > 3000 And n < 4000 Then
t = "tres mil"
s = n - 3000
n = s
End If

If n = 4000 Then
nn = ("cuatro mil")

End If

If n > 4000 And n < 5000 Then
t = "cuatro mil"
s = n - 4000
n = s
End If

If n = 5000 Then
nn = ("cinco mil")

End If

If n > 5000 And n < 6000 Then
t = "cinco mil"
s = n - 5000
n = s
End If

If n = 6000 Then
nn = ("seis mil")

End If

If n > 6000 And n < 7000 Then
t = "seis mil"
s = n - 6000
n = s
End If

If n = 7000 Then
nn = ("siete mil")

End If

If n > 7000 And n < 8000 Then
t = "siete mil"
s = n - 7000
n = s
End If

If n = 8000 Then
nn = ("ocho mil")

End If

If n > 8000 And n < 9000 Then
t = "ocho mil"
s = n - 8000
n = s
End If

If n = 9000 Then
nn = ("mil")

End If

If n > 9000 And n < 10000 Then
t = "nueve mil"
s = n - 9000
n = s
End If

If n = 10000 Then
nn = ("dies mil")

End If

txtletras.Text = t & " " & " " & y & " " & z & " " & nn

Next
End Sub



Como funcionara el codigo este código:

Dim n, z, y, t As String: Se declaran las variables n, z, y, t tipo cadena.

n = Val(txtvalor): Se asigna a la variable "n" el valor del textbox "txtvalor" en el cual insertaremos el numero que queramos convertir a letra.

If n = 0 Then nn = ("cero") End If: Empezamos preguntando que si el valor de la variable "n"es igual a cero entonces la variable "nn" sera igual a la cadena "cero", este es el numero en letra.

t = "": Se inicializa la variable t con un valor vacio, se le asignas comillas por ser una variable tipo cadena.

For x = 1 To 4: El "For" sirve para repetir un evento la cantidad de veces especificadas en el mismo. En este caso el se repetira 4 veces ya que como se convertiran los numeros hasta el 10,000 las cifras de los numeros  que estan antes del 10,000 son 4.

Luego al igual se continuara preguntando con el If que numero es cual para imprimirlos en letras.

If n > 30 And n < 40 Then z = "treinta" s = n - 30 n = s End If: A partir de el numero 30 se utilizara la variable z para imprimir los numeros correspondientes a la decena. Con la variable "s" se resta a la variable "n" (el valor del textbox) en este caso 30, para conseguir el numero restante en letras.

Y asi sucesivamente...

La variable "t" representa la unidad de mil, la variable "y" la centena, "z" la decena y la variable "nn" representa la unidad.



Foto Christine by matmoon