- Desde
- 13 Feb 2013
- Mensajes
- 209
Buenas a todos,
Estoy estudiando programación Java pero aun soy muy novato y me han pedido que de tarea tengo que hacer una aplicación en Java.
El ejercicio dice:
Haced un programa que permita introducir los caballos que tiene un vehículo, y guardarlos en un array (controlad la entrada de datos, no sirve que aceptemos caballos negativos o cero…). La entrada de datos finalizará
cuando los caballos de un vehículo sean -2.
Después de leer todos los números, el programa debe mostrar un conjunto
de opciones, que serán las siguientes:
· Máximo: se debe mostrar el vehículo que tiene más caballos (número de caballos y posición del array)
· Mínimo: se debe mostrar el vehículo que tiene menos caballos (número de caballos y posición del array)
· Multiplicar: se deben de multiplicar los caballos por dos.
· Relación caballos/peso. El programa debe decir cuántos vehículos cumplen que la relación de dividir el peso (siempre será 1000Kg) por los caballos sea inferior a 8.
Un ejemplo de el funcionamiento del programa:
Introducimos números:
10
33
-2
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
Introducimos un 3 (multiplicamos por dos todos los valores del array, por lo que tendríamos ahora 20, 66)
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos un 2.Programa:El mínimo es 20 y está en la posición 0
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos un 3 (multiplicamos por dos todos los valores del array, por lo que tendríamos ahora 40, 132)
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos un 4. Programa: Un vehículo cumple la relación caballos-peso.(peso dividido por caballos, lo dice el enunciado)
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos 5. Programa: gracias por usar el software (y se cierra)
Aquí esta el código que he podido realizar.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class prueva4{
public static void main (String args[]) {
int v=4;
int num=0;
int[] caballos = new int[v];
int iNumeroMayor,iNumeroMenor=0, iPosicionm=0, iPosicion;
//Presuponemos que el numero mayor es el primero
iNumeroMayor = caballos[0];
iPosicion = 0;
for (int i=0;i<v;i++){
try {
System.out.println("Cuantos caballos tiene el vehiculo?");
String linea1=System.console().readLine();
num=Integer.parseInt(linea1);
caballos=num;
} catch(Exception e){
//Control de errores
System.out.println("Error: Solo se pueden insertar numeros.");
}}
//Recorremos los demas para ver si hay alguno mayor
//En tal caso sustituiremos el numeroMayor por el nuevo valor
//Y la variable posicion por el numero del elemento del array
//en el que estemos
for (int x=1;x<v;x++){
if (caballos[x]>iNumeroMayor){
iNumeroMayor = caballos[x];
iPosicion = x;
}
}
iNumeroMenor=iNumeroMayor;
for (int j=0;j<v;j++){
if (caballos[j]<iNumeroMenor){
iNumeroMenor = caballos[j];
iPosicionm = j;
}
}
System.out.println("El numero mayor encontrado es " + iNumeroMayor);
System.out.println("Y se encuentra en la posicion " + iPosicion);
System.out.println("El numero menor encontrado es " + iNumeroMenor);
System.out.println("Y se encuentra en la posicion " + iPosicionm);
}
}
..............................................
Para multiplicar los caballos por 2 creo que tendría que hacer un: caballos*=caballos ya que el programa tiene que multiplicarlos por dos y guardar el resultado.
Mis dudas:
Como hago para que el programa permita poner números asta que uno escriba el -2.
Como hago para que cuando uno escriba un numero negativo salga un error?
Como puedo crear un menú como en el ejemplo?
y la relación entre Relación caballos/peso no la entiendo :S tampoco se como hacerla :S
Si alguien me pudiera ayudar estaría muy agradecido :encouragement:
Estoy estudiando programación Java pero aun soy muy novato y me han pedido que de tarea tengo que hacer una aplicación en Java.
El ejercicio dice:
Haced un programa que permita introducir los caballos que tiene un vehículo, y guardarlos en un array (controlad la entrada de datos, no sirve que aceptemos caballos negativos o cero…). La entrada de datos finalizará
cuando los caballos de un vehículo sean -2.
Después de leer todos los números, el programa debe mostrar un conjunto
de opciones, que serán las siguientes:
· Máximo: se debe mostrar el vehículo que tiene más caballos (número de caballos y posición del array)
· Mínimo: se debe mostrar el vehículo que tiene menos caballos (número de caballos y posición del array)
· Multiplicar: se deben de multiplicar los caballos por dos.
· Relación caballos/peso. El programa debe decir cuántos vehículos cumplen que la relación de dividir el peso (siempre será 1000Kg) por los caballos sea inferior a 8.
Un ejemplo de el funcionamiento del programa:
Introducimos números:
10
33
-2
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
Introducimos un 3 (multiplicamos por dos todos los valores del array, por lo que tendríamos ahora 20, 66)
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos un 2.Programa:El mínimo es 20 y está en la posición 0
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos un 3 (multiplicamos por dos todos los valores del array, por lo que tendríamos ahora 40, 132)
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos un 4. Programa: Un vehículo cumple la relación caballos-peso.(peso dividido por caballos, lo dice el enunciado)
Mostramos menú: Que desea hacer? 1.-máximo, 2.-mínimo, 3.-multiplicar, 4-relación caballos peso, 5.-salir
introducimos 5. Programa: gracias por usar el software (y se cierra)
Aquí esta el código que he podido realizar.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class prueva4{
public static void main (String args[]) {
int v=4;
int num=0;
int[] caballos = new int[v];
int iNumeroMayor,iNumeroMenor=0, iPosicionm=0, iPosicion;
//Presuponemos que el numero mayor es el primero
iNumeroMayor = caballos[0];
iPosicion = 0;
for (int i=0;i<v;i++){
try {
System.out.println("Cuantos caballos tiene el vehiculo?");
String linea1=System.console().readLine();
num=Integer.parseInt(linea1);
caballos=num;
} catch(Exception e){
//Control de errores
System.out.println("Error: Solo se pueden insertar numeros.");
}}
//Recorremos los demas para ver si hay alguno mayor
//En tal caso sustituiremos el numeroMayor por el nuevo valor
//Y la variable posicion por el numero del elemento del array
//en el que estemos
for (int x=1;x<v;x++){
if (caballos[x]>iNumeroMayor){
iNumeroMayor = caballos[x];
iPosicion = x;
}
}
iNumeroMenor=iNumeroMayor;
for (int j=0;j<v;j++){
if (caballos[j]<iNumeroMenor){
iNumeroMenor = caballos[j];
iPosicionm = j;
}
}
System.out.println("El numero mayor encontrado es " + iNumeroMayor);
System.out.println("Y se encuentra en la posicion " + iPosicion);
System.out.println("El numero menor encontrado es " + iNumeroMenor);
System.out.println("Y se encuentra en la posicion " + iPosicionm);
}
}
..............................................
Para multiplicar los caballos por 2 creo que tendría que hacer un: caballos*=caballos ya que el programa tiene que multiplicarlos por dos y guardar el resultado.
Mis dudas:
Como hago para que el programa permita poner números asta que uno escriba el -2.
Como hago para que cuando uno escriba un numero negativo salga un error?
Como puedo crear un menú como en el ejemplo?
y la relación entre Relación caballos/peso no la entiendo :S tampoco se como hacerla :S
Si alguien me pudiera ayudar estaría muy agradecido :encouragement: