Que tal amigos, por lo general no suelo pedir ayuda porque me gusta encontrarle solución al problema a mi solo pero esta vez creo que dejare ese orgullo a un lado porque se que es bueno pedir opiniones y con ello mejoramos cada vez más.
El problema es pedir un número entre el 3 y 5, ese número será el valor de número enteros que vas a pedir, por ejemplo:
System.out.print("Ingresa un valor entre el 3 y el 5: ");
valor=in.nextInt();
Dependiendo el valor supongamos que es "3" pasa lo siguiente:
for(int a=1; a<=valor; a++){
System.out.print("Ingresa un valor entero: ");
valor2=in.nextInt();
}
Ahora el problema esta en que imprima una gráfica con ateriscos con los valores ingresados, supongamos que:
Ingresa un valor entero: 3
Ingresa un valor entero: 4
Ingresa un valor entero: 5
Se tendría que ver así:
***
****
*****
He intentado de varias formas pero lo que he conseguido son cosas similares a estas:
Ingresa un valor entero: 4
****Ingresa un valor entero:5
*****Ingresa un valor entero:6
******
-----------------------------------------------------
Ingresa un valor entero: 5
Ingresa un valor entero:6
Ingresa un valor entero:7
*******
*******
*******
Lo que necesito es que primero me pida los datos y después me muestre los asteriscos como les mencionaba arriba:
Ingresa un valor entero:2
Ingresa un valor entero:3
Ingresa un valor entero:4
**
***
****
Agradecería su ayuda. Saludos
Si puedes pasar lo que tienes hecho mejor, asi te decimos donde esta mal y no tenemos que hacerlo desde cero :D
import java.util.*;
public class Escalera22{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
int val, acu=0, valor;
System.out.print("Ingresa un valor entero entre el 3 y el 5: ");
val=in.nextInt();
if(val>=3 && val<=5 ){
for(int l=1; l<=val; l++){
System.out.print("Ingresa valor entero: ");
valor=in.nextInt();
acu=valor;
for(int g=1; g<=val; g++){
for(int t=1; t<=acu; t++){
System.out.print("*");
}
System.out.println("");
}
}
}
else{
System.out.println("Ingresa un dato válido");
}
}
}
Ese es mi código hasta ahora.
A ver en si es una tontería, pero igual no te he entendido muy bien. La cosa es sencilla únicamente debes jugar con un bucle for sencillo esto a medida vayas avanzando se complicará a bucles anidados (matrices), etc...
Supongo que ya sabrás de que te hablo, lamento no poder introducirte mucho en materia pero es que hoy estoy cansado de estudiar y ando un poco vago...
Lo dicho explicándote de forma superficial instancias la clase scanner, recibes el valor y creas un bucle que empiece en 1 hasta el valor indicado, luego repites el proceso x veces y separas con un salto de línea, puedes utilizar un println o una secuencia de escape.
import java.util.Scanner;
public class Underc0de {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("Introduce los valores enteros: ");
int valor1 = s.nextInt();
int valor2 = s.nextInt();
int valor3 = s.nextInt();
s.close();
for(int i=1; i<=valor1; i++){
System.out.print("*");
}
System.out.println();
for(int i=1; i<=valor2; i++){
System.out.print("*");
}
System.out.println();
for(int i=1; i<=valor3; i++){
System.out.print("*");
}
}
}
La salida:
Introduce los valores enteros: 3 4 5
***
****
*****
Te recomiendo ser más concreto a la hora de hacer importaciones no se ve muy bien ese exceso "*" y luego recuerda cerrar tu objeto de la clase escaner.
Un saludo!
Gracias por la ayuda, aprecio bastante la molestia de ver mi tema. Saludos