Java - 10 numeros anteriores de N

 
Vista:

10 numeros anteriores de N

Publicado por Oscar (1 intervención) el 30/08/2019 03:17:22
Algoritmo que lea el valor de N e imprima los 10 anteriores numeros de N, sumarlos e imprimir el resultado.
Tecnicamente el problema que tengo es que no se imprimir unicamente los 10 numeros que estan antes de N, gracias muchachos:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int n;
Scanner lector=new Scanner (System.in);
 
int num1=10, desde=0, hasta=10;
 
System.out.println("Este programa imprime los numeros naturales menores al numero ingresado");
 
System.out.print("\nIngrese un numero entero: ");
int s[] = new int[10];
n=lector.nextInt ();
 
 
System.out.println(" ");
for (int a=0;a<n;a++){
 
//Imprimo texto por pantalla.
   System.out.print(a + ", ");
}
 
 
//Imprimo texto por pantalla.
System.out.println(" ");
 
//Imprimo texto por pantalla.
System.out.println("            -- El programa ha finalizado -- ");
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

10 numeros anteriores de N

Publicado por Thanatos (97 intervenciones) el 30/08/2019 11:11:57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void main (String[] args) {
    Scanner sc = new Scanner(System.in);
    int[] numeros = new int[10];
    int suma = 0;
 
    System.out.print("Ingrese un numero entero: ");
    int ultimo = sc.nextInt();
    sc.close();
 
    for (int i = numeros.length - 1; i >= 0; --i) {
        numeros[i] = --ultimo;
        suma += numeros[i];
    }
 
    for (int numero : numeros) {
        System.out.print(numero + "  ");
    }
 
    System.out.println("\nsuma = " + suma);
}

También podrías hacerlo sin el array, porque no es necesario almacenar los 10 números para mostrarlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[ALTERNATIVA] 10 numeros anteriores de N

Publicado por Billy Joel (876 intervenciones) el 30/08/2019 16:42:21
A continuación una alternativa...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;
 
public class Main {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("\nEste programa imprime los numeros naturales menores al numero ingresado\nIngrese un numero entero: ");
        int n = sc.nextInt();
        int suma = 0;
        for (int i = n - 1; i > n - 1 - 10; i--) {
            suma += i;
            System.out.print(i + (i - 1 > n - 1 - 10 ? ", " : "\n"));
        }
        System.out.println("La suma es: " + suma);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha aumentado su posición en 167 puestos en Java (en relación al último mes)
Gráfica de Java

[ALTERNATIVA] 10 numeros anteriores de N

Publicado por Neider (9 intervenciones) el 29/10/2020 20:40:45
alguna alternativa para no usar el operador ( ? )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[ALTERNATIVA] 10 numeros anteriores de N

Publicado por Billy Joel (876 intervenciones) el 29/10/2020 21:00:23
Eso se llama operador ternario, es un if-else en una línea. El operador ternario funciona así:
(condición) ? "esto es cierto" : "esto es falso"

Por ejemplo:
1
System.out.println(2 < 1 ? "Cierto" : "Falso");

La consola imprimirá Falso.

Si ya queda claro eso entonces acá te dejo lo mismo pero sin el operador ternario.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("\nEste programa imprime los numeros naturales menores al numero ingresado\nIngrese un numero entero: ");
        int n = sc.nextInt();
        int suma = 0;
        for (int i = n - 1; i > n - 1 - 10; i--) {
            suma += i;
            //System.out.print(i + (i - 1 > n - 1 - 10 ? ", " : "\n"));
            System.out.print(i);
            if ((i - 1 > n - 1 - 10)) {
                System.out.print(", ");
            } else {
                System.out.println();
            }
        }
        System.out.println("La suma es: " + suma);
    }
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar