Ayuda con Algoritmo en java
Publicado por Norela (4 intervenciones) el 26/02/2011 04:39:55
Buenas noches,
Quisiera que alguien me pudiera ayudar con el siguiente ejercicio que me pusieron en la Universidad.
“Elabore algoritmo que lea un número entero menor que 32768 y que determine cuántos dígitos tiene”.
Sé que es fácil de desarrollar, pero aunque he tratado de hacerlo de varias formas, realmente no sé en que falla porque siempre me sale error o no me muestra lo que quiero.
Cabe aclarar que no puedo utilizar la estructura ciclo, pues fue una restricción que puso el profesor para el ejercicio, lo debo hacer en java a través de Netbeans.
Estas han sido las formas que he utilizado:
Primera forma:
public static void main(String[] args) {
{
long n;
n < 32768;
Scanner teclado = new Scanner (System.in);
System.out.println("Ingrese el número a leer");
n = teclado.nextLong();
{
if (n < 10);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene un dígito");
else if (n < 100);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene dos dígitos");
else if (n < 1000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene tres dígitos");
else if (n < 10000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cuatro dígitos");
else if (n < 100000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cinco dígitos");
else
System.out.println("El número no puede ser leído");
}
}
}
}
}
Segunda Forma: Aquí corregí los espacios en el código anterior y tampoco funcionó:
public static void main(String[] args) {
{
long n;
n < 32768;
Scanner teclado = new Scanner (System.in);
System.out.println("Ingrese el número a leer");
n = teclado.nextLong();
{
if (n < 10);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene un dígito");
else
if (n < 100);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene dos dígitos");
else
if (n < 1000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene tres dígitos");
else
if (n < 10000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cuatro dígitos");
else
if (n < 100000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cinco dígitos");
else
System.out.println("El número no puede ser leído");
}
}
}
}
}
Tercera Forma:
public static void main(String[] args) {
long n;
Scanner teclado = new Scanner(System.in);
n = teclado.nextLong();
System.out.println("Ingrese número: ");
{
switch long (n);
{
case 1: if (n < 32768 && n < 10);
System.out.println("El número es " + n "y tiene un dígito");
break;
case 2: if (n < 32768 && n < 100);
System.out.println("El número es " + n "y tiene dos dígitos");
break;
case 3: if (n < 32768 && n < 1000);
System.out.println("El número es " + n "y tiene tres dígitos");
break;
case 4: if (n < 32768 && n < 10000);
System.out.println("El número es " + n "y tiene cuatro dígitos");
break;
case 5: if (n < 32768 && n < 100000);
System.out.println("El número es " + n "y tiene cinco dígitos");
break;
default:
System.out.println("Ingrese un número menor que 32768");
}
n = teclado.nextLong();
}
}
}
Cuarta forma:
public static void main(String[] args) {
{
long n;
n < 32768;
Scanner teclado = new Scanner (System.in);
System.out.println("Ingrese el número a leer");
n = teclado.nextLong();
{
if (n < 10);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene un dígito");
if (n < 100);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene dos dígitos");
if (n < 1000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene tres dígitos");
if (n < 10000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cuatro dígitos");
if (n < 100000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cinco dígitos");
System.out.println("El número no puede ser leído");
}
}
}
}
Quinta forma: El mismo algoritmo anterior, solo que en la definición de variables quite n < 32768. Pero me evaluó el número en todos los casos.
Este fue el resultado:
run:
Ingrese el número a leer
98
El número leido fue 98
El número tiene un dígito
El número leido fue 98
El número tiene dos dígitos
El número leido fue 98
El número tiene tres dígitos
El número leido fue 98
El número tiene cuatro dígitos
El número leido fue 98
El número tiene cinco dígitos
El número no puede ser leído
BUILD SUCCESSFUL (total time: 9 seconds)
Espero puedan decirme que es lo que estoy haciendo mal (probablemente muchas cosas, pues soy nueva en este medio).
Les quedo muy agradecida.
:)
Norela M.
Quisiera que alguien me pudiera ayudar con el siguiente ejercicio que me pusieron en la Universidad.
“Elabore algoritmo que lea un número entero menor que 32768 y que determine cuántos dígitos tiene”.
Sé que es fácil de desarrollar, pero aunque he tratado de hacerlo de varias formas, realmente no sé en que falla porque siempre me sale error o no me muestra lo que quiero.
Cabe aclarar que no puedo utilizar la estructura ciclo, pues fue una restricción que puso el profesor para el ejercicio, lo debo hacer en java a través de Netbeans.
Estas han sido las formas que he utilizado:
Primera forma:
public static void main(String[] args) {
{
long n;
n < 32768;
Scanner teclado = new Scanner (System.in);
System.out.println("Ingrese el número a leer");
n = teclado.nextLong();
{
if (n < 10);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene un dígito");
else if (n < 100);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene dos dígitos");
else if (n < 1000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene tres dígitos");
else if (n < 10000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cuatro dígitos");
else if (n < 100000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cinco dígitos");
else
System.out.println("El número no puede ser leído");
}
}
}
}
}
Segunda Forma: Aquí corregí los espacios en el código anterior y tampoco funcionó:
public static void main(String[] args) {
{
long n;
n < 32768;
Scanner teclado = new Scanner (System.in);
System.out.println("Ingrese el número a leer");
n = teclado.nextLong();
{
if (n < 10);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene un dígito");
else
if (n < 100);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene dos dígitos");
else
if (n < 1000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene tres dígitos");
else
if (n < 10000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cuatro dígitos");
else
if (n < 100000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cinco dígitos");
else
System.out.println("El número no puede ser leído");
}
}
}
}
}
Tercera Forma:
public static void main(String[] args) {
long n;
Scanner teclado = new Scanner(System.in);
n = teclado.nextLong();
System.out.println("Ingrese número: ");
{
switch long (n);
{
case 1: if (n < 32768 && n < 10);
System.out.println("El número es " + n "y tiene un dígito");
break;
case 2: if (n < 32768 && n < 100);
System.out.println("El número es " + n "y tiene dos dígitos");
break;
case 3: if (n < 32768 && n < 1000);
System.out.println("El número es " + n "y tiene tres dígitos");
break;
case 4: if (n < 32768 && n < 10000);
System.out.println("El número es " + n "y tiene cuatro dígitos");
break;
case 5: if (n < 32768 && n < 100000);
System.out.println("El número es " + n "y tiene cinco dígitos");
break;
default:
System.out.println("Ingrese un número menor que 32768");
}
n = teclado.nextLong();
}
}
}
Cuarta forma:
public static void main(String[] args) {
{
long n;
n < 32768;
Scanner teclado = new Scanner (System.in);
System.out.println("Ingrese el número a leer");
n = teclado.nextLong();
{
if (n < 10);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene un dígito");
if (n < 100);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene dos dígitos");
if (n < 1000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene tres dígitos");
if (n < 10000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cuatro dígitos");
if (n < 100000);
System.out.println("El número leido fue " + n );
System.out.println("El número tiene cinco dígitos");
System.out.println("El número no puede ser leído");
}
}
}
}
Quinta forma: El mismo algoritmo anterior, solo que en la definición de variables quite n < 32768. Pero me evaluó el número en todos los casos.
Este fue el resultado:
run:
Ingrese el número a leer
98
El número leido fue 98
El número tiene un dígito
El número leido fue 98
El número tiene dos dígitos
El número leido fue 98
El número tiene tres dígitos
El número leido fue 98
El número tiene cuatro dígitos
El número leido fue 98
El número tiene cinco dígitos
El número no puede ser leído
BUILD SUCCESSFUL (total time: 9 seconds)
Espero puedan decirme que es lo que estoy haciendo mal (probablemente muchas cosas, pues soy nueva en este medio).
Les quedo muy agradecida.
:)
Norela M.
Valora esta pregunta


0