Hace 3 años que no programo y mañana tengo una entrevista de trabajo para programadora!! Tus vídeos me están ayudando muchísimo, espero tener suerte !! Sigue asi!
gracias por tanto compadre, que DIOS bendiga a tu familia, consulta no recuerdo bien pero en algun momento cuando hice mi practica en java (que dure 3 meses y me despidieron jajaja, muy dificil) para resumir la busqueda del precio mas bajo de un arreglo utilice una herramienta de la clase arrays. esto le podra servir a alguien que esta empezando
los cursos de pildorasinformaticas son buenisimos estoy con (HTML5, JavaScript, Sql) cuando termine programacion de java con alejandro(ATS) voy por Java Con pildorasinfo, son mas de 200 videos pero creo que podre empezar desde el MVC.
Estimado, no se si me puedes ayudar con una duda; cuando instancia el objeto coche[ ] como un arreglo de la clase Vehiculo; la variable entera, numeroVehiculos indica el número de elementos del arreglo; sin embargo el profesor (Q.E.P.D) dice que esa variable indica el numero de objetos a instanciar.
@@keltzeta6068 Bueno por lo que te puedo decir es que si el arreglo no fuera de objetos el numeroVehiculos si indicaría el número de elementos del arreglo, no obstante, en este caso el arreglo es de objetos así que la variable indica el número de objetos a instanciar
A mi me quedó de esta manera el ejercicio 3, por si quieren otra alternativa: **Vehiculo.java** package poo.ejercicio_3; /*Consturir un programa, que dada una serie de vehículos, caracterizados por su marca, modelo y precio, imprima las propiedades del vehículo más barato. Para ello, se deberán leer por teclado las características de cada vehículo y crear una clase que represente a cada uno de ellos.*/ public class Vehiculo { private String marca; private String modelo; private float precio;
public void mostrarDatos(){ System.out.println("La marca del vehículo: " + marca); System.out.println("El modelo del vehículo: " + modelo); } } **MainVehiculo.java** package poo.ejercicio_3; import java.util.Scanner; public class MainVehiculo {
System.out.print("Ingrese la marca del primer vehículo: "); marca = entrada.next(); System.out.print("Ingrese el modelo del primer vehículo: "); modelo = entrada.next(); System.out.print("Ingrese el precio del primer vehículo: "); precio1 = entrada.nextFloat(); v1 = new Vehiculo(marca,modelo,precio1);
while (!opcion.equals("n")){ System.out.print("Ingrese la marca del siguiente vehículo: "); marca = entrada.next(); System.out.print("Ingrese el modelo del siguiente vehículo: "); modelo = entrada.next(); System.out.print("Ingrese el precio del siguiente vehículo: "); precio2 = entrada.nextFloat(); System.out.print("¿Desea continuar? (s/n): "); opcion = entrada.next();
if (precio1 < v1.getPrecio()) { barato = precio1; v1 = new Vehiculo(marca,modelo,barato); } if(precio2 < v1.getPrecio()){ barato = precio2; v1 = new Vehiculo(marca,modelo,barato); } } System.out.println("Los datos del vehículo más barato."); v1.mostrarDatos(); System.out.println("El precio del vehículo es: $" + v1.getPrecio());
D.E.P Alejandro, gracias por tus enseñanzas. Aqui dejo el punto 4 /** * @author Julian Ramirez * @program Ingresa los datos de unos corredores y devuelve los del corredor mas rapido * */ //OBJETO package atletas; public class Atleta { private int numero; private String nombre; private double tiempo; //Constructor public Atleta(int numero, String nombre, double tiempo) { this.numero = numero; this.nombre = nombre; this.tiempo = tiempo; } //Getter de tiempo public double getTiempo() { return tiempo; } //Mostrar datos public String mostrardatos(){ return "ID: "+numero+" Nombre: "+nombre+" Tiempo: "+tiempo; } } //MAIN package atletas; import java.util.Scanner; public class Main { public static void main(String[] args) { int id, cuantos, indice = 0; double tiempo; String nombre; Scanner entrada = new Scanner(System.in); //Cuantos corredores son? System.out.print("Cuantos atletas son?: "); cuantos = entrada.nextInt(); //Array para corredores Atleta[] corredores = new Atleta[cuantos]; //Guardar en un array los datos de los corredores System.out.println(" Ingrese los datos de los atletas"); for (int i = 0; i < corredores.length; i++) { System.out.print("Ingrese el id del atleta "+(i+1)+": "); id = entrada.nextInt(); System.out.print("Ingrese el nombre del atleta "+(i+1)+": "); nombre = entrada.next(); System.out.print("Ingrese el tiempo del atleta "+(i+1)+": "); tiempo = entrada.nextDouble(); corredores[i] = new Atleta(id, nombre, tiempo); System.out.println(); } //Buscar cual es el tiempo mas bajo tiempo = corredores[0].getTiempo(); for (int i = 1; i < corredores.length; i++) { if (corredores[i].getTiempo()
Excelente ejemplo. Yo por mi parte para verificar cuál es el precio menor lo hice de este modo (En realidad no muestro el coche con menor atributo, sino que lo asigno a un nuevo objeto y lo muestro por pantalla) .package poo; import java.util.*; public class Ejercicio_Vehículo { public static void main(String[] args) { Scanner sc= new Scanner (System.in); double mayor=10000000; String modelo; String marca; double precio;
System.out.println("¿Cuántos vehículos desea evaluar?: "); int a=sc.nextInt(); Vehiculo vec [] = new Vehiculo[a]; Vehiculo v_compara= new Vehiculo("","",0); for(int i=0;i
Les dejo mi resolución del ejercicio de la carrera de atletismo package POO; public class Atleta {
//Construir un programa para una competencia de atletismo //el programa debe gestionar una serie de atletas caracterizados por //su número de atleta, su nombre y tiempo de carrera, al final el //programa debe mostrar los datos del atleta ganador de la carrera
//primero, hacer el objeto atleta con sus atributos: numero de atleta, //nombre, y tiempo de carrera. luego, la clase en la que se ingresarán el numero //de atletas y los datos de cada uno. En esa misma clase se hará el método que //determinará cual fué el atleta ganador.
//Atributos private String nombre; private int numeroDeAtleta; private int tiempo;
//metodos public Atleta(String nombre, int numeroDeAtleta, int tiempo){ this.nombre = nombre; this.numeroDeAtleta = numeroDeAtleta; this.tiempo = tiempo; } public int getTiempo() { return tiempo; }
public String mostrarDatos(){ return "Nombre: " + nombre + " número de atleta: " + numeroDeAtleta + " Tiempo de carrera: " + tiempo; } } //Clase main. package POO; import java.util.Scanner; public class Principal {
public static int Ganador(Atleta atletas[]){ int mejorTiempo = atletas[0].getTiempo(); int ganador = 0;
for(int i = 1; i < atletas.length; i++){ if(mejorTiempo > atletas[i].getTiempo()){ mejorTiempo = atletas[i].getTiempo(); ganador = i; } }
return ganador; }
public static void main(String args[]){ Scanner entrada = new Scanner(System.in); String nombre; int numeroDeAtleta; int tiempo; int cuantosAtletas; int atletaGanador;
//se hace un arreglo con el numero de atletas que compitieron System.out.println("Ingrese el número de atletas que han competido: "); cuantosAtletas = entrada.nextInt(); Atleta atletas[] = new Atleta[cuantosAtletas];
for(int i = 0; i < cuantosAtletas; i++){ entrada.nextLine();
System.out.println("Ingrese el nombre del atleta nro " + (i + 1) + ":"); nombre = entrada.nextLine();
System.out.println("Ingrese el número de competidor del atleta nro " + (i + 1) + ":"); numeroDeAtleta = entrada.nextInt();
System.out.println("Ingrese el tiempo de carrera del atleta nro " + (i + 1) + ":"); tiempo = entrada.nextInt();
atletas[i]= new Atleta(nombre, numeroDeAtleta, tiempo); }
atletaGanador = Ganador(atletas); System.out.println("El atleta ganador es el atleta nro " + (atletaGanador + 1) + " " + atletas[atletaGanador].mostrarDatos()) ; } } //Espero que les sirva si se les complicó algo
Este ejercicio ya supone un salto en cuanto a dificultad. Os recomiendo que veáis el video varias veces si hace falta y practiquéis también varias veces, usando ejemplos parecidos. No os desmotivéis. Más vale ir lento pero seguro. Ejercicio 4: import javax.swing.JOptionPane; import java.util.Scanner; public class Main { /*Gestionar una serie de atletas cuyos atributos son numero de dorsal, nombre y tiempo de carrera. El programa debe mostrar el atleta que ha ganado, es decir, el que ha hecho menor tiempo.*/ private static int indicecarrera=0; public static int ganador (Atleta[]corredor) { int carrera=corredor[0].getTiempo(); for (int i=1; i
@@Bulldog-Chelista Hola chelista ¿Qué tal? Si hay algo que no entiendas del video, decime, te puedo ayudar en lo que precises. Que disfrutes del día Domingo. Hasta luego. Atentamente, KindlyChat.
@@juantuvieja4110 Hola Juan Artasa ¿Qué tal? Si hay algo que no entiendas del video, decime, te puedo ayudar en lo que precises. Que disfrutes del día Domingo. Hasta luego. Atentamente, KindlyChat.
/* Ejercicio 4: Construir un programa para una competencia de atletismo, el programa debe gestionar una serie de atletas caracterizados por su número de atleta, nombre y tiempo de carrera, al final el programa debe mostrar los datos del atleta ganador de la carrera.
Diagrama uml: Clasae Atletismo: Atributos numeroAtleta:int nombre: String tiempoCarrera: double Metodos: Constructo(numeroAtleta, nombre,tiempoCarrera); gettiempoCarrera(); mostrarDatos: */ public class Ejercicio4POO { private int numeroAtleta; private String nombre; private double tiempoCarrera;
public double gettimpoCarrera(){ return tiempoCarrera; }
public String mostrarDato(){ return "Numero Atleta: "+numeroAtleta+" nombre: "+nombre+" Tiempo carrera: "+tiempoCarrera; } } ///Clase main o método main public static void main(String[] args) { int numeroAtleta; String nombre; double tiempoCarrera; int n; n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de corredor: "));
//Metodo para retornar el tiempo public float getTiempo(){ return tiempo; }
public String MostrarDatos(){ return "Nombre atleta : " +nombre+" Tiempo : " +tiempo+" Numero de atleta : " +NumeroAtleta; }
public static int Atleta_Ganador(Atletismo carrera[]){ float tiempo; int ind = 0;
tiempo = carrera[0].getTiempo(); for(int i=1;i tiempo){ tiempo = carrera[i].getTiempo(); i = ind; } } return ind; }
public static void main(String args[]){ Scanner tecla = new Scanner (System.in); String nombre; float tiempo; int NumeroAtleta; int NumeroCompetidores; int Ganador;
System.out.print("Digite la cantidad de competidores que desea : "); NumeroCompetidores = tecla.nextInt();
Atletismo carrera[] = new Atletismo[NumeroCompetidores]; for(int i=0;i
package ejercicio3; import java.util.Scanner; /*Ejercicio 3: Construir un programa que dada una serie de vehículos caracterizados por su marca, modelo y precio, imprima las propiedades del vehículo más barato. Para ello, se deberán leer por teclado las características de cada vehículo y crear una clase que represente a cada uno de ellos.*/ public class Principal { //8. se crea una clase publica y estatica para que le pertenezca a la clase y no al objeto /*9. lo dentro del parentesis(Vehiculo autos[]) viene siendo el parametro que vendria siendo como "tipo de objeto o dato" la clase vehiculo y "El objeto o la variable" que es un array de objetos*/ public static int indiceAutoMBarato(Vehiculo autos[]){ //10.se crea a las variables precio para guardar al precio del bucle y se crea a indice para guardar la posicion en i del precio float precio; int indice=0;
//11. se guarda en precio lo que contiene la posicion 0 del arreglo autos con el metodo getter precio precio=autos[0].getPrecio(); //12. se corre un bucle for hasta que i sea menor a lo que contenga el arreglo autos, de forma creciente for(int i=1;i
no has de ser mediocre, la realidad es que si es demasiado sencillo en los estándares que se mueven los programadores y si esto te parece muy complicado, algo has estudiado mal
@@djperezrecords7291 es obvio que nadie nace sabiendo, pero nunca digas que un algoritmo de este tipo es complicado porque lo mas probable es que en 2 semanas digas, wow que facil era.
@@waterfunk2353 para ti puede resultar demasiado sencillo por saber previamente del tema. Pero para quienes recien empezamos con esto, no es tan facil. Es cuestión de cada uno. Y como te dijo, relajá un toque bro xD
Ejercicio 4 (JavaScript) : class Carrera { constructor(nro,nombre,tiempoC) { this.nro = nro; this.nombre = nombre; this.tiempoC = tiempoC; } get getTiempoC(){ return this.tiempoC; } mostrarDatos () { console.log(`Nro. : ${this.nro} Nombre : ${this.nombre} Tiempo de carrera : ${this.tiempoC}`); } } indiceCarrera = (corredores) => { let tiempo; let indice = 0; tiempo = corredores[0].getTiempoC; for (let i = 1; i < corredores.length; i++) { if (corredores[i].getTiempoC < tiempo) { tiempo = corredores[i].getTiempoC; indice = i; } } return corredores[indice].mostrarDatos(); } let tamano = parseInt(prompt("Digite la cantidad de corredores : ")); corredores = []; for (let i = 0; i < tamano; i++) { let nro = prompt(`Digite las características del corredor ${(i+1)} : ` + "Digite la Nro. del corredor : "); let nombre = prompt("Digite el nombre del corredor : "); let tiempoC = parseFloat(prompt("Digite el tiempo de carrera del corredor : ")); corredores[i] = new Carrera(nro,nombre,tiempoC); } console.log(`El ganador de la competencia de atletismo es : `); let tiempoFinal = indiceCarrera(corredores);
package Ejercicio4; /* Ejercicio 4: Construir un programa para una competencia de atletismo, el programa debe gestionar una serie de atletas caracterizados por su numero de atleta, nombre, tiempo de carrera, al final el programa debe mostrar los datos del atleta ganador de la carrera. */ public class Atletismo { // atributos int numeroAtleta; String nombreAtleta; float tiempoCarrera; public Atletismo(int numeroAtleta, String nombreAtleta, float tiempoCarrera) { this.numeroAtleta = numeroAtleta; this.nombreAtleta = nombreAtleta; this.tiempoCarrera = tiempoCarrera; } public float getTiempoCarrera() { return tiempoCarrera; } public String mostrarGanador () { return "El corredor ganador es " + nombreAtleta + " conn el numero #" + numeroAtleta + " quien culmino la carrera en um tiempo de " + tiempoCarrera; } } Segunda Clase package Ejercicio4; import java.util.Scanner; public class Main { public static int indiceCorredores (Atletismo corredores []){ float tiempoCarrera; int indice = 0; tiempoCarrera = corredores [0].getTiempoCarrera(); for (int i=1; i
Mi solución para el ejercicio 4: //Primera clase. package atletismo; public class Atleta {
//Recordar que lo más adecuado es poner los atributos como privados... //Solamente si es MUY necesario, dejarlos como públicos. private int numeroAtleta; private String nombreAtleta; private float segundosCarreraAtleta;
public float getTiempo(){ return this.segundosCarreraAtleta; } public String mostrarDatos(){ return " Número del atleta: "+this.numeroAtleta+" Nombre del atleta: "+this.nombreAtleta+" Tiempo de carrera en segundos: "+this.segundosCarreraAtleta+" segundos."; }
} //Segunda clase (main). package atletismo; import java.util.Scanner; public class Main {
//Método para saber qué atleta tiene menos tiempo. public static int getGanador(Atleta atletas[]){ int indice = 0; for (int i = 0; i < atletas.length; i++) { if (atletas[i].getTiempo() < atletas[indice].getTiempo() ) { indice = i; } } return indice; }
public static void main(String[] args) {
Scanner leer = new Scanner(System.in); leer.useDelimiter(" ");
int numAtleta; String nombreAtleta; float tiempoSegsCarrera; int cantidadAtletas;
System.out.print("Ingrese la cantidad de atletas: "); cantidadAtletas = leer.nextInt();
Atleta atletas[] = new Atleta[cantidadAtletas];
for (int i = 0; i < atletas.length ; i++) {
System.out.println(" Atleta número: "+(i+1)); System.out.print("Ingrese el número del atleta: "); numAtleta = leer.nextInt(); System.out.print("Ingrese el nombre del atleta: "); nombreAtleta = leer.next(); System.out.print("Ingrese el tiempo en segundos que le tomó la carrera: "); tiempoSegsCarrera = leer.nextFloat();
atletas[i] = new Atleta(numAtleta, nombreAtleta, tiempoSegsCarrera); }
//De esta forma funciona bien, pero creo que no es la adecuada. Mejor sin poner el Main. //int indiceGanador = Main.getGanador(atletas);
int indiceGanador = getGanador(atletas); System.out.println(" ***Atleta ganador***"+atletas[indiceGanador].mostrarDatos());
package paquete1; public class Atleta{ private String numero; private String nombre; private int tiempo; public Atleta(String numero,String nombre, int tiempo){ this.numero=numero; this.nombre=nombre; this.tiempo=tiempo; } public int getTiempo(){ return tiempo; } public void mostrarDatosAtleta(){ System.out.println("Numero: "+numero); System.out.println("Nombre: "+nombre); System.out.println("Tiempo: "+tiempo+" segundos"); } } package paquete1; import java.util.Scanner; public class Principal { public static int indiceAtletaGanador(Atleta x[]){ int indice=0,menorTiempo; menorTiempo=x[0].getTiempo(); for(int i=0;i
Atleta.java /*Ejercicio 4: Construir un programa para una competencia de atletismo, el programa debe gestionar una serie de atletas caracterizados por su número de atleta, nombre y tiempo de carrera, al final el programa debe mostrar los datos del atleta ganador de la carrera. */ package Ejercicio4; public class Atleta { private int numAtleta; private String nombreAtleta; private float tiempoCarrera;
public String mostrarDatos(){ return "Numero del Atleta: "+numAtleta+" Nombre del Atleta: "+nombreAtleta+" Tiempo de Carrera: "+tiempoCarrera+" "; } } main.java package Ejercicio4; import java.util.Scanner; public class main { public static int atletaGanador(Atleta atl[]){ float tiempoCarrera; int indice = 0;
El ejercicio 4 se puede resolver de la manera exácta en como Alejandro resolvió el ejericio Nº3,obviamente, adaptando los términos al requisito del programa que, para el caso del ejercicio Nº4, son de un programa para determminar el atleta más veloz.
Muy buen video!!! Aunque tengo una duda, estoy realizando un ejercicio que me pide ingresar datos( generar objetos) hasta que el usuario desee, y me plantee que en ese caso no necesariamente habría que ingresar la cantidad que quiera el usuario sino hasta que quiera, a lo que voy es que en ese caso preguntaría si el usuario desea seguir ingresando datos, por lo tanto generando objetos a medida que responda "si" , mi duda aquí si uso un iterador para ir incrementando la cantidad de objetos o como seria porque la verdad que no creo que tenga que ser "n" cantidad de vehículos a ingresar
podria ser: ejemplo: introduce datos hasta que el usuario desee detener: datos=1; while(datos!=0){ System.out.println("Introduce los datos"); int d=leer.nextInt(); } eso seria todo,si el usuario teclea un "cero" el programa se va a detener,obviamente poniendo un mensaje como:System.out.println("Presiona cero si deseas terminar"); podria ser otro numero u otra letra,como tu desees.
NO me sale. Se ejecuta el programa ,pero después de "Digite la cantidad de vehículos a analizar: 5 " me aperase este error: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at paquete1.Main.indiceCocheMBrato(Main.java:19) at paquete1.Main.main(Main.java:55) Java Result: 1 BUILD SUCCESSFUL (total time: 1 second)
Esta fue mi solución para el ejercicio de la competencia de Atletismo. Clase Atleta: package EjercicioAtleta; public class Atleta { private int numeroAtleta; private String nombreAtleta; private float tiempoCarrera; public Atleta(int numeroAtleta, String nombreAtleta,float tiempoCarrera){ this.numeroAtleta = numeroAtleta; this.nombreAtleta = nombreAtleta; this.tiempoCarrera = tiempoCarrera; } public float getTiempoCarrera() { return tiempoCarrera; } public String mostrarDatos(){ return "NUMERO DEL ATLETA: "+numeroAtleta+" NOMBRE DEL ATLETA: "+nombreAtleta+" TIEMPO DE CARRERA: $"+tiempoCarrera+" "; } } Clase Principal (Main): package EjercicioAtleta; import java.util.Scanner; public class Principal { public static int indiceTiempoMenor(Atleta[] atletas) { float tiempoCarrera; int indice = 0; tiempoCarrera = atletas[0].getTiempoCarrera(); for (int i = 1; i < atletas.length; i++) { if (atletas[i].getTiempoCarrera() < tiempoCarrera) { tiempoCarrera = atletas[i].getTiempoCarrera(); indice = i; } } return indice; } public static void main(String[] args) { Scanner entrada = new Scanner(System.in); System.out.println("DIGITE CANTIDAD DE ATLETAS: "); int cantidadAtletas = entrada.nextInt(); Atleta[] atletas = new Atleta[cantidadAtletas]; for (int i = 0; i < atletas.length; i++) { entrada.nextLine(); System.out.println(" DIGITE CARACTERISTICAS DEL ATLETA " + (i + 1) + ": "); System.out.println("DIGITE NUMERO DEL ATLETA: "); int numeroAtleta = Integer.parseInt(entrada.nextLine()); System.out.println("DIGITE NOMBRE DEL ATLETA: "); String nombreAtleta = entrada.nextLine(); System.out.println("DIGITE TIEMPO DE LA CARRERA: "); float tiempoCarrera = entrada.nextFloat(); atletas[i] = new Atleta(numeroAtleta, nombreAtleta, tiempoCarrera); } int indice = indiceTiempoMenor(atletas); System.out.println(" EL GANADOR DE LA CARRERA ES: "); System.out.println(atletas[indice].mostrarDatos()); } }
Piensa que estás aquí para aprender. Sigue aprendiendo, date a ti mismo el tiempo que necesites sin compararte con nadie ni contigo mismo cuando lo hacías fácilmente. Repite videos y ejercicios poniendo mucha atención. Lo conseguirás.
public float getTiempoLlegada(){ return tiempoLlegada; }
public String MostrarDatos(){ return "Nombre: " + nombre + " Numero: " + numeroAtleta + " Tiempo de llegada: " + tiempoLlegada + " "; }
public static void ordenarPosiciones(Atleta objeto[]){
// Almacena los tiempos de llegada en otro array int i, j; float[] aux = new float[objeto.length]; for (i = 0; i < objeto.length; i++) { aux[i] = objeto[i].getTiempoLlegada(); } // Ordena el nuevo array float guarda; for (i = 0; i < objeto.length - 1; i++) { for (j = 0; j < objeto.length - 1; j++) { if(aux[i] > aux[i+1]){ guarda = aux[i]; aux[i] = aux[i+1]; aux[i+1] = guarda; } } }
// Comparamos tiempos para agregar la posicion for (i = 0; i < objeto.length; i++) { if( objeto[i].getTiempoLlegada() == aux[i]){ objeto[i].posicionLlegada = i; } } }
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in); int cantAltetas;
// Pedimos la cantidad de carros System.out.print("Ingrese la cantidad de atletas: "); cantAltetas = entrada.nextInt();
// Instanciamos un arreglo con la cantidad de carros Atleta[] atleta = new Atleta[cantAltetas];
// Ingresamos datos String nombre, numeroAtleta; float tiempoLlegada; int posicionLlegada, i;
for (i = 0; i < cantAltetas; i++) { System.out.println("Atleta " + (i+1) ); System.out.print("Ingresa el nombre: "); nombre = entrada.next();
System.out.print("Ingresa el numero: "); numeroAtleta = entrada.next();
System.out.print("Ingresa el tiempo de llegada: "); tiempoLlegada = entrada.nextFloat();
atleta[i] = new Atleta(nombre, numeroAtleta, tiempoLlegada); System.out.println(""); }
// Ordenamos las posiciones ordenarPosiciones(atleta);
// Imprimo la tabla de posiciones int contador = 0; i=0; System.out.println(" \tTabla de Posiciones "); do{ if(atleta[i].posicionLlegada == i){ System.out.println("Posición " + (i+1) ); System.out.println(atleta[i].MostrarDatos()); contador++; } i++; } while(!(contador == cantAltetas));
Cuando creas una nueva clase, se crea un nuevo archivo con el nombre de la clase y la extensión .java y eso se ve en otra pestaña que se abre, al menos usando eclipse como IDE para programar en JAVA
Ale Bro ,tengo una duda como podria crear un array de objeto pero sin mandarle a decir el tamaño del arreglo y que mientras el usuario siga digitando datos ,se siga haciendo cada vez mas grande ,porfavor es para un trabajo de la uni ,he buscado como pero no puedo hacerlo ,espero me contestes ,saludos
Han pasado 5 años desde tu consulta pero bueno igual te respondo. Esta seria una forma de hacer lo que quieres: Scanner entrada = new Scanner(System.in); Clase arregloObjetos[ ]; boolean finalizar = false; int decision; int i=0; while (finalizar == false) { System.out.println("Introduzca el atributo N"+(i+1)+":"); String atributo1 = entrada.nextLine(); System.out.println("Introduzca elatributo N"+(i+1)+":"); String atributo2 = entrada.nextLine(); System.out.println("Introduzca el atributo N"+(i+1)+":"); float atributo3 = entrada.nextFloat();
arregloObjetos[ i ] = new Clase(atributo1, atributo2, atributo3); i++; System.out.println("Desea continuar agregando objetos? 1.Si 2.No"); decision = entrada.nextInt(); Switch (decision){ case 1: break; case 2: finalizar = true; break; default: finalizar = true; System.out.println("Opcion erronea, por defecto se finaliza la operacion"); break; } }
Crear una clase “Equipo” que contenga los atributos: partidos_Ganados, Puntos_a_Favor y Puntos_En_Contra. Crear 5 equipos y darle valores a sus atributos, ordenar por partidos ganados de mayor a menor; y, en el caso de que hubiese equipos con los mismos partidos ganados, se mirará el criterio de Puntos_a_Favor para saber cuál está primero. Si en los puntos a favor también están empatados, se mirarán los puntos en contra. ayuda que me he quedado atascado por favor
Mi solucion para el ejercicio 4 Principal Class package paqueteA; import java.util.Scanner; public class Principal { public static int indiceAtleM( Atleta time[]){ float tiempo; int indice=0; tiempo = time[0].getTiempo(); for(int i=1;i
no me queda claro muchas cosas como esa parte donde haces que coches sea de clase vehiculo y le metes un atributo de tipo entereo cuando en el file de vehiculo.java no existe ese atributo. no entiendo esa parte
Buenas, así fue que hice el Ejercicio nro 4 (hice 2 clases: 1 clase atleta y otra clase con metodo main) /* Ejercicio 4: Construir un programa para una competencia de atletismo, el programa debe gestionar una serie de atletas caracterizados por su número de atleta, nombre y tiempo de carrera, al final el programa debe mostrar los datos del atleta ganador de la carrera. */ package Ejercicio4; public class Atleta { private int nroAtleta; private String nombre; private String tiempo;//determinado en 00:00 min/seg Atleta(){} public Atleta(int nroAtleta, String nombre, String tiempo) { this.nroAtleta = nroAtleta; this.nombre = nombre; this.tiempo = tiempo; } public int getNroAtleta() { return nroAtleta; } public void setNroAtleta(int nroAtleta) { this.nroAtleta = nroAtleta; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getTiempo() { return tiempo; } @Override public String toString(){ return "NroAtleta: "+nroAtleta+" Nombre: "+nombre+" Tiempo: "+tiempo; } } ----------------------------------------------------------------------------------------------- METODO MAIN ------------------------------------------------------------------------------------------------------------------------------------- package Ejercicio4; import java.util.*; public class Ej4 { public static int carrera(Atleta[] atle){ int indice = 0; int min = Integer.parseInt(atle[0].getTiempo().substring(0, 2)); int seg = Integer.parseInt(atle[0].getTiempo().substring(3, 5)); for(int i = 1 ; i< atle.length ; i++){ if(min == Integer.parseInt(atle[i].getTiempo().substring(0, 2)) && seg>Integer.parseInt(atle[i].getTiempo().substring(3, 5))){ indice = i; }else if(min > Integer.parseInt(atle[i].getTiempo().substring(0, 2))) indice = i;} return indice; } public static void main(String[] args) { int indiceGanador; Atleta at1 = new Atleta(1, "Fapencio", "25:35"); Atleta at2 = new Atleta(2, "Germancio", "22:52"); Atleta at3 = new Atleta(3, "Maria", "25:59"); Atleta[] atletas = new Atleta[3]; atletas[0] = at1; atletas[1] = at2; atletas[2] = at3; indiceGanador = carrera(atletas); System.out.println("el ganador es "+atletas[indiceGanador].toString()); } }
el metodo getter es solo nombre, lo que importa es si es un tipo de dato como String, int float, char u otro tipo quiere decir que el metodo retorna ese tipo de dato. pero si colocas void quiere decir que es setter es decir cambia su estado, me dejo entender? alejandro fallecio pero aun todos los que vemos seguimos aprendiendo...
Tengo una duda!! en mi escuela trabajamos siempre con un JOPtionpane y usted trabaja con un system y mas o menos si entiendo el system.in y system.out pero el scanner? que es? para que se utiliza? y si quiero convertirlo a un joptionpane el programa que usted hizo, como seria? busque y busque respuestas durante dias en internet pero no pude encontrar nada, alguien me podria ayudar?!! se lo agradeceria demasiado, me encantan mucho sus videos, Aprendo demasiado con usted!
@@teracon5952 aunque le hagas bastante publicidad a Juan de píldoras del cual yo también ando avanzando java. Este muchacho fue mejor y es mejor q Juan porque lo resume y te lo explica en un lenguaje sencillo. Juan se complica mucho y redunda mucho ojo que no digo q sea mal maestro porque yo también ando aprendiendo con los 2.pero Miguel es el mejor de TH-cam.
Empezando tarde pero seguro. public class Atleta { private int numAtleta; private String nombre; private double tiempoCarrera; public Atleta(int numAtleta, String nombre, double tiempoCarrera) { this.numAtleta = numAtleta; this.nombre = nombre; this.tiempoCarrera = tiempoCarrera; } public double getTiempoCarrera() { return tiempoCarrera; } public String mostrarDatos() { return "Numero de atleta: " + numAtleta + " Nombre del atleta: " + nombre + " Tiempo de carrera: " + tiempoCarrera; } public static int indiceAtletaGanador(Atleta atletas[]) { double tiempo; int indice = 0; tiempo = atletas[0].getTiempoCarrera(); for (int i = 0; i < atletas.length; i++) { if (atletas[i].getTiempoCarrera() < tiempo) { tiempo = atletas[i].getTiempoCarrera(); indice = i; } } return indice; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Digita la cantidad de atletas: "); int numAtletas = sc.nextInt(); Atleta atletas[] = new Atleta[numAtletas]; for (int i = 0; i < numAtletas; i++) { sc.nextLine(); System.out.println(" Digite las caracteristicas del atleta: " + (i + 1)); System.out.print("Digita el nombre de atleta: "); String nombreAtleta = sc.nextLine(); System.out.print("Digita el numero del atleta: "); int numAtleta = sc.nextInt(); System.out.print("Digita el tiempo del atleta: "); double tiempoAtleta = sc.nextDouble(); atletas[i] = new Atleta(numAtleta, nombreAtleta, tiempoAtleta); } int indiceGanador = indiceAtletaGanador(atletas); System.out.println("El atleta ganador es: "); System.out.println(atletas[indiceGanador].mostrarDatos()); } }
//Getter para introducir el numero del atleta public int getNumAtleta(){ return NumAtleta; } //Getter para el nombre public String getNombre(){ return nombre; } //Getter para el tiempo de carrera public double getTiempoCarrera(){ return tiempoCarrera;
}
//Mostrar Ganador public String MostrarGanador(){
return "El ganador de la carrera fue el Atleta con el codigo:"+NumAtleta+" Nombre: "+nombre+" Con un tiempo de carrera de: "+tiempoCarrera;
}
} Metodo Main import java.util.Scanner; public class AtletaMain {
//Metodo para sacar al corredor con el menor tiempo.
public static int AtletaGanador(Atleta carrera[]){ double MenorTiempo; int aux = 0;
MenorTiempo = carrera[0].getTiempoCarrera(); for(int i=1; i
package ejercicio4_Objetos; import java.util.Scanner; public class Prueba_Atleta { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); int cantAtletas, numAtleta; String nombre; float tiempoCarrera; System.out.println("DATOS DE UNA CARRERA........"); System.out.print("Introduce la cantidad de atletas: "); cantAtletas = entrada.nextInt(); Atleta participantes[] = new Atleta[cantAtletas]; for (int i = 0; i < participantes.length; i++) { System.out.println("Datos del atleta Nº" + (i + 1) + ".........."); System.out.print("Introduce el numero identificativo del atleta: "); numAtleta = entrada.nextInt(); entrada.nextLine(); System.out.print("Introduce el nombre del atleta: "); nombre = entrada.nextLine(); System.out.print("Introduce el tiempo que hizo(con decimales): "); tiempoCarrera = entrada.nextFloat(); participantes[i] = new Atleta(numAtleta, nombre, tiempoCarrera); } System.out.println("El ganador de la carrera(el que hizo menos tiempo)es...."); System.out.println(participantes[ganador(participantes)].mostrarAtleta()); entrada.close(); } //FUNCION PARA BUSCAR AL GANADOR(MENOS TIEMPO) public static int ganador(Atleta participantes[]) { float menorTiempo; int indice = 0; menorTiempo = participantes[0].getTiempo(); for (int i = 1; i < participantes.length; i++) { if (participantes[i].getTiempo() < menorTiempo) { menorTiempo = participantes[i].getTiempo(); indice = i; } } return indice; } }
//Clase para los objetos(Atletas) public class Atleta { private int numero; private String nombre; private float tiempo; public Atleta(int numero, String nombre, float tiempo) { this.numero = numero; this.nombre = nombre; this.tiempo = tiempo; } public float getTiempo() { return tiempo; } public void datos() { System.out.println("Numero: " + numero); System.out.println("Nombre: " + nombre); System.out.println("Tiempo: " + tiempo + " seg"); } } //Clase Main public class Atletismo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int numero; String nombre; float tiempo; int cantidadAtleta, tiempoAtleta; System.out.print("¿Cuantos atletas va a ingresar?: "); cantidadAtleta = sc.nextInt(); Atleta corredor[] = new Atleta[cantidadAtleta]; for (int i = 0; i < corredor.length; i++) { System.out.println(""); System.out.println("Ingrese los datos del atleta " + (i + 1) + " :"); System.out.print("Numero de atleta: "); numero = sc.nextInt(); System.out.print("Nombre del atleta: "); nombre = sc.next(); System.out.print("Tiempo de carrera: "); tiempo = sc.nextFloat(); corredor[i] = new Atleta(numero, nombre, tiempo); } tiempoAtleta = menorTiempo(corredor); System.out.println(" El ganador de la carrera es: "); corredor[tiempoAtleta].datos(); } public static int menorTiempo(Atleta corredor[]) { float tiempo; int valor = 0; tiempo = corredor[0].getTiempo(); for (int i = 1; i < corredor.length; i++) { if (corredor[i].getTiempo() < tiempo) { tiempo = corredor[i].getTiempo(); valor = i; } } return valor; } }
perdon que te lo diga, pero te complicas mucho a mi parecer y no usas todos los objtos creados, no usas el getprecio en mi opinion ahi pudiste hacer lo de buscar el precio del auto, y no usas el mostrar datos, ese creo que no era necesario pedirlo
Asi me quedo el ejercicio 4: Clasee Atleta: public class Atleta { private String codigo; private String nombre; private float marca; public Atleta(String codigo, String nombre, float marca) { this.codigo = codigo; this.nombre = nombre; this.marca = marca; } public float getMarca() { return marca; } public void mostar(){ System.out.println("Codigo:"+codigo); System.out.println("Nombre:"+nombre); System.out.println("Marca:"+marca); System.out.println(" "); } } --------------------------------------------------//-------------------------------//------------------ Clase MAIN import java.util.Scanner; public class main { public static int ganador(Atleta corredores[]){ float record=corredores[0].getMarca(); int ganador=0; for (int i = 1; i < corredores.length; i++) { if(corredores[i].getMarca()
ME COSTO MUCHO, pero aqui esta. import java.util.Scanner; public class Principal { public static void main(String[]args) { Scanner sc=new Scanner(System.in);
String nombre; String numero; float tiempo;
System.out.println("Digite la cantidad de atletas"); int cantidadAtletas=sc.nextInt();
int ganadorAtleta;
//Creamos un arreglo de atletas Atleta participantes[]=new Atleta[cantidadAtletas];
package paqueteatleta; import java.util.Scanner; public class Principal { public static int indiceAtletaGanador(Atleta corredores[]){ float tiempo; int indice = 0;
tiempo = corredores[0].getTiempo(); for (int i = 1; i < corredores.length; i++) { if (corredores[i].getTiempo() < tiempo){ indice = i; } } return indice; }
public static void main(String [] args){ Scanner entrada = new Scanner (System.in); int numeroAtleta; String nombre; float tiempo; int numeroParticipantes,ganador;
System.out.println("digite la cantidad de corredores: "); numeroParticipantes = entrada.nextInt();
//creamos los objetos para los corredores Atleta corredores[] = new Atleta[numeroParticipantes];
for (int i = 0; i < corredores.length; i++) { entrada.nextLine(); System.out.println("digite las caracteristicas del corredor: "+(i+1)); System.out.print("digite su numero de atleta: "); numeroAtleta = entrada.nextInt(); System.out.print("digite el nombre del atleta: "); entrada.nextLine(); nombre = entrada.nextLine(); System.out.print("digite el tiempo que tardo en terminar la carrera: "); tiempo = entrada.nextFloat();
corredores[i] = new Atleta(numeroAtleta,nombre,tiempo);
} ganador = indiceAtletaGanador(corredores); System.out.println(" El corredor mas rapido es: "); System.out.println(corredores[ganador].mostrarDatos()); } } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// package paqueteatleta; public class Atleta { private int numeroAtleta; private String nombre; private float tiempo; public Atleta(int numeroAtleta, String nombre, float tiempo) { this.numeroAtleta = numeroAtleta; this.nombre = nombre; this.tiempo = tiempo; } public float getTiempo() { return tiempo; }
public String mostrarDatos(){ return "el atleta con el numero: "+numeroAtleta+" con el nombre: "+nombre+" ha ganado con el tiempo : "+tiempo; }
Bro, fuiste un crack, no sabes cuanta falta le harás a todos aquellos que sabemos lo que sabemos gracias a ti :') descansa en paz profesor Alejandro.
Veo que son varios los que dicen descanasa en paz.
Es porque ya no sube videos?
@@fura-tan Lo que pasa es que el muchacho murió
@@fura-tan nuestro sensey falleció :´(
San Alejandro
@@joelmtz9815 ??? falleció, no lees?
en este punto ya esta avanzadooooooooo .. claro que aprender POO en un solo dia no es tan facil como pensaba!
Este brother nacio para enseñar programacion que bien lo hacia... lastima no haber visto estos videos en 2017 ya seria un pro
Viendo tus enseñanzas ahora y descansa en paz donde sea que estés. Un gran trabajo.
He visto un par de videos tuyos y sinceramente aprendí más que en la facultad (en relación de tiempo), gracias!!!
Hace 3 años que no programo y mañana tengo una entrevista de trabajo para programadora!! Tus vídeos me están ayudando muchísimo, espero tener suerte !! Sigue asi!
Muchas gracias :D Mucha suerte, Un saludo
y que paso si te dieron el trabajo??
Parece que también te nos fuiste 😓
@@christianv.r.8205 Siii me dieron el trabajo y sigo en la empresa! Muy contenta y ascendiendo :) Perdón por tardar, no me notificó esto!! Un saludo.
@@LilicraftYT Una lástima que el chico del canal falleciese, D.E.P
gracias por tanto compadre, que DIOS bendiga a tu familia, consulta no recuerdo bien pero en algun momento cuando hice mi practica en java (que dure 3 meses y me despidieron jajaja, muy dificil) para resumir la busqueda del precio mas bajo de un arreglo utilice una herramienta de la clase arrays. esto le podra servir a alguien que esta empezando
Me considero avanzado programando en java, pero es interesante verte programar Alejandro, buenos tips termino sacando, gracias sigue así
LerNo N pildorasinformaticas para Java recomiendo.
M gracias por la info!
los cursos de pildorasinformaticas son buenisimos estoy con (HTML5, JavaScript, Sql) cuando termine programacion de java con alejandro(ATS) voy por Java Con pildorasinfo, son mas de 200 videos pero creo que podre empezar desde el MVC.
Estimado, no se si me puedes ayudar con una duda; cuando instancia el objeto coche[ ] como un arreglo de la clase Vehiculo; la variable entera, numeroVehiculos indica el número de elementos del arreglo; sin embargo el profesor (Q.E.P.D) dice que esa variable indica el numero de objetos a instanciar.
@@keltzeta6068 Bueno por lo que te puedo decir es que si el arreglo no fuera de objetos el numeroVehiculos si indicaría el número de elementos del arreglo, no obstante, en este caso el arreglo es de objetos así que la variable indica el número de objetos a instanciar
fuiste, eres y siempre seras el profesor real de miles de programadores o aspirantes a programadores
Te felicito , explicas de una muy buena manera , cuando empeze la materia de programación imperativa me ayudo mucho tu canal :) , Saludos
Alejandro, cuanta ayuda das a los que apenas empezamos a programar, tus explicaciones eran geniales, Dios te tiene en su reino hermano.
Sigues siendo el mejor explicando Alejandro éxitos se que llegarás muy lejos
Muchas gracias Saul :) Un saludo
Este comment no envejecio bien :c
Muchas gracias por tus vídeos, gracias a estos pude pasar el ramo de programación
Muchas gracias
solo pude hacer la primera parte sin ver pero en la segunda me enrede y me toco ver el video, lo explicas muy bien
El mejor de youtube, saludos desde Ecuador
A mi me quedó de esta manera el ejercicio 3, por si quieren otra alternativa:
**Vehiculo.java**
package poo.ejercicio_3;
/*Consturir un programa, que dada una serie
de vehículos, caracterizados por su marca,
modelo y precio, imprima las propiedades del
vehículo más barato. Para ello, se deberán
leer por teclado las características de cada
vehículo y crear una clase que represente
a cada uno de ellos.*/
public class Vehiculo {
private String marca;
private String modelo;
private float precio;
public Vehiculo(String marca, String modelo, float precio) {
this.marca = marca;
this.modelo = modelo;
this.precio = precio;
}
public float getPrecio() {
return precio;
}
public void mostrarDatos(){
System.out.println("La marca del vehículo: " + marca);
System.out.println("El modelo del vehículo: " + modelo);
}
}
**MainVehiculo.java**
package poo.ejercicio_3;
import java.util.Scanner;
public class MainVehiculo {
public static void main(String[] agrs) {
String marca;
String modelo;
String opcion = "s";
float precio1, precio2, barato;
Scanner entrada = new Scanner(System.in);
Vehiculo v1;
System.out.print("Ingrese la marca del primer vehículo: ");
marca = entrada.next();
System.out.print("Ingrese el modelo del primer vehículo: ");
modelo = entrada.next();
System.out.print("Ingrese el precio del primer vehículo: ");
precio1 = entrada.nextFloat();
v1 = new Vehiculo(marca,modelo,precio1);
while (!opcion.equals("n")){
System.out.print("Ingrese la marca del siguiente vehículo: ");
marca = entrada.next();
System.out.print("Ingrese el modelo del siguiente vehículo: ");
modelo = entrada.next();
System.out.print("Ingrese el precio del siguiente vehículo: ");
precio2 = entrada.nextFloat();
System.out.print("¿Desea continuar? (s/n): ");
opcion = entrada.next();
if (precio1 < v1.getPrecio()) {
barato = precio1;
v1 = new Vehiculo(marca,modelo,barato);
}
if(precio2 < v1.getPrecio()){
barato = precio2;
v1 = new Vehiculo(marca,modelo,barato);
}
}
System.out.println("Los datos del vehículo más barato.");
v1.mostrarDatos();
System.out.println("El precio del vehículo es: $" + v1.getPrecio());
}
}
D.E.P Alejandro, gracias por tus enseñanzas.
Aqui dejo el punto 4
/**
* @author Julian Ramirez
* @program Ingresa los datos de unos corredores y devuelve los del corredor mas rapido
*
*/
//OBJETO
package atletas;
public class Atleta {
private int numero;
private String nombre;
private double tiempo;
//Constructor
public Atleta(int numero, String nombre, double tiempo) {
this.numero = numero;
this.nombre = nombre;
this.tiempo = tiempo;
}
//Getter de tiempo
public double getTiempo() {
return tiempo;
}
//Mostrar datos
public String mostrardatos(){
return "ID: "+numero+"
Nombre: "+nombre+"
Tiempo: "+tiempo;
}
}
//MAIN
package atletas;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int id, cuantos, indice = 0;
double tiempo;
String nombre;
Scanner entrada = new Scanner(System.in);
//Cuantos corredores son?
System.out.print("Cuantos atletas son?: ");
cuantos = entrada.nextInt();
//Array para corredores
Atleta[] corredores = new Atleta[cuantos];
//Guardar en un array los datos de los corredores
System.out.println("
Ingrese los datos de los atletas");
for (int i = 0; i < corredores.length; i++) {
System.out.print("Ingrese el id del atleta "+(i+1)+": ");
id = entrada.nextInt();
System.out.print("Ingrese el nombre del atleta "+(i+1)+": ");
nombre = entrada.next();
System.out.print("Ingrese el tiempo del atleta "+(i+1)+": ");
tiempo = entrada.nextDouble();
corredores[i] = new Atleta(id, nombre, tiempo);
System.out.println();
}
//Buscar cual es el tiempo mas bajo
tiempo = corredores[0].getTiempo();
for (int i = 1; i < corredores.length; i++) {
if (corredores[i].getTiempo()
Excelente ejemplo. Yo por mi parte para verificar cuál es el precio menor lo hice de este modo (En realidad no muestro el coche con menor atributo, sino que lo asigno a un nuevo objeto y lo muestro por pantalla)
.package poo;
import java.util.*;
public class Ejercicio_Vehículo {
public static void main(String[] args) {
Scanner sc= new Scanner (System.in);
double mayor=10000000;
String modelo;
String marca;
double precio;
System.out.println("¿Cuántos vehículos desea evaluar?: ");
int a=sc.nextInt();
Vehiculo vec [] = new Vehiculo[a];
Vehiculo v_compara= new Vehiculo("","",0);
for(int i=0;i
Es excelente tu trabajo amigo! continua con ello. Saludos
Les dejo mi resolución del ejercicio de la carrera de atletismo
package POO;
public class Atleta {
//Construir un programa para una competencia de atletismo
//el programa debe gestionar una serie de atletas caracterizados por
//su número de atleta, su nombre y tiempo de carrera, al final el
//programa debe mostrar los datos del atleta ganador de la carrera
//primero, hacer el objeto atleta con sus atributos: numero de atleta,
//nombre, y tiempo de carrera. luego, la clase en la que se ingresarán el numero
//de atletas y los datos de cada uno. En esa misma clase se hará el método que
//determinará cual fué el atleta ganador.
//Atributos
private String nombre;
private int numeroDeAtleta;
private int tiempo;
//metodos
public Atleta(String nombre, int numeroDeAtleta, int tiempo){
this.nombre = nombre;
this.numeroDeAtleta = numeroDeAtleta;
this.tiempo = tiempo;
}
public int getTiempo() {
return tiempo;
}
public String mostrarDatos(){
return "Nombre: " + nombre + "
número de atleta: " + numeroDeAtleta + "
Tiempo de carrera: " + tiempo;
}
}
//Clase main.
package POO;
import java.util.Scanner;
public class Principal {
public static int Ganador(Atleta atletas[]){
int mejorTiempo = atletas[0].getTiempo();
int ganador = 0;
for(int i = 1; i < atletas.length; i++){
if(mejorTiempo > atletas[i].getTiempo()){
mejorTiempo = atletas[i].getTiempo();
ganador = i;
}
}
return ganador;
}
public static void main(String args[]){
Scanner entrada = new Scanner(System.in);
String nombre;
int numeroDeAtleta;
int tiempo;
int cuantosAtletas;
int atletaGanador;
//se hace un arreglo con el numero de atletas que compitieron
System.out.println("Ingrese el número de atletas que han competido: ");
cuantosAtletas = entrada.nextInt();
Atleta atletas[] = new Atleta[cuantosAtletas];
for(int i = 0; i < cuantosAtletas; i++){
entrada.nextLine();
System.out.println("Ingrese el nombre del atleta nro " + (i + 1) + ":");
nombre = entrada.nextLine();
System.out.println("Ingrese el número de competidor del atleta nro " + (i + 1) + ":");
numeroDeAtleta = entrada.nextInt();
System.out.println("Ingrese el tiempo de carrera del atleta nro " + (i + 1) + ":");
tiempo = entrada.nextInt();
atletas[i]= new Atleta(nombre, numeroDeAtleta, tiempo);
}
atletaGanador = Ganador(atletas);
System.out.println("El atleta ganador es el atleta nro " + (atletaGanador + 1) + "
" + atletas[atletaGanador].mostrarDatos()) ;
}
}
//Espero que les sirva si se les complicó algo
Es normal que haya tenido que poner mi scan.nextLine() antes de pedir el nombre y no al incio como tu?
Este ejercicio ya supone un salto en cuanto a dificultad. Os recomiendo que veáis el video varias veces si hace falta y practiquéis también varias veces, usando ejemplos parecidos. No os desmotivéis. Más vale ir lento pero seguro.
Ejercicio 4:
import javax.swing.JOptionPane;
import java.util.Scanner;
public class Main {
/*Gestionar una serie de atletas cuyos atributos son numero de dorsal, nombre y tiempo de carrera.
El programa debe mostrar el atleta que ha ganado, es decir, el que ha hecho menor tiempo.*/
private static int indicecarrera=0;
public static int ganador (Atleta[]corredor) {
int carrera=corredor[0].getTiempo();
for (int i=1; i
Excelente explicación muchas feclicidades, a veces es bueno recordar cosas báscias :)
Basicas? Esto se me hace muy extra acanzado 😢, recomiendame un vídeo de algo muy avanzado para ver en qué me estoy metiendo
@@Bulldog-Chelista jajajajaj claroooo exactamente lo que pense yo!
@@Bulldog-Chelista Hola chelista ¿Qué tal? Si hay algo que no entiendas del video, decime, te puedo ayudar en lo que precises. Que disfrutes del día Domingo. Hasta luego.
Atentamente,
KindlyChat.
@@juantuvieja4110 Hola Juan Artasa ¿Qué tal? Si hay algo que no entiendas del video, decime, te puedo ayudar en lo que precises. Que disfrutes del día Domingo. Hasta luego.
Atentamente,
KindlyChat.
@@kindlychat9493 hola Amigo dale muchas gracias por tu comentario! No me acuerdo de queniba el video pero lo reveo y te pregunto!
4.° Ejercicio en Java y en C++:
//Java
package paquete1;
public class Atleta {
private int número;
private String nombre;
private float tiempo; //Tiempo hecho en la carrera
public Atleta(int número, String nombre, float tiempo){
this.número=número;
this.nombre=nombre;
this.tiempo=tiempo;
}
public float getTiempo(){
return tiempo;
}
public void showDatos(){
System.out.println("Nombre: "+nombre+"
Número: "+número+"
Tiempo:"+tiempo+"s
");
}
}
package paquete1;
import java.util.Scanner;
public class Main {
public static int MenorTiempo(Atleta arr[]){
int índice=0;
for(int i=1;i
Muchas gracias por estos videos , me han ayudado mucho!! ^^
/*
Ejercicio 4: Construir un programa para una competencia de atletismo, el programa debe gestionar una
serie de atletas caracterizados por su número de atleta, nombre y tiempo de carrera, al final el programa
debe mostrar los datos del atleta ganador de la carrera.
Diagrama uml:
Clasae Atletismo:
Atributos
numeroAtleta:int
nombre: String
tiempoCarrera: double
Metodos:
Constructo(numeroAtleta, nombre,tiempoCarrera);
gettiempoCarrera();
mostrarDatos:
*/
public class Ejercicio4POO {
private int numeroAtleta;
private String nombre;
private double tiempoCarrera;
Ejercicio4POO(int numeroAtleta,String nombre,double tiempoCarrera){
this.numeroAtleta=numeroAtleta;
this.nombre=nombre;
this.tiempoCarrera=tiempoCarrera;
}
public double gettimpoCarrera(){
return tiempoCarrera;
}
public String mostrarDato(){
return "Numero Atleta: "+numeroAtleta+"
nombre: "+nombre+"
Tiempo carrera: "+tiempoCarrera;
}
}
///Clase main o método main
public static void main(String[] args) {
int numeroAtleta;
String nombre;
double tiempoCarrera;
int n;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese cantidad de corredor: "));
Ejercicio4POO [] eje4=new Ejercicio4POO[n];
for(int i=0;i
Ejercicio numero 3 :
package paquete;
import java.util.Scanner;
public class Atletismo {
//Atributos
private final String nombre;
private final float tiempo;
private final int NumeroAtleta;
//Metodo constructor
public Atletismo(String nombre,float tiempo,int NumeroAtleta){
this.nombre = nombre;
this.tiempo = tiempo;
this.NumeroAtleta = NumeroAtleta;
}
//Metodo para retornar el tiempo
public float getTiempo(){
return tiempo;
}
public String MostrarDatos(){
return "Nombre atleta : " +nombre+"
Tiempo : " +tiempo+"
Numero de atleta : " +NumeroAtleta;
}
public static int Atleta_Ganador(Atletismo carrera[]){
float tiempo;
int ind = 0;
tiempo = carrera[0].getTiempo();
for(int i=1;i tiempo){
tiempo = carrera[i].getTiempo();
i = ind;
}
}
return ind;
}
public static void main(String args[]){
Scanner tecla = new Scanner (System.in);
String nombre;
float tiempo;
int NumeroAtleta;
int NumeroCompetidores;
int Ganador;
System.out.print("Digite la cantidad de competidores que desea : ");
NumeroCompetidores = tecla.nextInt();
Atletismo carrera[] = new Atletismo[NumeroCompetidores];
for(int i=0;i
Que feliz me siento , hoy por primera vez pude hacer uno de los ejercicios finales , solo , sin mirar los comentarios . 🤗🤗🤗
Gracias por toda tu enseñanza, descansa en paz hermano...
package ejercicio3;
import java.util.Scanner;
/*Ejercicio 3: Construir un programa que dada una serie de vehículos caracterizados
por su marca, modelo y precio, imprima las propiedades del vehículo más barato.
Para ello, se deberán leer por teclado las características de cada vehículo y
crear una clase que represente a cada uno de ellos.*/
public class Principal {
//8. se crea una clase publica y estatica para que le pertenezca a la clase y no al objeto
/*9. lo dentro del parentesis(Vehiculo autos[]) viene siendo el parametro que
vendria siendo como "tipo de objeto o dato" la clase vehiculo y "El objeto o la variable" que es un array de objetos*/
public static int indiceAutoMBarato(Vehiculo autos[]){
//10.se crea a las variables precio para guardar al precio del bucle y se crea a indice para guardar la posicion en i del precio
float precio;
int indice=0;
//11. se guarda en precio lo que contiene la posicion 0 del arreglo autos con el metodo getter precio
precio=autos[0].getPrecio();
//12. se corre un bucle for hasta que i sea menor a lo que contenga el arreglo autos, de forma creciente
for(int i=1;i
Todo dices facilísimo, yo lo veo como que es del diablo 😮
¡Eres un hacha! Gracias, me ayudaste como tienes una idea.
Excelente como siempre, mil gracias
20:10 "esto seria todo, bastante cencillo..." mi cara O_o !
Jajajja somos 2...
no has de ser mediocre, la realidad es que si es demasiado sencillo en los estándares que se mueven los programadores y si esto te parece muy complicado, algo has estudiado mal
@@waterfunk2353 jaja relaja la QK nadie nace sabiendo, pero hay la llevamos
@@djperezrecords7291 es obvio que nadie nace sabiendo, pero nunca digas que un algoritmo de este tipo es complicado porque lo mas probable es que en 2 semanas digas, wow que facil era.
@@waterfunk2353 para ti puede resultar demasiado sencillo por saber previamente del tema. Pero para quienes recien empezamos con esto, no es tan facil. Es cuestión de cada uno. Y como te dijo, relajá un toque bro xD
Excelente ... grande maestro.
Ejercicio 4 (JavaScript) :
class Carrera {
constructor(nro,nombre,tiempoC) {
this.nro = nro;
this.nombre = nombre;
this.tiempoC = tiempoC;
}
get getTiempoC(){
return this.tiempoC;
}
mostrarDatos () {
console.log(`Nro. : ${this.nro}
Nombre : ${this.nombre}
Tiempo de carrera : ${this.tiempoC}`);
}
}
indiceCarrera = (corredores) => {
let tiempo;
let indice = 0;
tiempo = corredores[0].getTiempoC;
for (let i = 1; i < corredores.length; i++) {
if (corredores[i].getTiempoC < tiempo) {
tiempo = corredores[i].getTiempoC;
indice = i;
}
}
return corredores[indice].mostrarDatos();
}
let tamano = parseInt(prompt("Digite la cantidad de corredores : "));
corredores = [];
for (let i = 0; i < tamano; i++) {
let nro = prompt(`Digite las características del corredor ${(i+1)} :
` + "Digite la Nro. del corredor : ");
let nombre = prompt("Digite el nombre del corredor : ");
let tiempoC = parseFloat(prompt("Digite el tiempo de carrera del corredor : "));
corredores[i] = new Carrera(nro,nombre,tiempoC);
}
console.log(`El ganador de la competencia de atletismo es : `);
let tiempoFinal = indiceCarrera(corredores);
VOLVERE A INTENTARLO MAÑANAAAAA
package Ejercicio4;
/*
Ejercicio 4: Construir un programa para una competencia de atletismo, el programa debe gestionar una serie de
atletas caracterizados por su numero de atleta, nombre, tiempo de carrera, al final el programa debe mostrar los
datos del atleta ganador de la carrera.
*/
public class Atletismo {
// atributos
int numeroAtleta;
String nombreAtleta;
float tiempoCarrera;
public Atletismo(int numeroAtleta, String nombreAtleta, float tiempoCarrera) {
this.numeroAtleta = numeroAtleta;
this.nombreAtleta = nombreAtleta;
this.tiempoCarrera = tiempoCarrera;
}
public float getTiempoCarrera() {
return tiempoCarrera;
}
public String mostrarGanador () {
return "El corredor ganador es " + nombreAtleta + "
conn el numero #" + numeroAtleta + "
quien culmino la carrera en um tiempo de " + tiempoCarrera;
}
}
Segunda Clase
package Ejercicio4;
import java.util.Scanner;
public class Main {
public static int indiceCorredores (Atletismo corredores []){
float tiempoCarrera;
int indice = 0;
tiempoCarrera = corredores [0].getTiempoCarrera();
for (int i=1; i
*EJERCICO RESUELTO*
package Prac;
public class Atleta {
private String nombre;
private int numero;
private float tiempo;
public Atleta(String nombre,int numero ,float tiempo){
this.nombre = nombre;
this.numero = numero;
this.tiempo = tiempo;
}
public float getTiempo() {
return tiempo;
}
public String mostarDatos(){
return "ATLETA: "+nombre+"
NUMERO: "+numero+"
TIEMPO:"+tiempo+"
";
}
}
MÉTODO MAIN
package Prac;
import java.util.Scanner;
public class Principal {
public static float menorTiempo(Atleta cantidad[]){
float tiempo;
float menor=0;
tiempo = cantidad[0].getTiempo();
for(int i=1; i
Muchas Gracias... Profesor...
Solo una duda, el problema decía que se debía construir una clase para cada uno.
System.out.println("Descansa en paz maestro");
cuando le quieres decir gracias es mejor hacerlo infinito, entonces haz
while(true){
System.out.println("Descansa en paz maestro");
}
Mi solución para el ejercicio 4:
//Primera clase.
package atletismo;
public class Atleta {
//Recordar que lo más adecuado es poner los atributos como privados...
//Solamente si es MUY necesario, dejarlos como públicos.
private int numeroAtleta;
private String nombreAtleta;
private float segundosCarreraAtleta;
public Atleta(int numeroAtleta, String nombreAtleta, float segundosCarreraAtleta){
this.numeroAtleta = numeroAtleta;
this.nombreAtleta = nombreAtleta;
this.segundosCarreraAtleta = segundosCarreraAtleta;
}
public float getTiempo(){
return this.segundosCarreraAtleta;
}
public String mostrarDatos(){
return "
Número del atleta: "+this.numeroAtleta+"
Nombre del atleta: "+this.nombreAtleta+"
Tiempo de carrera en segundos: "+this.segundosCarreraAtleta+" segundos.";
}
}
//Segunda clase (main).
package atletismo;
import java.util.Scanner;
public class Main {
//Método para saber qué atleta tiene menos tiempo.
public static int getGanador(Atleta atletas[]){
int indice = 0;
for (int i = 0; i < atletas.length; i++) {
if (atletas[i].getTiempo() < atletas[indice].getTiempo() ) {
indice = i;
}
}
return indice;
}
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
leer.useDelimiter("
");
int numAtleta;
String nombreAtleta;
float tiempoSegsCarrera;
int cantidadAtletas;
System.out.print("Ingrese la cantidad de atletas: ");
cantidadAtletas = leer.nextInt();
Atleta atletas[] = new Atleta[cantidadAtletas];
for (int i = 0; i < atletas.length ; i++) {
System.out.println("
Atleta número: "+(i+1));
System.out.print("Ingrese el número del atleta: ");
numAtleta = leer.nextInt();
System.out.print("Ingrese el nombre del atleta: ");
nombreAtleta = leer.next();
System.out.print("Ingrese el tiempo en segundos que le tomó la carrera: ");
tiempoSegsCarrera = leer.nextFloat();
atletas[i] = new Atleta(numAtleta, nombreAtleta, tiempoSegsCarrera);
}
//De esta forma funciona bien, pero creo que no es la adecuada. Mejor sin poner el Main.
//int indiceGanador = Main.getGanador(atletas);
int indiceGanador = getGanador(atletas);
System.out.println("
***Atleta ganador***"+atletas[indiceGanador].mostrarDatos());
}
}
package paquete1;
public class Atleta{
private String numero;
private String nombre;
private int tiempo;
public Atleta(String numero,String nombre, int tiempo){
this.numero=numero;
this.nombre=nombre;
this.tiempo=tiempo;
}
public int getTiempo(){
return tiempo;
}
public void mostrarDatosAtleta(){
System.out.println("Numero: "+numero);
System.out.println("Nombre: "+nombre);
System.out.println("Tiempo: "+tiempo+" segundos");
}
}
package paquete1;
import java.util.Scanner;
public class Principal {
public static int indiceAtletaGanador(Atleta x[]){
int indice=0,menorTiempo;
menorTiempo=x[0].getTiempo();
for(int i=0;i
Atleta.java
/*Ejercicio 4: Construir un programa para una competencia de
atletismo, el programa debe gestionar una serie de atletas
caracterizados por su número de atleta, nombre y tiempo de
carrera, al final el programa debe mostrar los datos del atleta
ganador de la carrera.
*/
package Ejercicio4;
public class Atleta {
private int numAtleta;
private String nombreAtleta;
private float tiempoCarrera;
//Metodo Constructor
public Atleta(int numAtleta, String nombreAtleta, float tiempoCarrera) {
this.numAtleta = numAtleta;
this.nombreAtleta = nombreAtleta;
this.tiempoCarrera = tiempoCarrera;
}
public float getTiempoCarrera() {
return tiempoCarrera;
}
public String mostrarDatos(){
return "Numero del Atleta: "+numAtleta+"
Nombre del Atleta: "+nombreAtleta+"
Tiempo de Carrera: "+tiempoCarrera+"
";
}
}
main.java
package Ejercicio4;
import java.util.Scanner;
public class main {
public static int atletaGanador(Atleta atl[]){
float tiempoCarrera;
int indice = 0;
tiempoCarrera = atl[0].getTiempoCarrera();
for(int i=1;i
Sólo devulve el que llegó en menor tiempo!
package Ejercicio4;
import java.util.Scanner;
public class Atleta {
//Atributos
private int numero;
private String nombre;
private float tiempo;
//Primer metodo
//Constructor
public Atleta(int numero, String nombre, float tiempo) {
this.numero = numero;
this.nombre = nombre;
this.tiempo = tiempo;
}
public float getTiempo() {
return tiempo;
}
public String mostrarDatos(){
return "Numero de atleta: "+numero+"
Nombre del atleta: "+nombre+"
Tiempo de carrea: "+tiempo+"
";
}
public static int indiceGanador(Atleta atletas[]){
float tiempo;
int indice=0;
tiempo = atletas[0].getTiempo();
for(int i=1;i
El ejercicio 4 se puede resolver de la manera exácta en como Alejandro resolvió el ejericio Nº3,obviamente, adaptando los términos al requisito del programa que, para el caso del ejercicio Nº4, son de un programa para determminar el atleta más veloz.
Muy lindo ejercicio. Buen video!
package sample4;
import java.util.Scanner;
public class Sample4 {
private final int id;
private final String name;
private final double time;
public Sample4(int id, String name, double time) {
this.id = id;
this.name = name;
this.time = time;
}
public double getTime() {
return time;
}
public String mostrarDatos() {
return "Id: "+id+
"
Name: "+name+
"
Time: "+time;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int atletas, id;
String name;
double time;
System.out.print("Número de atletas: ");
atletas = input.nextInt();
Sample4 serie[] = new Sample4[atletas];
for(int i=0; i
Que crack fuiste bro !, alguien sabe qué formación tenía ?
Excelente tutorial. gracias.
Muchas gracias, Un saludo desde Perú
Muy buen video!!! Aunque tengo una duda, estoy realizando un ejercicio que me pide ingresar datos( generar objetos) hasta que el usuario desee, y me plantee que en ese caso no necesariamente habría que ingresar la cantidad que quiera el usuario sino hasta que quiera, a lo que voy es que en ese caso preguntaría si el usuario desea seguir ingresando datos, por lo tanto generando objetos a medida que responda "si" , mi duda aquí si uso un iterador para ir incrementando la cantidad de objetos o como seria porque la verdad que no creo que tenga que ser "n" cantidad de vehículos a ingresar
podria ser:
ejemplo: introduce datos hasta que el usuario desee detener:
datos=1;
while(datos!=0){
System.out.println("Introduce los datos");
int d=leer.nextInt();
}
eso seria todo,si el usuario teclea un "cero" el programa se va a detener,obviamente poniendo un mensaje como:System.out.println("Presiona cero si deseas terminar");
podria ser otro numero u otra letra,como tu desees.
Gracias por tus aportes.
Gracias a ti por ver :) Un saludo
NO me sale. Se ejecuta el programa ,pero después de "Digite la cantidad de vehículos a analizar: 5
" me aperase este error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at paquete1.Main.indiceCocheMBrato(Main.java:19)
at paquete1.Main.main(Main.java:55)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
Primer comentario... saludame amigo soy un suscriptor ☺
perfecto
Ejercicio 4.
Atletismo
public class Atletismo {
private int numeroAtleta;
private String nombre;
private float tiempoCarrera;
public Atletismo(int numeroAtleta, String nombre, float tiempoCarrera) {
this.numeroAtleta = numeroAtleta;
this.nombre = nombre;
this.tiempoCarrera = tiempoCarrera;
}
public float getTiempoCarrera() { return tiempoCarrera; }
@Override
public String toString() {
return "numeroAtleta= " + numeroAtleta + ", nombre= " + nombre + ", tiempoCarrera= " + tiempoCarrera;
}
}
Main
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
out.print("Ingresa la cantidad de atletas: ");
Atletismo[] atletas = new Atletismo[sc.nextInt()];
int posicion = 0;
for (int i = 0; i < atletas.length; i++) {
out.println("
Atleta N°" + (i + 1));
out.print("Ingresa el Número de atleta: ");
int numeroAtleta = sc.nextInt();
sc.nextLine();
out.print("Ingresa el nombre del atleta: ");
String nombreAtleta = sc.nextLine();
out.print("Ingresa el tiempo del atleta: ");
float tiempoAtleta = sc.nextFloat();
atletas[i] = new Atletismo(numeroAtleta, nombreAtleta, tiempoAtleta);
posicion = atletas[i].getTiempoCarrera() < atletas[posicion].getTiempoCarrera() ? i : posicion;
}
out.println("
El atleta ganador es: " + atletas[posicion]);
}
y pensar que el tambien era un estudiante de ingenieria y en este momento tendria mi edad dezcansa en paz amigo.
Si tus atributos son privados porque no utilizas ningun metodo set a la hora de construir el objeto.
package clasesej4;
public class Atletas {
//Atributos
int numeroatleta;
String nombre;
double tiempocarrera;
//Metodos
public Atletas(int numeroatleta, String nombre, double tiempocarrera) {
this.numeroatleta = numeroatleta;
this.nombre = nombre;
this.tiempocarrera = tiempocarrera;
}
public double get_tiempocarrera(){
return tiempocarrera;
}
public static int ganadorcarrera(Atletas p[]){
double tiempo;
int indice=0;
tiempo=p[0].get_tiempocarrera();
for (int i=0; i
buenos videos, una pregunta que teclas presionas para que te salgan los atributos del constructor en coche[i] = new vehiculo(aqui);
yo tambien quiero saber eso
Esta fue mi solución para el ejercicio de la competencia de Atletismo.
Clase Atleta:
package EjercicioAtleta;
public class Atleta {
private int numeroAtleta;
private String nombreAtleta;
private float tiempoCarrera;
public Atleta(int numeroAtleta, String nombreAtleta,float tiempoCarrera){
this.numeroAtleta = numeroAtleta;
this.nombreAtleta = nombreAtleta;
this.tiempoCarrera = tiempoCarrera;
}
public float getTiempoCarrera() {
return tiempoCarrera;
}
public String mostrarDatos(){
return "NUMERO DEL ATLETA: "+numeroAtleta+"
NOMBRE DEL ATLETA: "+nombreAtleta+"
TIEMPO DE CARRERA: $"+tiempoCarrera+"
";
}
}
Clase Principal (Main):
package EjercicioAtleta;
import java.util.Scanner;
public class Principal {
public static int indiceTiempoMenor(Atleta[] atletas) {
float tiempoCarrera;
int indice = 0;
tiempoCarrera = atletas[0].getTiempoCarrera();
for (int i = 1; i < atletas.length; i++) {
if (atletas[i].getTiempoCarrera() < tiempoCarrera) {
tiempoCarrera = atletas[i].getTiempoCarrera();
indice = i;
}
}
return indice;
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.println("DIGITE CANTIDAD DE ATLETAS: ");
int cantidadAtletas = entrada.nextInt();
Atleta[] atletas = new Atleta[cantidadAtletas];
for (int i = 0; i < atletas.length; i++) {
entrada.nextLine();
System.out.println("
DIGITE CARACTERISTICAS DEL ATLETA " + (i + 1) + ": ");
System.out.println("DIGITE NUMERO DEL ATLETA: ");
int numeroAtleta = Integer.parseInt(entrada.nextLine());
System.out.println("DIGITE NOMBRE DEL ATLETA: ");
String nombreAtleta = entrada.nextLine();
System.out.println("DIGITE TIEMPO DE LA CARRERA: ");
float tiempoCarrera = entrada.nextFloat();
atletas[i] = new Atleta(numeroAtleta, nombreAtleta, tiempoCarrera);
}
int indice = indiceTiempoMenor(atletas);
System.out.println("
EL GANADOR DE LA CARRERA ES: ");
System.out.println(atletas[indice].mostrarDatos());
}
}
Me sentia como Dios programando, fueron llegan las matrices y POO y no puedo estar mas decepcionado de mi mismo
y ahora como te va bro?
Piensa que estás aquí para aprender. Sigue aprendiendo, date a ti mismo el tiempo que necesites sin compararte con nadie ni contigo mismo cuando lo hacías fácilmente. Repite videos y ejercicios poniendo mucha atención. Lo conseguirás.
Solución ejercicio 2 (le añadí una tabla de posiciones de todos los atletas) :
package LearningPOO;
import java.util.Scanner;
public class Atleta {
String nombre;
String numeroAtleta;
float tiempoLlegada;
int posicionLlegada;
public Atleta(String nombre, String numeroAtleta, float tiempoLlegada) {
this.nombre = nombre;
this.numeroAtleta = numeroAtleta;
this.tiempoLlegada = tiempoLlegada;
}
public float getTiempoLlegada(){
return tiempoLlegada;
}
public String MostrarDatos(){
return "Nombre: " + nombre + "
Numero: " + numeroAtleta +
"
Tiempo de llegada: " + tiempoLlegada + "
";
}
public static void ordenarPosiciones(Atleta objeto[]){
// Almacena los tiempos de llegada en otro array
int i, j;
float[] aux = new float[objeto.length];
for (i = 0; i < objeto.length; i++) {
aux[i] = objeto[i].getTiempoLlegada();
}
// Ordena el nuevo array
float guarda;
for (i = 0; i < objeto.length - 1; i++) {
for (j = 0; j < objeto.length - 1; j++) {
if(aux[i] > aux[i+1]){
guarda = aux[i];
aux[i] = aux[i+1];
aux[i+1] = guarda;
}
}
}
// Comparamos tiempos para agregar la posicion
for (i = 0; i < objeto.length; i++) {
if( objeto[i].getTiempoLlegada() == aux[i]){
objeto[i].posicionLlegada = i;
}
}
}
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int cantAltetas;
// Pedimos la cantidad de carros
System.out.print("Ingrese la cantidad de atletas: ");
cantAltetas = entrada.nextInt();
// Instanciamos un arreglo con la cantidad de carros
Atleta[] atleta = new Atleta[cantAltetas];
// Ingresamos datos
String nombre, numeroAtleta;
float tiempoLlegada;
int posicionLlegada, i;
for (i = 0; i < cantAltetas; i++) {
System.out.println("Atleta " + (i+1) );
System.out.print("Ingresa el nombre: ");
nombre = entrada.next();
System.out.print("Ingresa el numero: ");
numeroAtleta = entrada.next();
System.out.print("Ingresa el tiempo de llegada: ");
tiempoLlegada = entrada.nextFloat();
atleta[i] = new Atleta(nombre, numeroAtleta, tiempoLlegada);
System.out.println("");
}
// Ordenamos las posiciones
ordenarPosiciones(atleta);
// Imprimo la tabla de posiciones
int contador = 0; i=0;
System.out.println("
\tTabla de Posiciones
");
do{
if(atleta[i].posicionLlegada == i){
System.out.println("Posición " + (i+1) );
System.out.println(atleta[i].MostrarDatos());
contador++;
}
i++;
}
while(!(contador == cantAltetas));
}
}
// Coded by Keneth with 💚
Tengo una duda... ¿En dónde se creó la clase que representa a cada uno de los vehículos? (Última parte del ejercicio)
Cuando creas una nueva clase, se crea un nuevo archivo con el nombre de la clase y la extensión .java y eso se ve en otra pestaña que se abre, al menos usando eclipse como IDE para programar en JAVA
Ale Bro ,tengo una duda como podria crear un array de objeto pero sin mandarle a decir el tamaño del arreglo y que mientras el usuario siga digitando datos ,se siga haciendo cada vez mas grande ,porfavor es para un trabajo de la uni ,he buscado como pero no puedo hacerlo ,espero me contestes ,saludos
No estoy seguro, Alejandro dirá si es así, creo que debes poner [size]
Han pasado 5 años desde tu consulta pero bueno igual te respondo. Esta seria una forma de hacer lo que quieres:
Scanner entrada = new Scanner(System.in);
Clase arregloObjetos[ ];
boolean finalizar = false;
int decision;
int i=0;
while (finalizar == false) {
System.out.println("Introduzca el atributo N"+(i+1)+":");
String atributo1 = entrada.nextLine();
System.out.println("Introduzca elatributo N"+(i+1)+":");
String atributo2 = entrada.nextLine();
System.out.println("Introduzca el atributo N"+(i+1)+":");
float atributo3 = entrada.nextFloat();
arregloObjetos[ i ] = new Clase(atributo1, atributo2, atributo3);
i++;
System.out.println("Desea continuar agregando objetos?
1.Si
2.No");
decision = entrada.nextInt();
Switch (decision){
case 1:
break;
case 2:
finalizar = true;
break;
default:
finalizar = true;
System.out.println("Opcion erronea, por defecto se finaliza la operacion");
break;
}
}
Crear una clase “Equipo” que contenga los atributos: partidos_Ganados, Puntos_a_Favor y Puntos_En_Contra. Crear 5 equipos y darle valores a sus atributos, ordenar por partidos ganados de mayor a menor; y, en el caso de que hubiese equipos con los mismos partidos ganados, se mirará el criterio de Puntos_a_Favor para saber cuál está primero. Si en los puntos a favor también están empatados, se mirarán los puntos en contra.
ayuda que me he quedado atascado por favor
el error de buffer se soluciona poniendo el entrada.nextline(); al final de precio = entrada.nextFloat();
Mi solucion para el ejercicio 4
Principal Class
package paqueteA;
import java.util.Scanner;
public class Principal {
public static int indiceAtleM( Atleta time[]){
float tiempo;
int indice=0;
tiempo = time[0].getTiempo();
for(int i=1;i
no me queda claro muchas cosas como esa parte donde haces que coches sea de clase vehiculo y le metes un atributo de tipo entereo cuando en el file de vehiculo.java no existe ese atributo. no entiendo esa parte
Si Messi Es el crack del fútbol este lo es pero en la programación
Buenas, así fue que hice el Ejercicio nro 4 (hice 2 clases: 1 clase atleta y otra clase con metodo main)
/*
Ejercicio 4: Construir un programa para una competencia de atletismo,
el programa debe gestionar una serie de atletas caracterizados
por su número de atleta, nombre y tiempo de carrera,
al final el programa debe mostrar los datos del atleta ganador de la carrera.
*/
package Ejercicio4;
public class Atleta {
private int nroAtleta;
private String nombre;
private String tiempo;//determinado en 00:00 min/seg
Atleta(){}
public Atleta(int nroAtleta, String nombre, String tiempo) {
this.nroAtleta = nroAtleta;
this.nombre = nombre;
this.tiempo = tiempo;
}
public int getNroAtleta() {
return nroAtleta;
}
public void setNroAtleta(int nroAtleta) {
this.nroAtleta = nroAtleta;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getTiempo() {
return tiempo;
}
@Override
public String toString(){
return "NroAtleta: "+nroAtleta+"
Nombre: "+nombre+"
Tiempo: "+tiempo;
}
}
-----------------------------------------------------------------------------------------------
METODO MAIN
-------------------------------------------------------------------------------------------------------------------------------------
package Ejercicio4;
import java.util.*;
public class Ej4 {
public static int carrera(Atleta[] atle){
int indice = 0;
int min = Integer.parseInt(atle[0].getTiempo().substring(0, 2));
int seg = Integer.parseInt(atle[0].getTiempo().substring(3, 5));
for(int i = 1 ; i< atle.length ; i++){
if(min == Integer.parseInt(atle[i].getTiempo().substring(0, 2)) &&
seg>Integer.parseInt(atle[i].getTiempo().substring(3, 5))){
indice = i;
}else if(min > Integer.parseInt(atle[i].getTiempo().substring(0, 2)))
indice = i;}
return indice;
}
public static void main(String[] args) {
int indiceGanador;
Atleta at1 = new Atleta(1, "Fapencio", "25:35");
Atleta at2 = new Atleta(2, "Germancio", "22:52");
Atleta at3 = new Atleta(3, "Maria", "25:59");
Atleta[] atletas = new Atleta[3];
atletas[0] = at1;
atletas[1] = at2;
atletas[2] = at3;
indiceGanador = carrera(atletas);
System.out.println("el ganador es "+atletas[indiceGanador].toString());
}
}
Q.E.P.D Alejandro no puedo creerlo, ni nos conocimos pero siento una pena tremenda. no lo puedo creer
que pena porque no hay mas vídeos
Porque en "MostrarDatos" no le coloca un get?
el metodo getter es solo nombre, lo que importa es si es un tipo de dato como String, int float, char u otro tipo quiere decir que el metodo retorna ese tipo de dato. pero si colocas void quiere decir que es setter es decir cambia su estado, me dejo entender? alejandro fallecio pero aun todos los que vemos seguimos aprendiendo...
@@cristhianlopez4456 Si Muchas Gracias, lo tengo claro ahora. Si lose es una pena lo de la muerte de Alejandro, Saludos.
Tengo una duda!! en mi escuela trabajamos siempre con un JOPtionpane y usted trabaja con un system y mas o menos si entiendo el system.in y system.out pero el scanner? que es? para que se utiliza? y si quiero convertirlo a un joptionpane el programa que usted hizo, como seria? busque y busque respuestas durante dias en internet pero no pude encontrar nada, alguien me podria ayudar?!! se lo agradeceria demasiado, me encantan mucho sus videos, Aprendo demasiado con usted!
Mira este video de pildorasinformaticas, te lo explican muy bien th-cam.com/video/Ng0_7uZyIoA/w-d-xo.html
@@teracon5952 aunque le hagas bastante publicidad a Juan de píldoras del cual yo también ando avanzando java. Este muchacho fue mejor y es mejor q Juan porque lo resume y te lo explica en un lenguaje sencillo. Juan se complica mucho y redunda mucho ojo que no digo q sea mal maestro porque yo también ando aprendiendo con los 2.pero Miguel es el mejor de TH-cam.
Lo único que no entiendoe s por que esa variable debe ser static?
Empezando tarde pero seguro.
public class Atleta {
private int numAtleta;
private String nombre;
private double tiempoCarrera;
public Atleta(int numAtleta, String nombre, double tiempoCarrera) {
this.numAtleta = numAtleta;
this.nombre = nombre;
this.tiempoCarrera = tiempoCarrera;
}
public double getTiempoCarrera() {
return tiempoCarrera;
}
public String mostrarDatos() {
return "Numero de atleta: " + numAtleta + " Nombre del atleta: " + nombre + " Tiempo de carrera: " + tiempoCarrera;
}
public static int indiceAtletaGanador(Atleta atletas[]) {
double tiempo;
int indice = 0;
tiempo = atletas[0].getTiempoCarrera();
for (int i = 0; i < atletas.length; i++) {
if (atletas[i].getTiempoCarrera() < tiempo) {
tiempo = atletas[i].getTiempoCarrera();
indice = i;
}
}
return indice;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Digita la cantidad de atletas: ");
int numAtletas = sc.nextInt();
Atleta atletas[] = new Atleta[numAtletas];
for (int i = 0; i < numAtletas; i++) {
sc.nextLine();
System.out.println("
Digite las caracteristicas del atleta: " + (i + 1));
System.out.print("Digita el nombre de atleta: ");
String nombreAtleta = sc.nextLine();
System.out.print("Digita el numero del atleta: ");
int numAtleta = sc.nextInt();
System.out.print("Digita el tiempo del atleta: ");
double tiempoAtleta = sc.nextDouble();
atletas[i] = new Atleta(numAtleta, nombreAtleta, tiempoAtleta);
}
int indiceGanador = indiceAtletaGanador(atletas);
System.out.println("El atleta ganador es: ");
System.out.println(atletas[indiceGanador].mostrarDatos());
}
}
Ejercicio 4:
public class Atleta {
//atributos
private int NumAtleta;
private String nombre;
private double tiempoCarrera;
//constructor
public Atleta(int NumAtleta, String nombre, double tiempoCarrera) {
this.NumAtleta = NumAtleta;
this.nombre = nombre;
this.tiempoCarrera = tiempoCarrera;
}
//Getter para introducir el numero del atleta
public int getNumAtleta(){
return NumAtleta;
}
//Getter para el nombre
public String getNombre(){
return nombre;
}
//Getter para el tiempo de carrera
public double getTiempoCarrera(){
return tiempoCarrera;
}
//Mostrar Ganador
public String MostrarGanador(){
return "El ganador de la carrera fue el Atleta con el codigo:"+NumAtleta+"
Nombre: "+nombre+"
Con un tiempo de carrera de: "+tiempoCarrera;
}
}
Metodo Main
import java.util.Scanner;
public class AtletaMain {
//Metodo para sacar al corredor con el menor tiempo.
public static int AtletaGanador(Atleta carrera[]){
double MenorTiempo;
int aux = 0;
MenorTiempo = carrera[0].getTiempoCarrera();
for(int i=1; i
Alguien sabe cual es el programa que Alejandro usaba para hacer los UML
creo q strarUML
Hola no tienes un curso de javascript?
Saludo segundo! Comentario!
package ejercicio4_Objetos;
public class Atleta {
//ATRIBUTOS
private int numAtleta;
private String nombre;
private float tiempoCarrera;
public Atleta(int numAtleta, String nombre, float tiempoCarrera) {
this.numAtleta=numAtleta;
this.nombre=nombre;
this.tiempoCarrera=tiempoCarrera;
}
public float getTiempo(){
return tiempoCarrera;
}
public String mostrarAtleta() {
return "Numero atleta: "+numAtleta+"
Nombre atleta: "+nombre+"
Este es el tiempo: "+tiempoCarrera;
}
}
package ejercicio4_Objetos;
import java.util.Scanner;
public class Prueba_Atleta {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int cantAtletas, numAtleta;
String nombre;
float tiempoCarrera;
System.out.println("DATOS DE UNA CARRERA........");
System.out.print("Introduce la cantidad de atletas: ");
cantAtletas = entrada.nextInt();
Atleta participantes[] = new Atleta[cantAtletas];
for (int i = 0; i < participantes.length; i++) {
System.out.println("Datos del atleta Nº" + (i + 1) + "..........");
System.out.print("Introduce el numero identificativo del atleta: ");
numAtleta = entrada.nextInt();
entrada.nextLine();
System.out.print("Introduce el nombre del atleta: ");
nombre = entrada.nextLine();
System.out.print("Introduce el tiempo que hizo(con decimales): ");
tiempoCarrera = entrada.nextFloat();
participantes[i] = new Atleta(numAtleta, nombre, tiempoCarrera);
}
System.out.println("El ganador de la carrera(el que hizo menos tiempo)es....");
System.out.println(participantes[ganador(participantes)].mostrarAtleta());
entrada.close();
}
//FUNCION PARA BUSCAR AL GANADOR(MENOS TIEMPO)
public static int ganador(Atleta participantes[]) {
float menorTiempo;
int indice = 0;
menorTiempo = participantes[0].getTiempo();
for (int i = 1; i < participantes.length; i++) {
if (participantes[i].getTiempo() < menorTiempo) {
menorTiempo = participantes[i].getTiempo();
indice = i;
}
}
return indice;
}
}
como se hace este ejercicio en c#
Alguien sabe cual era el ejercicio 4?
Pero por qué? Si se veía tan sanote 😢
se me hace raro que diga objetos a los espacio en el array :,v no entiendo
//Clase para los objetos(Atletas)
public class Atleta {
private int numero;
private String nombre;
private float tiempo;
public Atleta(int numero, String nombre, float tiempo) {
this.numero = numero;
this.nombre = nombre;
this.tiempo = tiempo;
}
public float getTiempo() {
return tiempo;
}
public void datos() {
System.out.println("Numero: " + numero);
System.out.println("Nombre: " + nombre);
System.out.println("Tiempo: " + tiempo + " seg");
}
}
//Clase Main
public class Atletismo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numero;
String nombre;
float tiempo;
int cantidadAtleta, tiempoAtleta;
System.out.print("¿Cuantos atletas va a ingresar?: ");
cantidadAtleta = sc.nextInt();
Atleta corredor[] = new Atleta[cantidadAtleta];
for (int i = 0; i < corredor.length; i++) {
System.out.println("");
System.out.println("Ingrese los datos del atleta " + (i + 1) + " :");
System.out.print("Numero de atleta: ");
numero = sc.nextInt();
System.out.print("Nombre del atleta: ");
nombre = sc.next();
System.out.print("Tiempo de carrera: ");
tiempo = sc.nextFloat();
corredor[i] = new Atleta(numero, nombre, tiempo);
}
tiempoAtleta = menorTiempo(corredor);
System.out.println("
El ganador de la carrera es: ");
corredor[tiempoAtleta].datos();
}
public static int menorTiempo(Atleta corredor[]) {
float tiempo;
int valor = 0;
tiempo = corredor[0].getTiempo();
for (int i = 1; i < corredor.length; i++) {
if (corredor[i].getTiempo() < tiempo) {
tiempo = corredor[i].getTiempo();
valor = i;
}
}
return valor;
}
}
Mi resolucion del ejercicio 4 por si alguien quiere una guia:
package ejercicios;
public class Atletismo {
private String nombreAtleta;
private String numeroAtleta;
private float tiempo;
public Atletismo(String nombreAtleta,String numeroAtleta,float tiempo){
this.nombreAtleta = nombreAtleta;
this.numeroAtleta = numeroAtleta;
this.tiempo = tiempo;
}
public float getTiempo() {
return tiempo;
}
public void mostrarGanador(){
System.out.println("Thi winner is: ");
System.out.println(nombreAtleta);
System.out.println("numero: "+numeroAtleta);
System.out.println("tiempo: "+tiempo+"s");
}
}
//main
package ejercicios;
import java.util.Scanner;
public class Main {
public static int indiceGanador(Atletismo lista[]){
int indice = 0;
float tiempo = lista[0].getTiempo();
for (int i=1;ilista[i].getTiempo()){
indice = i;
tiempo = lista[i].getTiempo();
}
}
return indice;
}
public static void main(String[] args){
String nombreAtleta, numeroAtleta;
float tiempo;
int cantParticipantes, indiceGanador;
Scanner input = new Scanner(System.in);
System.out.print("Ingresar cantidad de participantes: ");
cantParticipantes = input.nextInt();
Atletismo lista[] = new Atletismo[cantParticipantes];
for (int i=0;i
perdon que te lo diga, pero te complicas mucho a mi parecer y no usas todos los objtos creados, no usas el getprecio en mi opinion ahi pudiste hacer lo de buscar el precio del auto, y no usas el mostrar datos, ese creo que no era necesario pedirlo
explica tan bien pero como me cuesta entender este puntos me confundo y copio leo 1 2 y 3 veces lo practico y nose como hacer para que me entre hahaha
Asi me quedo el ejercicio 4:
Clasee Atleta:
public class Atleta {
private String codigo;
private String nombre;
private float marca;
public Atleta(String codigo, String nombre, float marca) {
this.codigo = codigo;
this.nombre = nombre;
this.marca = marca;
}
public float getMarca() {
return marca;
}
public void mostar(){
System.out.println("Codigo:"+codigo);
System.out.println("Nombre:"+nombre);
System.out.println("Marca:"+marca);
System.out.println(" ");
}
}
--------------------------------------------------//-------------------------------//------------------
Clase MAIN
import java.util.Scanner;
public class main {
public static int ganador(Atleta corredores[]){
float record=corredores[0].getMarca();
int ganador=0;
for (int i = 1; i < corredores.length; i++) {
if(corredores[i].getMarca()
package jaja;
public class atleta {
public String nombre;
public int num;
public float tiempo;
public atleta(String nombre,int num,float tiempo){
this.nombre = nombre;
this.num = num;
this.tiempo = tiempo;
}
public void mostrar(){
System.out.println("Nombre: "+nombre+"
Numero: "+num+"
Tiempo: "+tiempo);
}
}
package jaja;
import java.util.*;
public class jana {
public static void main(String[] args) {
atleta[] at=new atleta[5];
Scanner cin = new Scanner( System.in );
cin.useLocale( new Locale("es", "MX"));
String name,salto;
int num,indice = 0;
float time;
for(int x=0;x
ME COSTO MUCHO, pero aqui esta.
import java.util.Scanner;
public class Principal
{
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
String nombre;
String numero;
float tiempo;
System.out.println("Digite la cantidad de atletas");
int cantidadAtletas=sc.nextInt();
int ganadorAtleta;
//Creamos un arreglo de atletas
Atleta participantes[]=new Atleta[cantidadAtletas];
for(int i=0; i
Como sumo todos los valores de los coches?
CON SUMA PS ANIMAL DE MELAS
package paqueteatleta;
import java.util.Scanner;
public class Principal {
public static int indiceAtletaGanador(Atleta corredores[]){
float tiempo;
int indice = 0;
tiempo = corredores[0].getTiempo();
for (int i = 1; i < corredores.length; i++) {
if (corredores[i].getTiempo() < tiempo){
indice = i;
}
}
return indice;
}
public static void main(String [] args){
Scanner entrada = new Scanner (System.in);
int numeroAtleta;
String nombre;
float tiempo;
int numeroParticipantes,ganador;
System.out.println("digite la cantidad de corredores: ");
numeroParticipantes = entrada.nextInt();
//creamos los objetos para los corredores
Atleta corredores[] = new Atleta[numeroParticipantes];
for (int i = 0; i < corredores.length; i++) {
entrada.nextLine();
System.out.println("digite las caracteristicas del corredor: "+(i+1));
System.out.print("digite su numero de atleta: ");
numeroAtleta = entrada.nextInt();
System.out.print("digite el nombre del atleta: ");
entrada.nextLine();
nombre = entrada.nextLine();
System.out.print("digite el tiempo que tardo en terminar la carrera: ");
tiempo = entrada.nextFloat();
corredores[i] = new Atleta(numeroAtleta,nombre,tiempo);
}
ganador = indiceAtletaGanador(corredores);
System.out.println("
El corredor mas rapido es: ");
System.out.println(corredores[ganador].mostrarDatos());
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package paqueteatleta;
public class Atleta {
private int numeroAtleta;
private String nombre;
private float tiempo;
public Atleta(int numeroAtleta, String nombre, float tiempo) {
this.numeroAtleta = numeroAtleta;
this.nombre = nombre;
this.tiempo = tiempo;
}
public float getTiempo() {
return tiempo;
}
public String mostrarDatos(){
return "el atleta con el numero: "+numeroAtleta+"
con el nombre: "+nombre+"
ha ganado con el tiempo : "+tiempo;
}
}
POO me lleva mal, creo que me costara mas de lo pensado
Bastante sencillo
package POO.clase72.ejercicio;
public class Alteta {
private int numero;
private String nombre;
private int segundos = 0;
private int horas = 0, minutos = 0;
public Alteta (int numero, String nombre, int segundos){
this.numero = numero;
this.nombre = nombre;
this.segundos = segundos;
}
int getSegundos (){
return segundos;
}
public int getNumero (){return numero;}
public String getNombre(){return nombre;}
public String calcularTiempo(){
int nuevosSegundos;
horas = segundos / 3600;
minutos = (segundos % 3600) / 60;
nuevosSegundos = segundos % 60;
String tiempo = horas + " : " + minutos + " : " + nuevosSegundos;
return tiempo;
}
}
package POO.clase72.ejercicio;
import java.util.Scanner;
public class Main {
private static Scanner cin = new Scanner(System.in);
public static void main(String[] args) {
int cantidadAtletas = 0;
int numero;
String nombre;
int segundos;
int pos = 0;
System.out.print("ingrese la cantidad de competidores: ");
cantidadAtletas = cin.nextInt();
Alteta[] objectos = new Alteta[cantidadAtletas];
for (int i = 0; i < cantidadAtletas; i++) {
System.out.println("competidor " + (i+1));
System.out.println("--------------------------------");
System.out.print("numero: ");
numero = cin.nextInt();
cin.nextLine();
System.out.print("nombre: ");
nombre = cin.nextLine();
System.out.print("tiempo en segundos: ");
segundos = cin.nextInt();
System.out.println("--------------------------------");
System.out.println();
Alteta competidor = new Alteta(numero, nombre, segundos);
objectos[i] = competidor;
cin.nextLine();
}
segundos = objectos[0].getSegundos();
for (int i=0; i objectos[i].getSegundos()){
segundos = objectos[i].getSegundos();
pos = i;
}
}
System.out.println("el atleta ganador fue: ");
System.out.println("atleta " + (pos + 1));
System.out.println("--------------------------------");
System.out.println("numero: " + objectos[pos].getNumero());
System.out.println("nombre: " + objectos[pos].getNombre());
System.out.println("tiempo: " + objectos[pos].calcularTiempo());
cin.close();
}
}
-->exelente video saludos
TE EXTRAÑO