71. Programación en Java || POO || Ejercicio - Obtener el perímetro y área de un cuadrilátero

Поділитися
Вставка
  • Опубліковано 1 гру 2024

КОМЕНТАРІ • 210

  • @javicrowley
    @javicrowley 5 років тому +221

    De haber sabido que tenias una grave enfermedad, habríamos de alguna forma devuelto la mano, descanza en paz, dejas un gran legado a futuros programadores, ojala algun dia pueda ser como tú...adios

    • @justogonzalez5300
      @justogonzalez5300 4 роки тому +2

      Buenos días Javiera P, quien falleció, no quiero creer o ojalá que me equivoque

    • @dajuvaja
      @dajuvaja 4 роки тому +2

      @@justogonzalez5300 El muchacho del canal falleció ya hace varios meses.

    • @justogonzalez5300
      @justogonzalez5300 4 роки тому +7

      @@dajuvaja Gracias, que pena para todos los estudiantes de programación, no sabia de su enfermedad, pero fue todo rápido según he visto, tal vez se haya golpeado en su rodilla que le causó la enfermedad, que gran perdida, particularmente no encontré un profesor que explica como él, si tiene algún nombre puede publicar por favor. gracias

    • @walterfarias5370
      @walterfarias5370 4 роки тому +6

      @@justogonzalez5300 si queres ver alternativas a su canal en mi opinión pildoras informaticas es una buena opción

    • @compartelo007
      @compartelo007 4 роки тому +7

      @@justogonzalez5300 Su nombre "es" Alejandro Taboada

  • @c.martinezsantiago8806
    @c.martinezsantiago8806 2 роки тому +14

    Lo que este joven explica es sumamente entendible para cualquier aprendiz, mis felicitaciones. Una tristeza por la noticia, pero ha dejado un gran aporte a muchos programadores. Honraremos su memoria difundiendo este material para que llegue a muchas otras generaciones, la esencia esta ahí presente.

  • @andresportilla4795
    @andresportilla4795 7 років тому +19

    hola yo soy andres también soy programador y es la primera vez que entiendo la explicación de un lenguaje de manera clara y didáctica sigue así felicitaciones desde Colombia a broder

  • @peterlutron
    @peterlutron 3 роки тому +21

    muy buen ejercicio, me hizo pensar por muchas horas pero al final logre llegar al resultado y aprender mucho. Descansa en paz Alejandro, fuiste y sos alto profesor.

    • @camilojosedurangutierrez2525
      @camilojosedurangutierrez2525 2 роки тому

      ya debes ser muy bueno en el tema, si así es y deseo que así sea, te felicito, los esfuerzos traen sus resultados. si no ps, a veces la vida no es como queremos. Saludos.

    • @erikramirez1343
      @erikramirez1343 Рік тому +1

      jaja yo me quede como, no manches andamos viendo perimetros bien tranqui :c

  • @danirom4460
    @danirom4460 4 роки тому +2

    Yo lo supe hace unos meses el ya me había ayudado con C++, y no he conocido a nadie q explique mejor

  • @jorgesanux
    @jorgesanux 7 років тому +36

    Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero.
    **Clase Movimiento**
    package Ejercicio2Movimiento;
    public class Movimiento {
    //Atributos
    private int x;
    private int y;
    //Metodos
    //Constructor
    public Movimiento(int x,int y){
    this.x=x;
    this.y=y;
    }
    //Movimiento
    public void arriba(){
    if(y!=0){
    y-=1;
    }
    }
    public void abajo(){
    if(y!=10){
    y+=1;
    }
    }
    public void derecha(){
    if(x!=0){
    x-=1;
    }
    }
    public void izquierda(){
    if(x!=10){
    x+=1;
    }
    }
    //Getters
    public int getX(){
    return x;
    }
    public int getY(){
    return y;
    }
    }
    **Clase Main**
    package Ejercicio2Movimiento;
    import java.util.Scanner;
    public class Main {
    public static void main(String []args){
    Scanner lector=new Scanner(System.in);
    Movimiento coord;
    int x,y;
    char tecla;
    System.out.println("Digita las coordenadas de inicio
    Digita X: ");
    x=lector.nextInt();
    System.out.println("Digita Y: ");
    y=lector.nextInt();
    coord=new Movimiento(x,y);
    do{
    System.out.println("ARRIBA = W
    ABAJO = S
    DERECHA = A
    IZQUIERDA = D
    POSICION ACTUAL = V
    SALIR = X

    Digita hacia donde quieres moverte: ");
    tecla=lector.next().charAt(0);
    switch(tecla){
    case 'W':
    case 'w':
    coord.arriba();
    System.out.println("ARRIBA");
    System.out.println("x= "+coord.getX()+" y= "+coord.getY()+"
    ");
    break;
    case 'S':
    case 's':
    coord.abajo();
    System.out.println("ABAJO");
    System.out.println("x= "+coord.getX()+" y= "+coord.getY()+"
    ");
    break;
    case 'A':
    case 'a':
    coord.derecha();
    System.out.println("DERECHA");
    System.out.println("x= "+coord.getX()+" y= "+coord.getY()+"
    ");
    break;
    case 'D':
    case 'd':
    coord.izquierda();
    System.out.println("IZQUIERDA");
    System.out.println("x= "+coord.getX()+" y= "+coord.getY()+"
    ");
    break;
    case 'V':
    case 'v':
    System.out.println("POSICION ACTUAL");
    System.out.println("x= "+coord.getX()+" y= "+coord.getY()+"
    ");
    break;
    default:
    System.out.println("Error: Accion no valida.

    ");
    }
    }while(tecla!='x');
    }
    }

    • @AldairG24
      @AldairG24 Рік тому +5

      Cogí tú ejercicio como idea, llego un momento en que no podía seguir así que por eso lo cogí de ejemplo y le hice algunas modificaciones, pude comprender mejor el ejercicio. Gracias.

    • @eustaquiocarvajal
      @eustaquiocarvajal Рік тому +1

      gracias amigo

    • @HiYTGamers
      @HiYTGamers Рік тому +2

      Me salen errores, no sirve.

    • @fernandogal1
      @fernandogal1 Рік тому

      gracias a tu ejercicio, pude mejorar un poco mas mi codigo

    • @ileanr.progra-lw9ho
      @ileanr.progra-lw9ho Рік тому +4

      Chamo lo hiciste al reves XD al darle arriba baja en el eje x, y al darle abajo sube por otro lado, pero me funciono excelente trabajo!!!

  • @albertosanchezmartinez1431
    @albertosanchezmartinez1431 7 років тому +13

    Felicidades por los 50k subs Alejandro, ahora por los 100k

    •  7 років тому +4

      Muchas gracias Alberto :)

  • @Sipy9
    @Sipy9 4 роки тому +2

    Esta fue mi forma de hacerlo, gracias Alejandro por tus clases, aunque ya no te encuentres con vida, nos sigues enseñando demasiado.
    package Tablero;
    public class Tablero {
    private final int Columna,Fila;
    private int x,y;
    private boolean bool=false;
    public Tablero(int Columna, int Fila, int x, int y) {
    this.Columna = Columna;
    this.Fila=Fila;
    this.x=x;
    this.y=y;
    }
    public int getColumna() {
    return Columna;
    }

    public int getFila() {
    return Fila;
    }
    public int getX() {
    return x;
    }
    public int getY() {
    return y;
    }


    public void MostrarPosicion(){
    System.out.println("Te encuentras en la posición ("+x+","+y+")");
    }

    public boolean Movimiento(String mov){
    switch(mov){
    case "W":
    System.out.println("Te moviste arriba");
    y=y-1;
    if(y==0){
    y=Fila;
    }
    break;
    case "S":
    System.out.println("Te moviste abajo");
    y=y+1;
    if(y==Fila+1){
    y=1;
    }
    break;
    case "A":
    System.out.println("Te moviste a la izquierda");
    x=x-1;
    if(x==0){
    x=Columna;
    }
    break;
    case "D":
    System.out.println("Te moviste a la derecha");
    x=x+1;
    if(x==Columna+1){
    x=1;
    }
    break;
    default:
    System.out.println("Movimiento no reconocido, gracias por jugar");
    bool=true;
    break;
    }
    return bool;
    }

    public void imprimirTablero(){
    for(int i=1;i

  • @beatrizpacheco829
    @beatrizpacheco829 3 роки тому +1

    Rezare por ti Alejandro, por tu apoyo incondicional a todos nosotros. Dios te tenga en su gloria y descansa en Paz, amigo y maestro Alejandro.

  • @juansebastianastudillozamb2724
    @juansebastianastudillozamb2724 7 років тому +141

    Ejercicio #2 :D
    Clase 1:
    package ClasesYObjetos;
    public class Posicion {
    //Atributos
    private int ejeX;
    private int ejeY;
    //Metodos
    //Constructor
    public Posicion(int ejeX, int ejeY){
    this.ejeX = ejeX;
    this.ejeY = ejeY;
    }
    //Mover hacia arriba
    public void moverArriba(){
    ejeY += 1;
    System.out.println("DIRECCION HACIA ADELANTE");
    System.out.println("POSICION: ("+ejeX+","+ejeY+")");
    }
    //Mover hacia abajo
    public void moverAbajo(){
    ejeY -= 1;
    System.out.println("DIRECCION HACIA ABAJO");
    System.out.println("POSICION: ("+ejeX+","+ejeY+")");
    }
    //Mover hacia derecha
    public void moverDerecha(){
    ejeX += 1;
    System.out.println("DIRECCION HACIA DERECHA");
    System.out.println("POSICION: ("+ejeX+","+ejeY+")");
    }
    //Mover hacia arriba
    public void moverIzquierda(){
    ejeX -= 1;
    System.out.println("DIRECCION HACIA IZQUIERDA");
    System.out.println("POSICION: ("+ejeX+","+ejeY+")");
    }
    //Getter posicion X
    public int getEjeX(){
    return ejeX;
    }
    //Getter posicion Y
    public int getEjeY(){
    return ejeY;
    }
    }
    Clase main:
    package ClasesYObjetos;
    import javax.swing.JOptionPane;
    public class Main {
    public static void main(String[] args){
    //Variable
    char proximoMov = '0';
    //Crear objeto con cordenadas iniciales x=0, y=0
    Posicion objeto = new Posicion(0,0);
    System.out.println("POSICION INICIAL: ("+objeto.getEjeX()+","+objeto.getEjeY()+")");
    while(proximoMov != 'E'){
    //Identificar el proximo movimiento
    do {
    proximoMov = Character.toUpperCase(JOptionPane.showInputDialog("Ingrese el siguiente movimiento"+"
    "+"W-Adelante
    "+"S-Atras
    "+"A-Izquierda
    "+"D-Derecha
    "+"E-Salir
    ").charAt(0));
    } while ((proximoMov !='W')&&(proximoMov !='A')&&(proximoMov !='S')&&(proximoMov !='D')&&(proximoMov !='E'));
    //Realizar el movimiento
    switch(proximoMov){
    case 'W':
    objeto.moverArriba();
    break;
    case 'S':
    objeto.moverAbajo();
    break;
    case 'A':
    objeto.moverIzquierda();
    break;
    case 'D':
    objeto.moverDerecha();
    break;
    case 'E':
    System.out.println("Gracias por jugar!");
    break;
    default:
    System.out.println("Movimiento no reconocido");
    break;
    }
    }
    }
    }

    • @lamunoz5
      @lamunoz5 7 років тому +2

      Funciona muy bien!!!

    • @joserebolledo4303
      @joserebolledo4303 7 років тому

      oye lo pusiste felicitaciones

    • @sr_tr
      @sr_tr 6 років тому +7

      amigo te felicito , pero no es POR despreciar ni por creerme mas simplemente hay un dicho que escuche del gran maestro Alvaro Felipe de EDteam ,es que si tienes mas de dos veces la misma linea de código significa que es una mala practica un programador , lo que tienes que hacer es simplificar (optimizar) y si eres ingeniero con mucha mas razón , tu programa esta chvr y me guié de tu lógica, lo acorte bastante espero te sirva , ÉXITOS

    • @sr_tr
      @sr_tr 6 років тому +6

      Main :
      public static void main(String[] args) {
      Scanner entrada=new Scanner(System.in);
      boolean x=false;
      do {
      System.out.print("Introduzca una accion : ");
      String d=entrada.nextLine();
      Posicion op=new Posicion(d.toUpperCase());
      op.ImprimirPos();
      if(op.saliendo()==true) {
      x=true;
      break;
      }
      }while(x==false);
      System.out.println("Fin");
      }
      Posicion:
      private static int ejex;
      private static int ejey;
      private String p;
      private boolean s=false;
      //constructor
      public Posicion(String p) {
      this.p=p;
      }
      public void ImprimirPos() {
      switch (p) {
      case "W":
      ejey++;
      break;
      case "S" :
      ejey--;
      break;
      case "A":
      ejex--;
      break;
      case "D":
      ejex++;
      break;
      default:
      System.out.println("saliendo");
      s=true;
      break;
      }
      System.out.println("La posicion final es : "+ejex+","+ejey);
      }
      public boolean saliendo() {
      return s;
      }

    • @santiagolopez-sx4td
      @santiagolopez-sx4td 6 років тому +17

      @@sr_tr un par de cosas, primero, el ejercicio dice que al final de cada movimiento se muestre en que direccion se hizo para guiar al usuario y la posicion actual. La segunda es el tema del codigo amigable, las variables de una sola letra sin ningun comentario que aclare que significan suelen estar mal vistas ya que si hicieras el proyecto con alguien mas, le resultaria imposible entender el codigo con solo verlo, al menos si fuera algo mas grande.

  • @IranPadillayoiran
    @IranPadillayoiran 7 років тому +1

    estoy por javascript pero ya estoy dispuesto a seguirte por tu manera de explicar

  • @emmanuelegel21
    @emmanuelegel21 4 роки тому +2

    Hasta este día me entero que falleciste, eres un grande! Dios te tenga en la gloria. Descansa en paz. Gracias a tus vídeos estoy interesado cada día mas en la programación, eres una leyenda, nunca seras olvidado!

  • @nolbertpartidopacheco7243
    @nolbertpartidopacheco7243 4 роки тому

    Eres un super talento como pedagogo. Grande hermano

  • @MauricioHernandez-jw4hk
    @MauricioHernandez-jw4hk 5 років тому +39

    Aún en la muerte me sigues ayudando

  • @cristianeduardo1165
    @cristianeduardo1165 Рік тому

    DE LEJOS.... UN CRACK!! 👏👏👏👏👏👏

  • @joshycarrera2781
    @joshycarrera2781 7 років тому +28

    tengo parcial este sábado dame tu bendición :'v

  • @alexislopez9124
    @alexislopez9124 2 роки тому

    aún veo tus videos, gracias por tanto crack justo lo que necesitaba

  • @Dvid-ie9uq
    @Dvid-ie9uq Рік тому +2

    /*
    Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero
    y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA.
    Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero.
    */
    package entidades;
    public class Objeto {
    private int ordenada;
    private int abscisa;


    public Objeto(){
    this.ordenada = 0;
    this.abscisa = 0;
    }

    public void moverArriba(){
    this.ordenada++;
    }
    public void moverAbajo(){
    this.ordenada--;
    }
    public void moverIzquierda(){
    this.abscisa--;
    }
    public void moverDerecha(){
    this.abscisa++;
    }

    @Override
    public String toString(){
    return "Coordenadas actuales: ("+this.abscisa+", "+this.ordenada+").";
    }



    }
    package presentacion;
    import entidades.Objeto;
    import java.util.Scanner;
    public class PruebaObjeto {
    private static Scanner sc = new Scanner(System.in);

    public static int menu(){
    int op;
    do{
    System.out.println("

    MENU DE OPCIONES :D");
    System.out.println("1. Ingresar movimiento(Arriba = W)(Abajo = S)(Izquierda = A)(Derecha = D).");
    System.out.println("2. Salir");
    System.out.print("Ingresar opcion: ");
    op = sc.nextInt();
    }while(op2);
    return op;
    }


    public static void main(String[] args) {
    Objeto o1 = new Objeto();
    int opcion;
    char mov;
    do{
    opcion = menu();
    switch(opcion){
    case 1:
    System.out.print("Ingresar movimiento: ");
    sc.nextLine();
    mov = sc.nextLine().charAt(0);
    switch(mov){
    case 'w','W':
    o1.moverArriba();
    System.out.println("
    Movimiento Ingresado: ARRIBA.
    "+o1.toString());
    break;
    case 'a','A':
    o1.moverIzquierda();
    System.out.println("
    Movimiento Ingresado: IZQUIERDA.
    "+o1.toString());
    break;
    case 's','S':
    o1.moverAbajo();
    System.out.println("
    Movimiento Ingresado: ABAJO.
    "+o1.toString());
    break;
    case 'd','D':
    o1.moverDerecha();
    System.out.println("
    Movimiento Ingresado: DERECHA.
    "+o1.toString());
    break;
    default:
    System.out.println("
    Movimiento inválido.");
    }
    break;
    case 2:
    System.out.println("
    Saliendo del programa..."); break;
    }
    }while(opcion != 2);
    }
    }

  • @estebanasecas
    @estebanasecas 3 роки тому

    Esta persona a contribuido al mundo

  • @adolfovladimirrodriguezval5084
    @adolfovladimirrodriguezval5084 4 роки тому +4

    Excelente legado. Gracias.. Envió mi solución del ejercicio 2, incluye el tablero (matriz 10 x 10 lleno de 0) y el objeto dentro(un 1). Salio un poco extenso por limitar el movimiento dentro del tablero. Espero les sea de utilidad.
    package ClasesYObjetos;
    import javax.swing.JOptionPane;
    public class main2 {
    public static void main(String[] args) {

    char mov='n';
    int I=5;
    int J=5;
    boolean seguir = true;
    do {
    System.out.println("El objeto en el tablero:");
    MovimientoTablero objeto = new MovimientoTablero(I,J,mov);
    I=objeto.gety();
    J=objeto.getx();
    System.out.println("Coordenadas del objeto:
    "
    + "X = "+(J+1)+" ; Y = "+(I+1));

    mov=JOptionPane.showInputDialog("Seleccione el movimiento deseado:
    "
    + "ARRIBA: W
    "
    + "ABAJO: S
    "
    + "DERECHA: D
    "
    + "IZQUIERDA: A
    "
    + "SALIR: E").charAt(0);
    System.out.println("la tecla seleccionada es: "+mov);

    if( mov=='e'|| mov=='E') {
    seguir= false;
    }
    }while(seguir==true );
    }
    }
    package ClasesYObjetos;
    public class MovimientoTablero {
    private int x, y; // Coordenadas posicion
    private char movimiento;
    private int tablero[][]=new int[10][10]; // Tablero
    public MovimientoTablero(int i, int j, char mov) {
    y = i;
    x = j;
    movimiento = mov;

    switch(movimiento) { //MODIFICA COORDENADAS SEGUN MOVIMIENTO INDICADO
    case 'W':
    case 'w': if (y=9) {
    break;
    }
    else {
    y++;
    }
    break;
    case 'D':
    case 'd': if (x>=9) {
    break;
    }
    else {
    x++;
    }
    break;
    case 'A':
    case 'a': if (x

  • @lauracardenas8327
    @lauracardenas8327 7 років тому +3

    Holaaa soy tu fann, genial como explicas ^--^

    •  7 років тому +7

      Hola :) Muchas gracias, Un saludo desde Perú

  • @javierbiglia
    @javierbiglia Рік тому

    Siempre serás nuestro profe

  • @D_Alb
    @D_Alb Місяць тому

    educando al pueblo, gracias

  • @rob2355
    @rob2355 6 місяців тому

    Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero
    Clase:
    public class Tablero {

    private int filas=13;

    private int columnas=13;

    private int X=6;

    private int Y=6;
    private int matriz [][]=new int [filas][columnas];
    public void Matriz(){

    for (int i = 0; i < filas; i++) {
    for (int j = 0; j < columnas; j++) {

    matriz[i][j]=0;

    }
    }

    matriz[X][Y]=1;

    for (int i = 0; i < filas; i++) {
    for (int j = 0; j < columnas; j++) {

    System.out.print(matriz[i][j]+" ");

    }
    System.out.println();
    }

    }

    public void Arriba(){

    if(X>0){

    matriz[X][Y]=0;
    matriz[--X][Y]=1;
    Imprimir();
    }else {
    System.out.println("Has llegado al borde superior");
    }

    }
    public void Abajo(){

    if(X {
    Matriz.Arriba();
    }
    case "S","s" -> {
    Matriz.Abajo();
    }
    case "A","a" -> {
    Matriz.Izquierdad();
    }
    case "D","d"-> {
    Matriz.Derecha();
    }
    case "F","f"-> {

    palanca=false;
    System.out.println("salindo......");

    }

    default->{System.out.println("Opcion no validad");}
    }

    }

    }
    }

  • @La12Gonzalo
    @La12Gonzalo 7 років тому

    Genial tu curso¡ Me gustaría ver un vídeo más pero sobre UML, sus conexiones etc. Es difícil encontrar uno con tu forma de desarrollar el contenido

  • @tiempoyfinanzas4654
    @tiempoyfinanzas4654 2 місяці тому

    GRACIAS SENSEI SEGUIMOS TU LEGADO
    PARTE LOGICA
    Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo
    Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA.
    Tras cada movimiento el programa mostrará la nueva dirección elegida y
    las coordenadas de situación del objeto dentro del tablero.
    */
    public class PersonajeTablero2byme {
    private int ejeX;
    private int ejeY;
    public PersonajeTablero2byme(int ejeX, int ejeY) {
    this.ejeX = ejeX;
    this.ejeY = ejeY;
    }
    public void getArriba(){
    int arriba=ejeY--;
    }
    public void abajo(){
    int abajo=ejeY++;
    }
    public void izquierda(){
    int izquierda=ejeX--;
    }
    public void derecha(){
    int derecha=ejeX++;
    }
    public void resultado(){
    System.out.println("personaje movido ahora tiene POSICION X:"+ejeX+ " POSICION Y: "+ejeY);
    }
    }
    CLASE MAIN
    public class MainPersonajeTablero2byme {
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    PersonajeTablero2byme personaje = new PersonajeTablero2byme(0,0); //mitad del tablero
    String dondeMoverPersonaje;
    while(true){
    System.out.println("escribe arriba, abajo, izq, derecha para mover el personaje o salir ");
    dondeMoverPersonaje=sc.nextLine().toLowerCase();
    switch(dondeMoverPersonaje){
    case "arriba":
    personaje.getArriba();
    break;
    case "abajo":
    personaje.abajo();
    break;
    case "izquierda":
    personaje.izquierda();
    break;
    case "derecha":
    personaje.derecha();
    break;
    case "salir":
    System.out.println("saliendo del programa....");
    return;
    default:
    System.out.println("direccion no valida intentelo de nuevo");
    }
    personaje.resultado();
    }
    }
    }

  • @alfredopablo3462
    @alfredopablo3462 3 роки тому +1

    Gente me rindo, estuve como una hora haciendo el ejercicio, funciona bien en movimientos, pero no se que falla en el while, bueno aqui lo dejo:
    METODO PRINCIPAL
    public class OK2 {
    public static void main(String[] args) {
    Scanner entrada=new Scanner(System.in);
    OK c1=new OK();
    char posicion;
    System.out.print("Ingresa una letra: ");
    posicion=entrada.next().charAt(0);
    while(posicion=='w' || posicion=='a' || posicion=='s' || posicion=='d'){
    switch(posicion){
    case 'w':c1.arriba();break;
    case 's':c1.abajo();break;
    case 'a':c1.izquierda();break;
    case 'd':c1.derecha();break;
    default:System.out.println("No es correcto");break;
    }
    c1.mostrar();
    System.out.print("Ingresa una letra: ");
    posicion=entrada.next().charAt(0);
    }
    }
    }
    AQUI LOS METODOS NORMALES
    public class OK {
    int x=0,y=0;
    public void derecha(){
    x+=1;
    }
    public void izquierda(){
    x-=1;
    }
    public void arriba(){
    y+=1;
    }
    public void abajo(){
    y-=1;
    }

    public void mostrar(){
    System.out.println("["+x+"] ["+y+"]");
    }


    }

    • @joseph1978vlc
      @joseph1978vlc 2 місяці тому

      Podrías haber explicado qué fallo le ves al while. A mi me va bien tu código. En todo caso en default no se necesita un break, pero funciona igual con él como sin él. Pues nada, que sepas que funciona bien, o al menos yo no le veo el fallo.

  • @mijaelcarbajal3221
    @mijaelcarbajal3221 3 роки тому +3

    /*
    Construir un programa que permita dirigir el movimiento de un objeto dentro de un
    tablero y actualice su posicion dentro del mismo. Los movimientos posibles son
    ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrara la
    nueva direccion elegida y las coordenadas de situacion del objeto dentro del
    tablero.
    */
    package pruebas;

    import java.util.Scanner;
    import javax.swing.JOptionPane;
    public class Ejercicio {
    //atributos
    public int ejeX;
    public int ejeY;

    //metodo constructor
    public Ejercicio(int ejeX, int ejeY) {
    this.ejeX = ejeX;
    this.ejeY = ejeY;
    }

    public void moverArriba(){
    ejeY+=1;
    System.out.println("DIRECCION: hacia adelante.");
    System.out.println("POSICION: ("+ejeX+";"+ejeY+")");
    System.out.print("
    Ingrese el siguiente movimiento: ");

    }

    public void moverAbajo(){
    ejeY-=1;
    System.out.println("DIRECCION: hacia atras.");
    System.out.println("POSICION: ("+ejeX+";"+ejeY+")");
    System.out.print("
    Ingrese el siguiente movimiento: ");
    }

    public void moverDerecha(){
    ejeX+=1;
    System.out.println("DIRECCION: hacia la derecha.");
    System.out.println("POSICION: ("+ejeX+";"+ejeY+")");
    System.out.print("
    Ingrese el siguiente movimiento: ");
    }

    public void moverIzquierda(){
    ejeX-=1;
    System.out.println("DIRECCION: hacia la izquierda.");
    System.out.println("POSICION: ("+ejeX+";"+ejeY+")");
    System.out.print("
    Ingrese el siguiente movimiento: ");
    }
    //Getter posicion X
    public int getEjeX() {
    return ejeX;
    }
    //Getter posicion Y
    public int getEjeY() {
    return ejeY;
    }


    }
    MAIN
    /*
    */
    package pruebas;
    import java.util.Scanner;
    import javax.swing.JOptionPane;
    public class Pruebas {

    public static void main(String[] args) {
    Scanner SC = new Scanner(System.in);

    char movimiento=0;
    Ejercicio mov = new Ejercicio(0,0);

    System.out.print("Ingrese el movimiento: ");

    while(movimiento!='E'){
    movimiento = SC.next().charAt(0);
    switch(movimiento){
    case 'W':
    mov.moverArriba();
    break;
    case 'S':
    mov.moverAbajo();
    break;
    case 'D':
    mov.moverDerecha();
    break;
    case 'A':
    mov.moverIzquierda();
    break;
    case 'E':
    movimiento = 'E' ;
    break;
    default:
    System.out.println("Movimiento no reconocido");
    System.out.print("
    Ingrese el siguiente movimiento: ");

    }
    }

    System.out.println("
    Vuelva pronto");
    }
    }

  • @jonathaneucerin7133
    @jonathaneucerin7133 5 місяців тому

    gracias Alejandro

  • @Dannrar
    @Dannrar 2 роки тому +1

    Después de tirarme un buen tiempo tratando de realizar el ejercicio nº 2, esta fue la forma en la que pude hacerlo:
    ================================================================
    Calse Tablero:
    ================================================================
    package Ejercicio02;
    public class Tablero {
    // Atributos.
    int matriz[][];
    int nFilas, nColumnas, posicion;
    // Métodos.
    public void tamañoMatriz(int nFilas, int nColumnas) {
    this.nFilas = nFilas;
    this.nColumnas = nColumnas;
    matriz = new int[nFilas][nColumnas];
    }
    public void llenadoMatriz() {
    System.out.println("
    La matriz es: ");
    int k = 0;
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    matriz[i][j] = k + 2;
    k += 2;
    }
    }
    }
    public void mostrarMatriz() {
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    System.out.print("[" + matriz[i][j] + "]");
    }
    System.out.println("");
    }
    }
    public void posicionDireccion(int posicion) {
    this.posicion = posicion;
    }
    public void elementoMovido(int sCase) {
    System.out.println("posición es igual a: " + posicion);
    int mov = 0;
    switch (sCase) {
    case 1:
    // Mover hacia arriba
    System.out.println("
    A elegido la opción 1 (mover hacia arriba).");
    int k = 1;
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    if (k == posicion) {
    mov = matriz[i - 1][j];
    matriz[i - 1][j] = matriz[i][j];
    matriz[i][j] = mov;
    //System.out.println("\"k\" es igual a: "+ k);
    k++;
    break;
    } else {
    k++;
    }
    }
    }
    break;
    case 2:
    // Mover hacia abajo
    System.out.println("
    A elegido la opción 2 (mover hacia abajo).");
    System.out.println("Scase equivale a: " + sCase);
    k = 1;
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    if (k == posicion) {
    mov = matriz[i + 1][j];
    matriz[i + 1][j] = matriz[i][j];
    matriz[i][j] = mov;
    k++;
    break;
    } else {
    k++;
    }
    }
    }
    break;
    case 3:
    // Mover hacia la izquierda
    System.out.println("
    A elegido la opción 3 (mover hacia la izquierda).");
    k = 1;
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    if (k == posicion) {
    mov = matriz[i][j - 1];
    matriz[i][j - 1] = matriz[i][j];
    matriz[i][j] = mov;
    k++;
    break;
    } else {
    k++;
    }
    }
    }
    break;
    case 4:
    // Mover hacia la derecha
    System.out.println("
    A elegido la opción 4.");
    k = 1;
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    if (k == posicion) {
    mov = matriz[i][j + 1];
    matriz[i][j + 1] = matriz[i][j];
    matriz[i][j] = mov;
    k++;
    break;
    } else {
    k++;
    }
    }
    }
    break;
    default:
    System.out.println("\"" + sCase + "\", no es una opción válida.");
    System.out.println("");
    }
    }
    public void nuevaMatriz() {
    System.out.println("La nueva matriz es:");
    for (int i = 0; i < nFilas; i++) {
    for (int j = 0; j < nColumnas; j++) {
    System.out.print("[" + matriz[i][j] + "]");
    }
    System.out.println("");
    }
    }
    }
    ================================================================
    Clase Main:
    ================================================================
    public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    int nFil, nCol, posicion, sCase;
    System.out.println("Estableciendo el tamaño de la matriz: ");
    System.out.print("Digite el nº de filas: ");
    nFil = entrada.nextInt();
    System.out.print("Digite el nº de columnas: ");
    nCol = entrada.nextInt();
    Tablero tb = new Tablero();
    tb.tamañoMatriz(nFil, nCol);
    tb.llenadoMatriz();
    tb.mostrarMatriz();
    System.out.println("
    Digite el nº de la casilla del objeto que quiere mover: ");
    posicion = entrada.nextInt();
    System.out.println("
    Hacia dónde lo quiere mover:
    1. Arriba.
    2. Abajo
    3. Izquierda.
    4. Derecha.");
    sCase = entrada.nextInt();
    tb.posicionDireccion(posicion);
    tb.elementoMovido(sCase);
    if ((sCase == 1)|| (sCase == 2)||(sCase == 3)||(sCase == 4)) {
    tb.nuevaMatriz();
    }
    }

  • @patrickalcantaraalejo4104
    @patrickalcantaraalejo4104 2 роки тому +1

    Ejercicio 2:
    HICE EL TABLERO CON UNA MATRIZ :)
    ////////////////////////CLASE OBJETO
    public class Objeto {
    private int x;
    private int y;
    private String desplazamiento;

    public Objeto(int x, int y) {
    this.x = x;
    this.y = y;
    }
    public int arriba(){
    y = y - 1;
    return y;
    }

    public int abajo(){
    y = y + 1;
    return y;
    }

    public int derecha(){
    x = x + 1;
    return x;
    }

    public int izquierda(){
    x = x - 1;
    return x;
    }
    public int getX() {
    return x;
    }
    public int getY() {
    return y;
    }
    public String getDesplazamiento() {
    return desplazamiento;
    }
    public void setDesplazamiento(String desplazamiento) {
    this.desplazamiento = desplazamiento;
    }


    public void mostrarPosicion(){
    System.out.println("Posición: Fila " + (y) + ", Columna: " + (x));
    }
    }
    ///////////////////////CLASE PRINCIPAL
    import javax.swing.JOptionPane;
    public class Principal {

    public static void main(String[] args) {
    int tablero[][] = new int[5][5];

    //Definición de la posición incial
    int posy = Integer.parseInt(JOptionPane.showInputDialog("Digite la fila donde esta el objeto"));
    int posx = Integer.parseInt(JOptionPane.showInputDialog("Digite la columna donde esta el objeto"));
    Objeto obj1 = new Objeto(posx, posy);

    for(int j = 0; j < 5; j++){
    for(int k = 0; k < 5; k++){
    if((j + 1) == obj1.getY() && (k + 1) == obj1.getX()){
    tablero[j][k] = 1;
    }
    }
    }

    for(int j = 0; j < 5; j++){//Impresión del tablero con el objeto
    for(int k = 0; k < 5; k++){
    System.out.print(" " + tablero[j][k] + " ");
    }
    System.out.println("");
    }
    obj1.mostrarPosicion();
    System.out.println("");

    for(int i = 0; i < 5; i++){//Reinicio de tablero
    for(int j = 0; j < 5; j++){
    tablero[i][j] = 0;
    }
    }

    for(int i = 0; i < 5; i++){
    String movimiento = JOptionPane.showInputDialog("Movimiento N°" + (i + 1));
    switch (movimiento){
    case "arriba":
    obj1.arriba();
    obj1.setDesplazamiento("arriba");
    break;
    case "abajo":
    obj1.abajo();
    obj1.setDesplazamiento("abajo");
    break;
    case "derecha":
    obj1.derecha();
    obj1.setDesplazamiento("derecha");
    break;
    case "izquierda":
    obj1.izquierda();
    obj1.setDesplazamiento("izquierda");
    break;
    }

    for(int j = 0; j < 5; j++){//Definiendo nueva posición del objeto
    for(int k = 0; k < 5; k++){
    if((j + 1) == obj1.getY() && (k + 1) == obj1.getX()){
    tablero[j][k] = 1;
    }
    }
    }

    for(int j = 0; j < 5; j++){//Impresión de la nueva posición
    for(int k = 0; k < 5; k++){
    System.out.print(" " + tablero[j][k] + " ");
    }
    System.out.println("");
    }
    System.out.println("El objeto se desplazó hacia: " + obj1.getDesplazamiento());
    obj1.mostrarPosicion();
    System.out.println("");

    for(int j = 0; j < 5; j++){//Reinicio de tablero
    for(int k = 0; k < 5; k++){
    tablero[j][k] = 0;
    }
    }
    }

    }
    }

  • @antonydanieloceguedaruelas6539

    Para el ejercicio 2:
    public class Movimiento {
    //atributos
    protected int x, y;

    //metodos constructores
    public Movimiento() {
    x = 0;
    y = 0;
    }
    public Movimiento(int x, int y) {
    this.x = x;
    this.y = y;
    }

    //metodos
    public int moverArriba(){

    y++;
    return x;

    }

    public int moverAbajo(){

    y--;
    return y;

    }

    public int moverDerecha(){

    x++;
    return x;

    }

    public int moverIzquierda(){

    x--;
    return x;

    }

    public String toString(){

    return "Las coordenadas son: (" + x + ", " + y + ")";

    }

    }
    //archivo main
    import static javax.swing.JOptionPane.showMessageDialog;
    public class Main {
    public static void main(String args[]){

    Movimiento m = new Movimiento();

    m.moverArriba();
    m.moverDerecha();
    m.moverAbajo();
    m.moverIzquierda();

    showMessageDialog(null, m.toString());


    }//main
    }//class

  • @CarlosLopez-qg4el
    @CarlosLopez-qg4el 7 років тому

    mi hermano me harías un grande favor si abarcas los temas de los principios S.O.L.I.D, es algo que en mi curso en la universidad no vi y ahora lo estoy necesitando, no logro entenderlo muy bien. te agradecería mucho.

  • @Rambo4x4
    @Rambo4x4 Рік тому +1

    Aqui esta mi ejercicio, si no les funciona me avisan para que les explique como funciona
    package Ejercicio2;
    public class Movimiento {
    //atributos
    private int fila;
    private int columna;
    private int matriz[][];

    //Metodos

    //Metodo constructor

    public Movimiento(int fila, int columna, int[][] matriz) {
    this.fila = fila;
    this.columna = columna;
    this.matriz = matriz;
    }
    public void PosActual(int a,int b) {
    for(int i=0;i

    • @joseph1978vlc
      @joseph1978vlc 2 місяці тому +1

      Muy ingenioso hacer el tablero. Algo pequeño, pero al menos hay un tablero y se ve el movimiento. No me lo había planteado.

    • @Rambo4x4
      @Rambo4x4 2 місяці тому +1

      @@joseph1978vlc gracias por la respuesta, se me ocurrió al pensar en uno de esos juegos 2D

  • @joseluisduranzarate6261
    @joseluisduranzarate6261 7 років тому +1

    Primeroooo! Gracias por los vídeos , son de mucha ayuda^^

  • @diegosanabria6494
    @diegosanabria6494 5 років тому

    Ejercicio 2:
    package Ejercicio2;
    import javax.swing.*;
    public class Main
    {
    public static void main(String[] args)
    {
    //Matriz(tabla) de objetos por donde se desplazará
    Movimiento objeto[][] = new Movimiento[6][6];
    //Variables de posición inicial del objeto
    int fila =2, col = 2;
    //Objeto a mover
    objeto[fila][col] = new Movimiento(fila, col);
    //Imprime la coordada inicial del objeto
    System.out.println("Coordenada inicial: [" + fila + "][" + col + "]");
    //Menú de opciones para desplazarse, el ciclo finaliza hasta detectar el caracter 'Q'
    char a;
    do
    {
    a = JOptionPane.showInputDialog("Movimientos:
    W = Arriba
    S = Abajo
    A = Izquierda
    D = Derecha
    Q = Salir").charAt(0);
    a = Character.toUpperCase(a);
    //fil_aux y col_aux recordaran la última posición del objeto para borrarlo cuando cambie la posición
    int fil_aux = fila, col_aux = col;
    switch (a)
    {
    case 'W':
    fila = objeto[fila][col].arriba();
    break;
    case 'S':
    fila = objeto[fila][col].abajo();
    break;
    case 'A':
    col = objeto[fila][col].izquuierda();
    break;
    case 'D':
    col = objeto[fila][col].derecha();
    break;
    case 'Q':
    break;
    default:
    JOptionPane.showMessageDialog(null, "Opción no válida");
    }
    //El objeto en la nuava posicón será igual al objeto antes del movimiento
    objeto[fila][col] = objeto[fil_aux][col_aux];
    //Se comprueba que no se borre el objeto cuando llegue a los límites de la matriz para evitar que se pierdan los datos y genere un error
    if (fila != fil_aux || col != col_aux)
    objeto[fil_aux][col_aux] = null;
    }while (a!='Q');
    }
    }
    package Ejercicio2;
    public class Movimiento
    {
    private int fila, col;
    public Movimiento(int fila, int col) {
    this.fila = fila;
    this.col = col;
    }
    public int arriba()
    {
    if (fila != 0)
    {
    fila--;
    }
    mensaje("ARRIBA");
    return fila;
    }
    public int abajo()
    {
    if(fila != 5)
    {
    fila++;
    }
    mensaje("ABAJO");
    return fila;
    }
    public int izquuierda()
    {
    if (col != 0)
    {
    col--;
    }
    mensaje("IZQUIERDA");
    return col;
    }
    public int derecha()
    {
    if (col != 5)
    {
    col++;
    }
    mensaje("DERECHA");
    return col;
    }
    //Imprime mensaje con las coordenadas actuales del objeto
    public void mensaje(String msj)
    {
    System.out.println(msj + ", coordenadas: [" + fila + "][" + col + "]");
    }
    }

  • @Mr-Knight1
    @Mr-Knight1 11 місяців тому +1

    *PROBLEMA 2 DE FORMA SENCILLA*
    *CLASE1:*
    package paquete;
    import javax.swing.JOptionPane;
    public class Clase1 {
    private int x, y;
    private String decision = "";
    private int bandera = 0;
    public Clase1(int x, int y) {
    this.x = x;
    this.y = y;
    }
    public void menu() {
    decision = JOptionPane.showInputDialog(null, "W. Para moverse arriba"
    + "
    S. Para moverse abajo"
    + "
    D. Para moverse a la derecha"
    + "
    A. Para moverse a la izquierda"
    + "
    X. Para salir");
    }
    public void Operaciones() {
    if (decision.equals("W") || decision.equals("w")) {
    y = y + 1;
    } else if (decision.equals("S") || decision.equals("s")) {
    y = y - 1;
    } else if (decision.equals("D") || decision.equals("d")) {
    x = x + 1;
    } else if (decision.equals("A") || decision.equals("a")) {
    x = x - 1;
    } else if (decision.equals("X") || decision.equals("x")) {
    bandera = 1;
    } else {
    System.out.println("Opcion no disponible, vuelva a intentarlo");
    }
    }
    public void mostrarResultados() {
    System.out.println("Se encuentra en x: " + x);
    System.out.println("Se encuentra en y: " + y);
    System.out.println("");
    }
    public int getBandera() {
    return bandera;
    }
    }
    *CLASE MAIN:*
    package paquete;
    import javax.swing.JOptionPane;
    public class Main {
    public static void main(String[] args) {
    int x = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la coordenada x en la que se encuentra"));
    int y = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la coordenada y en la que se encuentra"));
    Clase1 ob1 = new Clase1(x, y);
    while (ob1.getBandera() == 0) {
    ob1.menu();
    ob1.Operaciones();
    ob1.mostrarResultados();
    }
    }
    }

  • @angelpeinadojaro
    @angelpeinadojaro 5 років тому +2

    Genial. (Bueno, apuntar que estrictamente por "cuadrilátero" aquí deberíamos entender 'paralelogramo'.)

  • @SantiagoMC98
    @SantiagoMC98 6 років тому +2

    Bien profe (y)

  • @Mr_Chango
    @Mr_Chango 6 років тому

    /*
    Ejercicio 2: Construir un programa que permita dirigir el movimiento de un
    objeto dentro de un tablero y actualice su posición dentro del mismo.
    Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA.
    Tras cada movimiento el programa mostrará la nueva dirección elegida y las
    coordenadas de situación del objeto dentro del tablero.
    */
    package Ejercicio2;
    import javax.swing.JOptionPane;
    public class Movimiento {
    //Atributos

    private static int x=0;
    private static int y=0;

    //Metdodo

    public Movimiento(int mov){

    }

    public int arriba(){
    y++;
    return y;
    }
    public int abajo(){
    y--;
    return y;
    }
    public int derecha(){
    x++;
    return x;
    }
    public int izquierda(){
    x--;
    return x;

    }

    public void nuevoMov(){
    System.out.println("Ubicacion(x,y) = ("+x+":"+y+")");

    }

    }
    //EN UNA CLASE LO DE ARRIBA Y LO DE ABAJO EN OTRA
    package Ejercicio2;
    import javax.swing.JOptionPane;
    public class Principal {
    public static void main(String [] args){
    int mov;


    do{
    mov = Integer.parseInt(JOptionPane.showInputDialog("Dijite un movimiento: "
    +"
    1. Subir"
    +"
    2. Bajar"
    +"
    3. Derecha"
    +"
    4. Izquierda"
    +"
    5. Salir"));
    Movimiento auto = new Movimiento(mov);

    switch(mov){
    case 1: auto.arriba();
    auto.nuevoMov();
    break;
    case 2: auto.abajo();
    auto.nuevoMov();
    break;
    case 3: auto.derecha();
    auto.nuevoMov();
    break;
    case 4: auto.izquierda();
    auto.nuevoMov();
    break;
    default: System.out.println("Error no existe esa opcion");
    }


    }while(mov !=5);

    System.out.println("Gracis por participar");

    }
    }

  • @brayamstivencamposospina3350
    @brayamstivencamposospina3350 3 роки тому

    Hay mas videos todavia sobre este curso aparte de los 105 publicados aca en you tube , los cursos que hay si funcionan y explicam completamente las bases de java ?

    • @4rn0235
      @4rn0235 3 роки тому

      creo que si, en udemy
      siempre deja el link de su curso en la descripción

  • @tobiasurielvidelaguliotti8289
    @tobiasurielvidelaguliotti8289 10 місяців тому

    Un grande

  • @alfredoalejandroaramburoca8315
    @alfredoalejandroaramburoca8315 3 роки тому

    /*
    Construir un programa que permita dirigir el
    movimiento de un obvjeto dentro de un tablero
    y actualice su posicion dentro del mismo. Los
    movimientos posibles son ARRIBA, ABAJO, ISQUIERDA,
    y DERECHA. Tras cada movimiento el pograma mostrara
    la nueva direccion elegida y las coordenadas
    de situacion del objeto dentro del tablero.
    */
    package ej2poo;
    import java.util.Scanner;
    import javax.swing.JOptionPane;
    public class Ej2POO
    {
    public static void main(String[] args)
    {
    auxiliar alfito=new auxiliar(0,0);
    Scanner ob=new Scanner(System.in);
    System.out.println("La posicion inicial del objeto es: "+"("+alfito.getEjeX()+")"+"("+alfito.getEjeY()+")");
    int eleccion;
    String xd;
    do
    {
    System.out.print("
    Hacia donde quiere mover el objeto?
    1.-Arriba
    2.-Abajo
    3.-Izquierda
    4.-Derecha
    ");
    eleccion = ob.nextInt();
    switch (eleccion)
    {
    case 1: alfito.moverArriba();
    break;
    case 2: alfito.moverAbajo();
    break;
    case 3: alfito.moverIzquierda();
    break;
    case 4: alfito.moverDerecha();
    break;
    default: System.out.println("Movimiento no reconocido");
    break;
    }
    xd = JOptionPane.showInputDialog("Desea hacer otro movimiento? s/n"); //Funciona con JOption, pero la ventana no aparece sino en el escritorio.
    //System.out.println("Desea hacer otro movimiento? s/n"); --- Aparentemente no funciona al capturar y se pasa directamente a finalizar el programa.
    //xd=ob.nextLine(); --- Parece que es debido a un problema con el Scanner, habr[ia que inevstigar mas.
    }while(xd.equalsIgnoreCase("s"));
    System.out.println("La posicion final del objeto es: "+"("+alfito.getEjeX()+")"+"("+alfito.getEjeY()+")");
    }//Cierra el main
    }//Cierra la clase
    package ej2poo;
    public class auxiliar
    {
    private int ejeX;
    private int ejeY;
    public auxiliar(int ejeX, int ejeY)
    {
    this.ejeX = ejeX;
    this.ejeY = ejeY;
    }//Cierra el constructor
    public int getEjeX()
    {
    return ejeX;
    }//Cierra getterX
    public int getEjeY()
    {
    return ejeY;
    }//Cierra getterY
    public void moverArriba()
    {
    ejeY += 1;
    System.out.println("("+ejeX+")"+"("+ejeY+")");
    }//Cierra metodo moverArriba
    public void moverAbajo()
    {
    ejeY -= 1;
    System.out.println("("+ejeX+")"+"("+ejeY+")");
    }//Cierra metodo moverAbajo
    public void moverIzquierda()
    {
    ejeX -= 1;
    System.out.println("("+ejeX+")"+"("+ejeY+")");
    }//Cierra metodo moverIzquierda
    public void moverDerecha()
    {
    ejeX += 1;
    System.out.println("("+ejeX+")"+"("+ejeY+")");
    }//Cierra metodo moverDerecha
    }//Cierra la clase

  • @jerlinsongonzalez206
    @jerlinsongonzalez206 11 місяців тому

    Ejercicio 2:
    public class Tablero {
    //Atributos

    private int filas; //numero de filas
    private int columnas; //Numero de columnas
    private int posX;
    private int posY;

    //metodo constructor para las dimensiones del tablero
    public Tablero(int filas, int columnas) {
    this.filas = filas;
    this.columnas = columnas;
    this.posX = 0;
    this.posY = 0;
    }

    //Para movernos arriba metodo

    public void ARRIBA(){
    if(posY < columnas){
    posY += 1;
    }
    Coordenadas(); //imprimir coordenadas actuales
    }

    //Para movernos abajo
    public void ABAJO(){
    if(posY < columnas){
    posY -= 1;
    }
    Coordenadas(); //imprimir coordenadas actuales
    }
    //Para movernos a la izquierda

    public void IZQUIERDA(){
    if(posX < filas){
    posX -=1;
    }
    Coordenadas(); //imprimir coordenadas actuales
    }
    //Para movernos a la dereccha
    public void DERECHA(){
    if(posX < filas){
    posX = posX + 1;
    }
    Coordenadas(); //imprimir coordenadas actuales
    }
    //utilizamos este metodo para mostrar las coordenadas actuales de X y Y.
    public void Coordenadas(){
    System.out.println("Las coodernadas son: "+(posX)+","+(posY));
    }

    }
    import java.util.Scanner;
    public class TableroMain {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int filas, columnas;

    String direccion;

    System.out.println("Digite la cantidad de filas(X): ");
    filas = sc.nextInt();
    System.out.println("Digite la cantidad de columnas(Y): ");
    columnas = sc.nextInt();

    //mandamos los argumentos para rellenar el metodo constructor de la clase
    Tablero tab = new Tablero(filas,columnas);

    while(true) //Creamos un bucle infinito usando la condicion True dentro del bucle While
    {
    System.out.println("Digite la direccion el que se quiere mover: Arriba, Abajo, Izquierda, Derecha: "
    + "o Introd SALIR, para cerrar el programa. ");
    direccion = sc.next().toString();

    ///dentro del Switch ejecutamos los metodos de la clase Tablero usando El objeto tab
    switch(direccion){
    case "Arriba": tab.ARRIBA();
    break;
    case "Abajo": tab.ABAJO();
    break;
    case "Izquierda": tab.IZQUIERDA();
    break;
    case "Derecha": tab.DERECHA();
    break;
    case "Salir": System.exit(0);
    break;
    default: System.out.println("Direccion no encontrada.");
    break;
    }
    }
    }
    }

  • @jamesbarreto9553
    @jamesbarreto9553 4 роки тому

    Gracias Alejandro. Estes donde estes.
    Aqui la solucion que propongo.
    package Movimiento;
    import javax.swing.JOptionPane;
    public class Movimiento {
    private float posX;
    private float posY;
    public Movimiento(float posX, float posY) {
    this.posX = posX;
    this.posY = posY;
    }
    public float Arriba (float mov){
    float nuepos = posY + mov;
    posY = nuepos;
    return nuepos;
    }
    public float Abajo (float mov){
    float nuepos = posY - mov;
    posY = nuepos;
    return nuepos;
    }
    public float Derecha (float mov){
    float nuepos = posX + mov;
    posX = nuepos;
    return nuepos;
    }
    public float Izquierda (float mov){
    float nuepos = posX - mov;
    posX = nuepos;
    return nuepos;
    }
    public void Mostrarpos (){
    JOptionPane.showMessageDialog(null, "La posicion actual es: "+posX+" , "+posY);
    }
    }
    //Clase Main
    import javax.swing.JOptionPane;
    public class Main {
    public static void main (String [] args){
    float posX, posY, mov;
    char dir;
    posX = Float.parseFloat(JOptionPane.showInputDialog("Ingrese la posicion incial del objeto en la posicion X"));
    posY = Float.parseFloat(JOptionPane.showInputDialog("Ingrese la posicion incial del objeto en la posicion Y"));
    Movimiento ob1 = new Movimiento(posX, posY);
    ob1.Mostrarpos();
    dir = JOptionPane.showInputDialog("En que direccion se quiere mover.
    -Arriba presione W
    -Abajo presione S
    -Derecha presiode D
    -Izquierda presione A
    -Salir presione F").charAt(0);
    while (dir!='F' && dir!='f'){
    switch (dir){
    case 'W':
    case 'w': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia arriba"));
    ob1.Arriba(mov);
    ob1.Mostrarpos();
    dir = JOptionPane.showInputDialog("En que direccion se quiere mover.
    -Arriba presione W
    -Abajo presione S
    -Derecha presiode D
    -Izquierda presione A
    -Salir presione F").charAt(0);
    break;
    case 'S':
    case 's': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia abajo"));
    ob1.Abajo(mov);
    ob1.Mostrarpos();
    dir = JOptionPane.showInputDialog("En que direccion se quiere mover.
    -Arriba presione W
    -Abajo presione S
    -Derecha presiode D
    -Izquierda presione A
    -Salir presione F").charAt(0);
    break;
    case 'D':
    case 'd': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia la derecha"));
    ob1.Derecha(mov);
    ob1.Mostrarpos();
    dir = JOptionPane.showInputDialog("En que direccion se quiere mover.
    -Arriba presione W
    -Abajo presione S
    -Derecha presiode D
    -Izquierda presione A
    -Salir presione F").charAt(0);
    break;
    case 'A':
    case 'a': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia la Izquierda"));
    ob1.Izquierda(mov);
    ob1.Mostrarpos();
    dir = JOptionPane.showInputDialog("En que direccion se quiere mover.
    -Arriba presione W
    -Abajo presione S
    -Derecha presiode D
    -Izquierda presione A
    -Salir presione F").charAt(0);
    break;
    default: JOptionPane.showMessageDialog(null,"Ha escrito una letra invalida");
    ob1.Mostrarpos();
    dir = JOptionPane.showInputDialog("En que direccion se quiere mover.
    -Arriba presione W
    -Abajo presione S
    -Derecha presiode D
    -Izquierda presione A
    -Salir presione F").charAt(0);
    }
    }
    JOptionPane.showMessageDialog(null,"Ha salido del programa");
    }
    }

  • @miguelparedes1822
    @miguelparedes1822 Рік тому

    Aqui el ejercicio 2, pidiendole al usuario las coordenadas iniciales y el maximo que pueden alcanzar.
    /*
    Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto
    dentro de un tablero y actualice su posición dentro del mismo.
    Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA.
    Tras cada movimiento el programa mostrará la nueva dirección elegida y
    las coordenadas de situación del objeto dentro del tablero.*/
    ** CLASS MOVER **
    package Mover;
    /**
    *
    * @author Miguel Paredes
    */
    public class Mover {
    //Atributos

    private int x;
    private int y;

    //Atributos que me sirven para controlar hasta donde puede llegar las coordenadas
    private int maxx;
    private int maxy;

    //Metodo constructor coordenadas inicio;

    public Mover(int x,int y,int maxx,int maxy){
    this.x = x;
    this.y = y;
    this.maxx=maxx;
    this.maxy=maxy;
    }


    //Metodo arriba

    public void up(){
    y--;

    if(ymaxy){
    y=0;
    }
    }

    //Metodo izquierda
    public void left(){
    x--;

    if(xmaxx){
    x=0;
    }
    }

    //Getters
    public int getX() {
    return x;
    }
    public int getY() {
    return y;
    }


    }
    ** CLASS MAIN **
    /*
    * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
    * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
    */
    package Mover;
    import java.util.Scanner;
    import javax.swing.JOptionPane;
    /**
    *
    * @author Miguel Paredes
    */
    public class Main {
    public static void main(String[] args) {
    int x,y,maxx,maxy;
    char tecla;
    Scanner input = new Scanner (System.in);
    maxx=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor maximo de la coordenada x: "));
    maxy=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor maximo de la coordenada y: "));

    x=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor inicial de la coordenada x: "));
    y=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor inicial de la coordenada y: "));

    Mover movil1 = new Mover(x,y,maxx,maxy);

    do{
    System.out.println("W para moverse arriba, S para moverse abajo, A para moverse"
    + " a la izquierda"
    + ", D para moverse a la derecha. Presione 'e' para salir" );
    tecla=input.next().charAt(0);

    switch(tecla){
    case 'w':
    movil1.up();
    break;

    case 's':
    movil1.down();
    break;
    case 'a':
    movil1.left();
    break;
    case 'd':
    movil1.right();
    break;
    }
    System.out.println("Coordenada actual ( "+movil1.getX()+" , "+movil1.getY()+" )");
    } while(tecla!='e');
    }
    }

  • @tutoflamHD
    @tutoflamHD 7 років тому

    Ese programa no se puede realizar tambíen poniendo los métodos de acceso Setters al principio en la clase de Cuadrilatero?

  • @josegerardogomezlopez9383
    @josegerardogomezlopez9383 3 роки тому

    Ejercicio No. 2:
    Clase 1:
    package ejercicio2;
    public class Tablero {
    //Atributos:
    private static int coordX = 0;
    private static int coordY = 0;
    private String mov;
    public Tablero(String mov) {
    this.mov = mov;
    }
    public int getCoordY() {
    if (mov.equalsIgnoreCase("w")) {
    coordY++;
    } else if (mov.equalsIgnoreCase("s")) {
    coordY--;
    }
    return coordY;
    }
    public int getCoordX() {
    if (mov.equalsIgnoreCase("a")) {
    coordX--;
    } else if (mov.equalsIgnoreCase("d")) {
    coordX++;
    }
    return coordX;
    }
    public void setCoord(String mov) {
    this.mov = mov;
    }
    }
    Clase 2:
    package ejercicio2;
    import javax.swing.JOptionPane;
    public class Main {
    public static void main(String[] args) {

    char des;

    do {
    String movimiento = JOptionPane.showInputDialog("Ingrese el tipo de movimiento que desea"
    + " realizar:
    W ==> Arriba S ==> Abajo
    A ==> Izquierda D ==> Derecha");
    if(movimiento.equalsIgnoreCase("w") || movimiento.equalsIgnoreCase("s") ||
    movimiento.equalsIgnoreCase("a") || movimiento.equalsIgnoreCase("d")){
    System.out.println("Selección correcta.");
    } else {
    System.out.println("La selección es incorrecta.");
    }

    Tablero t1 = new Tablero(movimiento);
    System.out.println("Coordenadas X: " + t1.getCoordX());
    System.out.println("Coordenadas Y: " + t1.getCoordY()+"
    ");
    do{
    des = JOptionPane.showInputDialog("¿Desea realizar un nuevo movimiento en "
    + "el tablero?
    V. si. F no.").charAt(0);
    if (des != 'v' && des != 'V' && des != 'f' && des != 'F') {
    JOptionPane.showMessageDialog(null, "Error, la opción ingresada es incorrecta");
    }
    } while(des != 'v' && des != 'V' && des != 'f' && des != 'F');

    } while (des == 'v' || des == 'V');
    System.out.println("Saliendo...");
    }
    }

  • @camilogrisales9757
    @camilogrisales9757 5 років тому

    public class Movimiento {
    private int x=1;
    private int y=1;
    public void arriba() {
    if(x==1) {
    System.out.println("Esta en el limite superior, no podra moverse hacia arriba");
    }else {
    x-=1;
    System.out.println("Se ha movido hacia arriba");
    System.out.println("Su posicion es: ["+x+"]["+y+"]");
    }
    }
    public void abajo() {
    if(x==5) {
    System.out.println("Esta en el limite inferior, no podra moverse hacia abajo");
    }else {
    x+=1;
    System.out.println("Se ha movido hacia abajo");
    System.out.println("Su posicion es: ["+x+"]["+y+"]");
    }
    }
    public void derecha() {
    if(y==5) {
    System.out.println("Esta en el borde derecho, pruebe otra direccion");
    }else {
    y+=1;
    System.out.println("Se ha movido hacia la derecha");
    System.out.println("Su posicion es: ["+x+"]["+y+"]");
    }
    }
    public void izquierda() {
    if(y==1) {
    System.out.println("Esta en el borde izquierdo, pruebe otra direccion");
    }else {
    y-=1;
    System.out.println("Se ha movido hacia la izquierda");
    System.out.println("Su posicion es: ["+x+"]["+y+"]");
    }
    }
    public static void main(String[] args) {
    Movimiento ob = new Movimiento();
    char opcion;
    boolean fin = false;
    JOptionPane.showMessageDialog(null, "En una tabla de 5x5, usted se encuentra en la posicion [1][1]
    Intente moverse");
    while(fin == false) {
    opcion = JOptionPane.showInputDialog("Digite una opcion
    w. Mover arriba
    "
    + "s. Mover abajo
    "
    + "d. Mover derecha
    "
    + "a. Mover izquierda
    "
    + "e. Salir del programa").charAt(0);
    switch(opcion) {
    case 'w':
    ob.arriba();
    break;
    case 's':
    ob.abajo();
    break;
    case 'd':
    ob.derecha();
    break;
    case 'a':
    ob.izquierda();
    break;
    case 'e':
    fin = true;
    break;
    default:
    System.out.println("La opcion es erronea");
    }
    }
    }
    }

  • @kevinct7688
    @kevinct7688 3 роки тому +1

    // EJERCICIO #2 :) :)
    package POO;
    public class Ejercicio002 {
    private int x, y, num;
    // Constructor 1
    public Ejercicio002(int x, int y) {
    this.x = x;
    this.y = y;

    }
    // Constructor 2
    public Ejercicio002(int num) {
    this.num = num;
    }

    public void m_arriba() {
    y = y + num;
    }
    public void m_abajo() {
    y = y - num;
    }
    public void m_izquierdo() {
    x = x - num;
    }
    public void m_derecha() {
    x = x + num;
    }
    public void posición() {
    System.out.printf("
    %10s
    "
    + "%10s%5d
    "
    + "%10s%5d

    ",
    "Posición Actual",
    "Posicion eje X : ", x,
    "Posición eje Y : ", y);
    }
    }
    package POO;
    import java.util.Scanner;
    public class Ejercicio002A {
    public static void main(String[] args) {
    int posX, posY, resp;
    int num;
    Scanner tecla = new Scanner(System.in);
    System.out.printf("%30s

    ", "-------Mapa Cartesiano--------");
    System.out.printf("%25s
    "
    + "%10s",
    "Posición Inicial ", "Eje X : ");
    posX = Integer.valueOf(tecla.nextLine());
    System.out.printf("%10s", "Ejer Y: ");
    posY = Integer.valueOf(tecla.nextLine());
    Ejercicio002 E2 = new Ejercicio002(posX, posY);
    Ejercicio002 E2A;
    // Movimiento y cambios
    do {
    do {
    System.out.printf("
    %30s

    "
    + "%10s
    "
    + "%10s
    "
    + "%10s
    "
    + "%10s
    "
    + "%10s
    "
    + "%10s
    "
    + "%10s",
    "-----------Movimientos---------- ",
    "1.- Arriba",
    "2.- Abajo",
    "3.- Izquierda",
    "4.- Derecha",
    "5.- Mostrar posición",
    "6.- Salir",
    "Elegir una opcion (1-6): ");
    resp = Integer.valueOf(tecla.nextLine());
    if (resp = 7) {
    System.out.println("ERROR : Escoger una opción (1-6)..................");
    }
    } while (resp = 7);
    switch (resp) {
    case 1:
    System.out.printf("%10s",
    "Cuantas posiciones: ");
    num = Integer.valueOf(tecla.nextLine());
    E2A = new Ejercicio002(num);
    E2.m_arriba();
    break;
    case 2:
    System.out.printf("%10s",
    "Cuantas posiciones: ");
    num = Integer.valueOf(tecla.nextLine());
    E2A = new Ejercicio002(num);
    E2.m_abajo();
    break;
    case 3:
    System.out.printf("%10s",
    "Cuantas posiciones: ");
    num = Integer.valueOf(tecla.nextLine());
    E2A = new Ejercicio002(num);
    E2.m_izquierdo();
    break;
    case 4:
    System.out.printf("%10s",
    "Cuantas posiciones: ");
    num = Integer.valueOf(tecla.nextLine());
    E2A = new Ejercicio002(num);
    E2.m_derecha();
    break;
    case 5:
    E2.posición();
    break;
    case 6:
    E2.posición();
    break;
    }
    } while (resp != 6);
    }
    }
    // MI APORTE

  • @coffeebeans3012
    @coffeebeans3012 Рік тому

    Ejercicio 2 (JavaScript) :
    class Movimiento {
    constructor(x,y,tablero){
    this.x = x;
    this.y = y;
    this.tablero = tablero;
    }
    Arriba = () => {
    if ((this.y >= 0 ) && (this.y < this.tablero)) {
    this.y+=1;
    }
    }
    Abajo = () => {
    if ((this.y > 0 ) && (this.y {
    if ((this.x >= 0 ) && (this.x < this.tablero)) {
    this.x+=1;
    }
    }
    Izquierda = () => {
    if ((this.x > 0 ) && (this.x

  • @nerjamartin
    @nerjamartin 7 років тому

    Hola Alejandro. Muchas gracias por tus vídeos. Dónde puedo encontrar la solución del segundo ejercicio (el del tablero) para poder compararlo con mi código? Muchas gracias de nuevo :)

  • @coffeebeans3012
    @coffeebeans3012 Рік тому

    Ejercicio 1 (JavaScript) :
    class Cuadrilatero {
    constructor(lado1,lado2){
    this.lado1 = lado1;
    this.lado2 = lado2;
    }

    get Perimetro(){
    return 2*(lado1 + lado2);
    }
    get Area(){
    return (lado1 * lado2);
    }
    }
    let lado1 = parseFloat(prompt("Ingrese lado 1 : "));
    let lado2 = parseFloat(prompt("Ingrese lado 2 : "));
    if (lado1 == lado2) {
    mostrar = new Cuadrilatero(lado1);
    } else {
    mostrar = new Cuadrilatero(lado1,lado2);
    }
    console.log("El perímetro es : " + mostrar.Perimetro + " y el área es : " + mostrar.Area);

  • @javiercontreras8053
    @javiercontreras8053 3 роки тому

    Para el ejercicio #2 no realizaste la solucion ?

  • @Sancba
    @Sancba 4 роки тому

    Por si les sirve, el resultado de mi Ejercicio 2:
    /*
    Construir un programa que permita dirigir el movimiento de un objeto
    dentro de un tablero y actualice su posición dentro del mismo. Los
    movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada
    movimiento el programa mostrará la nueva dirección elegida y las
    coordenadas de situación del objeto dentro del tablero.
    */
    package paquete1;
    import javax.swing.JOptionPane;
    public class Tablero {
    // Atributos
    private int ejeX;
    private int ejeY;

    // Método Constructor
    public Tablero(int x, int y){
    this.ejeX = ejeX;
    this.ejeY = ejeY;
    }

    // Métodos
    public void arriba(){
    ejeX += 1;
    System.out.println("Movimiento hacia arriba.");
    }

    public void abajo(){
    ejeX -= 1;
    System.out.println("Movimiento hacia abajo.");
    }

    public void der(){
    ejeY += 1;
    System.out.println("Movimiento hacia la dereccha.");
    }

    public void izq(){
    ejeX -= 1;
    System.out.println("Movimiento hacia la izquierda.");
    }
    public int getEjeX() {
    return ejeX;
    }
    public int getEjeY() {
    return ejeY;
    }

    }
    public class Main {
    public static void main(String[] args){
    Tablero move = new Tablero(0, 0);

    int ventana = 0;
    do{
    String[] botones = {"ARRIBA", "ABAJO", "DERECHA", "IZQUIERDA", "SALIR"};
    ventana = JOptionPane.showOptionDialog(null, "Elige un movimiento:",
    "Bienvenido", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,
    null, botones, botones[0]);
    switch(ventana){
    case 0:
    move.arriba();
    System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"].");
    break;
    case 1:
    move.abajo();
    System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"].");
    break;
    case 2:
    move.der();
    System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"].");
    break;
    case 3:
    move.izq();
    System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"].");
    break;
    default:
    break;
    }
    }while(ventana

    • @rec435
      @rec435 3 роки тому

      Hola tu programa esta bien solo te equivocaste al poner las direcciones de movimiento en los ejes:
      arriba ejeY += 1;
      abajo ejeY -= 1;
      derecha ejeX += 1;
      izquierda ejeX -= 1;

  • @collinzuniga5410
    @collinzuniga5410 4 роки тому

    Vi varios con el problema resuelto pero no eran comprensibles y no indicaban la posición ,así que hice el mio aprendiendo de los demás.
    public class Posicion {
    //atributos
    private int x;
    private int y;

    public Posicion(int x,int y) {
    this.x = x;
    this.y = y;
    }

    //Movr arriba
    public void Up() {
    y+=1;
    System.out.println("Movio hacía arriba");
    System.out.println("Posición: (X ["+x+"],["+y+"] Y)");
    }

    //mover abajo
    public void down() {
    y-=1;
    System.out.println("Posición: (X ["+x+"],["+y+"] Y)");
    }

    //mover derecha
    public void right() {
    x+=1;
    System.out.println("Movio a la derecha");
    System.out.println("Posición: (X ["+x+"],["+y+"] Y)");
    }

    //mover izquierda
    public void left() {
    x-=1;
    System.out.println("Movio a la izquierda");
    System.out.println("Posición: (X ["+x+"],["+y+"] Y)");
    }

    public int getY() {
    return y;
    }

    public int getX() {
    return x;
    }

    }
    // clase main
    Posicion ob = new Posicion(0,0);
    char mov;

    do {
    mov = Character.toUpperCase(JOptionPane.showInputDialog("Ingrese posición:
    [W].Arriba
    [S].Abajo
    [D].Derecha
    [A].Izquierda
    [E].Salir
    ").charAt(0));

    switch(mov) {
    case 'W':
    ob.Up();
    System.out.println("Adelante");
    break;

    case 'S':
    ob.down();
    System.out.println("Atras");
    break;

    case 'D':
    ob.right();
    System.out.println("Derecha");
    break;

    case 'A':
    ob.left();
    System.out.println("Izquierda");

    case 'E':
    System.out.println("Fin programa");
    break;

    default:
    System.out.println("Comando no comprendido");
    break;
    }

    }while(mov!='E');



    }
    }

    • @jos1327
      @jos1327 Рік тому

      yo no entendi nada :c, o sea yo al principio intentaba hacerlo tipo mostrar su punto pero no sabia como ya al final tambien hice como el tuyo

  • @erikramirez1343
    @erikramirez1343 Рік тому

    no quiero parecer ignorante... pero como le hace en el minuto 10:36 del video para que le aparesca lo que tiene que hacer en el c1=new Cuadrilatero()...?

    • @BeboCoder
      @BeboCoder Рік тому

      no te entiendo 🤨🤨

  • @jonatantajada1475
    @jonatantajada1475 Рік тому

    Ejercicio:
    //Atributos
    private int x;
    private int y;
    //Constructor

    public Tablero(int inicioX, int inicioY) {
    x = inicioX;
    y = inicioY;
    }

    //Metodos

    public void moverArriba() {
    y++;
    }

    public void moverAbajo() {
    y--;
    }

    public void moverIzquierda() {
    x--;
    }

    public void moverDerecha() {
    x++;
    }

    public void moverDerechaDoble() {
    x += 2; // Mueve dos posiciones a la derecha
    }



    public void mostrarPosicion() {
    System.out.println("Posicion actual: ("+ x + ", "+ y + ")");
    }
    //main (desde otra clase)********
    public class TableroMain {
    public static void main(String[] args) {

    Tablero tablero = new Tablero(0, 0);//posicion inicial en x=0 -- y=0

    System.out.println("Posicion inicial: " );
    tablero.mostrarPosicion();
    System.out.println();

    tablero.moverDerecha();
    System.out.println("Movimiento a la derecha:");
    tablero.mostrarPosicion();
    System.out.println();

    tablero.moverArriba();
    System.out.println("Movimiento hacia arriba:");
    tablero.mostrarPosicion();
    System.out.println();
    tablero.moverIzquierda();
    System.out.println("Movimiento a la izquierda:");
    tablero.mostrarPosicion();
    System.out.println();
    tablero.moverAbajo();
    System.out.println("Movimiento hacia abajo:");
    tablero.mostrarPosicion();



    }


    }

  • @jeffersongonzalez8808
    @jeffersongonzalez8808 7 років тому

    amigo me piden el area y perimetro del traingulo....con metodo constructor,modificadores,consultor.....lo logre hacer pero resulta que lo quiere con un solo parametro, y yo lo habia hecho con 3(lado,base,altura)....no se como hacerlo con un solo parametro ayuda:(

  • @alandanielpedrazamontes4401
    @alandanielpedrazamontes4401 5 років тому +2

    Descance en paz grán heroe informático...

  • @-Luis_E
    @-Luis_E 2 роки тому

    package ejercicio2;
    public class Tablero {
    private int x=0;
    private int y=0;
    public Tablero(int x, int y) {
    this.x = x;
    this.y = y;
    }
    public int getX() {
    return x;
    }
    public void setDerecha() {
    x++;
    this.x = x;
    }
    public void setIzquierda() {
    x--;
    this.x = x;
    }
    public int getY() {
    return y;
    }
    public void setAbajo() {
    y--;
    this.y = y;
    }
    public void setArriba() {
    y++;
    this.y = y;
    }
    }
    en la otra solapa Main
    package ejercicio2;
    /**
    Ejercicio2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un
    tablero y actualice su posicion dentro del mismo. Los movimientos posibles son
    ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrara la
    nueva direccion elegida y las coordenadas de situacion del objeto dentro del
    tablero.
    */
    import java.util.Scanner;
    public class Main {
    public static void main(String[] args) {
    Scanner entrada =new Scanner(System.in);
    Tablero objeto=new Tablero(0,0);
    int movimiento = 0;
    while (movimiento !=5) {
    System.out.print("Ingrese el movimento a realizar, ARRIBA = 1, ABAJO = 2, DERECHA = 3, IZQUIERDA= 4, SALIR 5: ");
    movimiento = entrada.nextInt();
    switch (movimiento){
    case 1 :
    objeto.setArriba();
    System.out.println("Arriba");
    break;
    case 2:
    objeto.setAbajo();
    System.out.println("Abajo");
    break;
    case 3:
    objeto.setDerecha();
    System.out.println("Derecha");
    break;
    case 4:
    objeto.setIzquierda();
    System.out.println("Izquierda");
    break;
    case 5:
    System.out.println("Salir");
    break;
    default:
    System.out.println("Numero incorrecto");
    break;
    }
    System.out.println("La posicion el objeto es X: "+objeto.getX()+", Y: "+objeto.getY());
    }
    }
    }
    comenten que le pareció , Saludos

  • @DARIELEFRAINGARCIASILVA
    @DARIELEFRAINGARCIASILVA 2 місяці тому +2

    buen video jaja lollolololooloo

  • @jorgematute1396
    @jorgematute1396 3 роки тому

    Mi solución del ejercicio 2:
    //Primera clase.
    package tablero;
    public class Tablero {

    private int ejeX;
    private int ejeY;

    public Tablero(int ejeX, int ejeY){
    this.ejeX = ejeX;
    this.ejeY = ejeY;
    }
    public void moverArriba(){
    System.out.println("
    Su pieza estaba en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y.");
    this.ejeY -= 1;
    System.out.println("
    Su pieza está en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y.");
    }

    public void moverAbajo(){
    System.out.println("
    Su pieza estaba en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y.");
    this.ejeY += 1;
    System.out.println("
    Su pieza está en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y.");
    }

    public void moverIzquierda(){
    System.out.println("
    Su pieza estaba en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y.");
    this.ejeX -= 1;
    System.out.println("
    Su pieza está en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y.");
    }
    public void moverDerecha(){
    System.out.println("
    Su pieza estaba en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y.");
    this.ejeX += 1;
    System.out.println("
    Su pieza está en la posición: "+ejeX+" del eje X.");
    System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y.");
    }


    }
    //Segunda clase (main).
    package tablero;
    import java.util.Scanner;
    public class Main {

    public static void main(String[] args) {

    Scanner leer = new Scanner(System.in);

    int posicion;
    Tablero posicionPieza = new Tablero(4,4);

    for (int movimientos = 0; movimientos < 999; movimientos++) {

    do{
    System.out.print("
    Digite el número que indica la posición en que quiere moverse.
    ARRIBA -> 1 | ABAJO -> 2 | IZQUIERDA -> 3 | DERECHA ->4
    Opción: ");
    posicion = leer.nextInt();
    }while(posicion > 4 && posicion < 1);

    if (posicion == 4)
    posicionPieza.moverDerecha();

    else if(posicion == 3)
    posicionPieza.moverIzquierda();

    else if(posicion == 1)
    posicionPieza.moverArriba();

    else if(posicion == 2)
    posicionPieza.moverAbajo();
    }


    }
    }

  • @Bulldog-Chelista
    @Bulldog-Chelista 4 роки тому

    como sabes decidir cual será public y cual private? y otra cosa. siempre es necesario para pedir datos del usuario ese chorote gigante de parseoptionPane??? A mi luego no me reconoce ese caracter*( como le llama java)

    • @rec435
      @rec435 3 роки тому

      Puedes pedir los datos con:
      Scanner leer=new Scanner (System.in);
      System.out.println("Ingrese el valor");
      int valor=leer.nextInt();

  • @beatrizpacheco829
    @beatrizpacheco829 3 роки тому

    package Ejercicio2;
    public class Posicion {
    //Atributos
    private int X;
    private int Y;
    //Metodos
    //Constructor
    public Posicion(int X, int Y){
    this.X = X;
    this.Y = Y;
    }
    //Mover hacia arriba
    public void moverArriba(){
    Y += 1;
    System.out.println("Direccion Arriba (" + X +","+ Y +")");
    }
    //Mover hacia abajo
    public void moverAbajo(){
    Y -= 1;
    System.out.println("Direccion Abajo ("+ X +","+ Y +")");
    }
    //Mover hacia derecha
    public void moverDerecha(){
    X += 1;
    System.out.println("Direccion Derecha ("+ X +","+ Y +")");
    }
    //Mover hacia arriba
    public void moverIzquierda(){
    X -= 1;
    System.out.println("Direccion Izquierda ("+ X +","+ Y +")");
    }
    //Getter posicion X
    public int getEjeX(){
    return X;
    }
    //Getter posicion Y
    public int getEjeY(){
    return Y;
    }
    }
    -------------------------------------------------------------
    en el Main
    -------------------------------------------------------------
    package Ejercicio2;
    import javax.swing.JOptionPane;
    public class NewMain {
    public static void main(String[] args) {

    //Variable
    char proximoMov = '0';
    //Crear objeto con cordenadas iniciales x=0, y=0
    Posicion objeto = new Posicion(0,0);
    System.out.println("Posicion Inicial: ("+objeto.getEjeX()+","+objeto.getEjeY()+")");
    while(proximoMov != 'E'){
    //Identificar el proximo movimiento
    do {
    proximoMov = Character.toUpperCase(JOptionPane.showInputDialog("Ingrese el siguiente movimiento"+"
    "+"W-Adelante
    "+"S-Atras
    "+"A-Izquierda
    "+"D-Derecha
    "+"E-Salir
    ").charAt(0));
    } while ((proximoMov !='W')&&(proximoMov !='A')&&(proximoMov !='S')&&(proximoMov !='D')&&(proximoMov !='E'));
    //Realizar el movimiento
    switch(proximoMov){
    case 'W':
    objeto.moverArriba();
    break;
    case 'S':
    objeto.moverAbajo();
    break;
    case 'A':
    objeto.moverIzquierda();
    break;
    case 'D':
    objeto.moverDerecha();
    break;
    case 'E':
    System.out.println("Gracias por jugar!");
    break;
    default:
    System.out.println("Movimiento no reconocido");
    break;
    }
    }
    }
    }

  • @sebas_aristi
    @sebas_aristi 2 роки тому

    Si puedes imaginarlo puedes programarlo :D

  • @claudioflores2745
    @claudioflores2745 7 років тому

    Muy bueno los videos, estoy siguiendolo para complementar mis estudios. Ahora una consulta referente a este ejercicio. Pasa que cuando arranco el programa, en la parte de ambos métodos no me resuelve la multiplicación. Es decir, el método de perímetro 2*(lado1+lado2), me hace solamente la suma (2.4) y en el método área (lado1*lado2) no hace nada y queda en 0.0, lo q se deduce a simple vista es q se salta la multiplicación. Alguien sabe ¿por qué?

    • @gonzalo6061
      @gonzalo6061 7 років тому

      fijate que en el metodo constructor 2, tengas igualado this.lado1 = this.lado2 = lado1 porque sino solo te va a tomar el lado 1 el constructor, y en realidad tiene que tomar los dos como uno

  • @whitethediablo
    @whitethediablo 2 місяці тому

    Ejercicio 2: CLASE MAIN
    package bloquepoo2;
    import java.util.Scanner;
    public class Main {
    public static void main(String[] args) {
    Scanner data = new Scanner(System.in);
    int n,m,n2,m2;
    String movimiento;
    System.out.println("CREAR TABLERO.");
    System.out.print("Digite la cantidad de filas del tablero: ");
    n=data.nextInt();
    System.out.print("Digite la cantidad de columnas del tablero: ");
    m=data.nextInt();

    Tablero tablero = new Tablero(n,m);

    System.out.println("
    EL TABLERO ES:");
    tablero.crearTablero();
    tablero.mostrarTableroInicial();

    System.out.println("
    INSERTAR FICHA EN EL TABLERO.");
    System.out.print("Digite la fila donde desea insertar la ficha: ");
    n2=data.nextInt();
    tablero.setN2(n2);
    System.out.print("Digite la columna donde desea insertar la ficha: ");
    m2=data.nextInt();
    tablero.setM2(m2);

    System.out.println("
    TABLERO CON FICHA.");
    tablero.insertarFicha();

    System.out.println("
    REALIZAR MOVIMIENTO. (presione 0 para salir)");
    data.nextLine();
    do{
    System.out.print("Digite el movimiento que desea que la ficha realice: ");
    movimiento=data.nextLine();
    if(movimiento.equals("0")){
    System.out.println("
    Usted ha salido exitosamente del programa.");
    break;
    }else{
    System.out.println("");
    tablero.realizarMovimiento(movimiento);
    System.out.println("
    (presione 0 para salir)");
    }
    }while(!movimiento.equals("0"));

    data.close();
    System.out.println("");

    }

    }
    Ejercicio 2: CLASE TABLERO (donde estan los métodos y los atributos)
    package bloquepoo2;
    public class Tablero {

    //Atributos
    private int tablero[][];
    private int n,m,n2,m2; //Tamaño tablero & posicionInicial
    private String movimiento;
    private int direccion;
    private int posicionPosterior;

    //Método constructor 1: (Posicion inicial)
    public Tablero(int n,int m){
    this.n=n;
    this.m=m;
    }


    //Método constructor 2: (Movimiento del objeto)
    public Tablero(String movimiento){
    this.movimiento=movimiento;
    }
    //Métodos accesores : Setters & Getters
    public int getN2() {
    return n2;
    }
    public void setN2(int n2) {
    this.n2 = n2;
    }
    public int getM2() {
    return m2;
    }
    public void setM2(int m2) {
    this.m2 = m2;
    }


    //Métodos normales
    public void crearTablero(){
    tablero = new int[n][m];
    for(int i=0;i

  • @pierosebastiantorresartica3092
    @pierosebastiantorresartica3092 4 роки тому +1

    package paquete1;
    /**
    *
    * @author User
    */
    public class Ejercicio2 {
    int movX;
    int movY;
    public Ejercicio2(int movX, int movY)
    {
    this.movX = movX;
    this.movY = movY;
    }
    }
    package paquete1;
    import javax.swing.JOptionPane;
    /**
    *
    * @author User
    */
    public class Principal {
    public static void main(String[] args) {
    Ejercicio2 Objeto1;
    int accion;
    int posiX=0, posiY=0;
    do
    {
    accion = Integer.parseInt(JOptionPane.showInputDialog("Elija uno de los siguientes movimientos:
    "
    +"1.Arriba
    "+"2.Abajo
    "+"3.Derecha
    "+"4.Izquierda
    "+"5.Detenerse"));
    switch(accion)
    {
    case 1: Objeto1=new Ejercicio2(0,1);
    posiY+=Objeto1.movY;
    break;
    case 2: Objeto1=new Ejercicio2(0,1);
    posiY-=Objeto1.movY;
    break;
    case 3: Objeto1=new Ejercicio2(1,0);
    posiX+=Objeto1.movX;
    break;
    case 4: Objeto1=new Ejercicio2(1,0);
    posiX-=Objeto1.movX;
    break;
    case 5: break;
    default: JOptionPane.showMessageDialog(null, "Opción inválida, escoja un movimiento válido");
    break;
    }
    JOptionPane.showMessageDialog(null, "La posición actual es: ("+posiX+", "+posiY+")");
    } while(accion!=5);
    }
    }

  • @coffeebeans3012
    @coffeebeans3012 Рік тому

    Ejercicio 2 (Java) :
    // Ejercio 2 :
    // Atributos
    private int x;
    private int y;
    private int tablero;

    //Construtores
    public pooEjercicios(int x, int y, int tablero) {
    this.x = x;
    this.y = y;
    this.tablero = tablero;
    }

    //Métodos sin tipo de retorno
    public void getArriba(){
    if (y>=0 && y0 && y=0 && x0 && x

  • @asumumifumurubenndong2464
    @asumumifumurubenndong2464 5 років тому

    PARECE como estas muxo mejor en UML que en java jajajajajajaj por que no nos haces un curso DE UML PORFAVOR!!!!!

  • @keny3118
    @keny3118 6 років тому +1

    Que tecla oprime para que aparezcan los constructores y escoger el que uno desea?

  • @daniBassman
    @daniBassman Рік тому

    Aqui dejo mi aporte, clase Tablero:
    package ejercicio_71b;
    import java.util.Scanner;
    public class Tablero {

    Scanner entrada = new Scanner(System.in);
    int lado=0;
    int array [][];
    int ejeX, ejeY;
    String mueve;

    public Tablero() {

    }

    public void creaTablero() {



    System.out.print("Cuantas casillas quieres que tenga el tablero?: ");
    lado = entrada.nextInt();
    array = new int[lado][lado];

    for (int i=0;i

  • @DARIELEFRAINGARCIASILVA
    @DARIELEFRAINGARCIASILVA 2 місяці тому +1

    un saludo a mi maestra montoya que me dejo esto de tarea jaja xdxdxdxxdx

  • @ivancruzsoto8670
    @ivancruzsoto8670 4 роки тому +1

    Clase Tablero
    public class Tablero {
    private Casilla[][] tab1;
    private int dim = 8;

    //Constructor
    public Tablero() {
    tab1 = new Casilla[dim][dim];

    for(int i = 0; i < dim; i++) {
    for(int j = 0; j < dim; j++) {
    tab1[i][j] = new Casilla(false);
    }
    }
    }

    //Getters
    public boolean getCasilla(int x, int y) {
    return tab1[x][y].getEstado();
    }

    public int getDimension() {
    return dim;
    }

    //Setters
    public void setCasilla(int x, int y, boolean estado) {
    tab1[x][y].setEstado(estado);//Invocación de Setters de Casilla
    }

    public void setDimesion(int dimension) {
    dim = dimension;
    }
    }
    Clase Casilla
    public class Casilla {
    private boolean estado;

    //Constructor
    public Casilla(boolean estado) {
    this.estado = estado;
    }

    //Getters
    public boolean getEstado() {
    return estado;
    }

    //Setters
    public void setEstado(boolean estado) {
    this.estado = estado;
    }
    }
    Clase Jugador
    import javax.swing.JOptionPane;
    public class Jugador {
    private int[] posicion = new int[2];

    //Constructores
    public Jugador(int x, int y) {
    posicion[0] = x;//Representa la fila en la que se encuentra el jugador
    posicion[1] = y;//Representa la columna en la que se encuentra el jugador
    }

    //Getters
    public int getX() {
    return posicion[0];
    }

    public int getY() {
    return posicion[1];
    }

    //Setters
    public void setX(int x) {
    posicion[0] = x;
    }

    public void setY(int y) {
    posicion[1] = y;
    }

    public void setPosicion(int x, int y) {
    posicion[0] = x;
    posicion[1] = y;
    }

    //Movilidad del jugador
    public boolean moveUp() {
    if(posicion[0] == 0) {
    JOptionPane.showMessageDialog(null,"Imposible subir más en el tablero!");//En caso de que el jugador ya se encuentre en la primera fila
    return false;
    }
    else {
    posicion[0]--;//Sube al jugador una fila
    return true;
    }
    }

    public boolean moveDown(int max) {
    if(posicion[0] == max-1) {
    JOptionPane.showMessageDialog(null,"Imposible bajar más en el tablero!");//En caso de que el jugador ya se encuentre en la última fila
    return false;
    }
    else {
    posicion[0]++;//Baja al jugador una fila
    return true;
    }
    }

    public boolean moveLeft() {
    if(posicion[1] == 0) {
    JOptionPane.showMessageDialog(null,"Imposible retroceder más en el tablero!");//En caso de que el jugador ya se encuentre en la primera columna
    return false;
    }
    else {
    posicion[1]--;//Regresa al jugador una columna
    return true;
    }
    }

    public boolean moveRight(int max) {
    if(posicion[1] == max-1) {
    JOptionPane.showMessageDialog(null,"Imposible avanzar más en el tablero!");//En caso de que el jugador ya se encuentre en la última columna
    return false;
    }
    else {
    posicion[1]++;//Avanza al jugador una columna
    return true;
    }
    }
    }
    Clase App
    import javax.swing.JOptionPane;
    public class App {
    public static void main(String args[]) {
    Tablero tablero = new Tablero();
    Jugador player = new Jugador(0,0);

    tablero.setCasilla(player.getX(), player.getY(), true);//Inicializando la posición del jugador en el tablero

    char menu;//Menu opcional

    for(int i = 0; i < tablero.getDimension(); i++) {//Impresión del tablero, Maraca con un 0 las casillas vacías y con un 1 la casilla ocupada por el jugador
    for(int j = 0; j < tablero.getDimension(); j++) {
    if(tablero.getCasilla(i, j))System.out.print("1 ");
    else {
    System.out.print("0 ");
    }
    }
    System.out.println();
    }

    JOptionPane.showMessageDialog(null, "Bienvenido");
    do {
    menu = JOptionPane.showInputDialog("Controles:
    'w': Arriba
    'a': Izquierda
    's': Abajo
    'd': Derecha
    'e': Salir").charAt(0);//Solicitud de instrucción

    switch(menu) {
    case 'w':
    if(player.moveUp()) {//En caso de que el jugador quiera moverse hacía arriba
    tablero.setCasilla(player.getX()+1, player.getY(), false);//Desactivando la casilla que el jugador abandonó
    tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador
    }
    break;

    case 'a':
    if(player.moveLeft()) {//En caso de que jugador quiera moverse hacia la Izquierda
    tablero.setCasilla(player.getX(), player.getY()+1, false);//Desactivando la casilla que el jugador abandonó
    tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador
    }
    break;

    case 's'://En caso de que el jugador quiera moverse hacía abajo
    if(player.moveDown(tablero.getDimension())) {
    tablero.setCasilla(player.getX()-1, player.getY(), false);//Desactivando la casilla que el jugador abandonó
    tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador
    }
    break;

    case 'd'://En caso de que el jugador quiera moverse hacia la derecha
    if(player.moveRight(tablero.getDimension())) {
    tablero.setCasilla(player.getX(), player.getY()-1, false);//Desactivando la casilla que el jugador abandonó
    tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador
    }
    break;
    }


    System.out.println("



















    ");//Impresión del tablero
    for(int i = 0; i < tablero.getDimension(); i++) {
    for(int j = 0; j < tablero.getDimension(); j++) {
    if(tablero.getCasilla(i, j))System.out.print("1 ");
    else {
    System.out.print("0 ");
    }
    }
    System.out.println();
    }

    }while(menu != 'e');
    }
    }

  • @syous999
    @syous999 5 місяців тому

    /*Ejercicio 2: Construir un programa que permita dirigir el movimiento de un
    objeto dentro de un tablero y actualice su posición dentro del mismo.
    Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA.
    Tras cada movimiento el programa mostrará la nueva dirección elegida y las
    coordenadas de situación del objeto dentro del tablero.*/
    package POOEjercicios;
    /**
    * @author CarlosAVG
    */
    public class Ejercicio02 {
    //Atributos
    private int f;
    private int c;
    //Metodos
    public Ejercicio02(int f, int c) {
    this.f = f;
    this.c = c;
    }
    //Movimientos
    public void setArriba() {
    this.f += -1;
    }
    public void setAbajo() {
    this.f += 1;
    }
    public void setIzquierda() {
    this.c += -1;
    }
    public void setDerecha() {
    this.c += 1;
    }
    public int getFila() {
    return this.f;
    }
    public int getColumna() {
    return this.c;
    }
    }
    -----------------------------------------------------------------------------------------
    package POOEjercicios;
    import javax.swing.*;
    /**
    * @author CarlosAVG
    */
    public class Main02 {
    public static void main(String[] args) {
    final int tablero[][] = new int[10][10];
    Ejercicio02 ob1 = new Ejercicio02(0, 0);
    int op;
    //Llenado de la Matriz
    for (int f = 0; f < tablero.length; f++) {
    for (int c = 0; c < tablero.length; c++) {
    tablero[f][c] = 0;
    }
    }
    //Mostrar la matriz inciial
    System.out.println("Tablero sin ningun movimiento, inicias en la esquina superior izqueirda.");
    System.out.println("");
    for (int f = 0; f < tablero.length; f++) {
    for (int c = 0; c < tablero.length; c++) {
    System.out.print(tablero[f][c] + " - ");
    }
    System.out.println("");
    }
    //Movimientos
    do {
    op = Integer.parseInt(JOptionPane.showInputDialog(".: Bienvenido :.
    Opciones:
    1. Arriba
    2. Abajo
    3. Izquierda
    4. Derecha
    5. Salida"));
    switch (op) {
    case 1:
    if (ob1.getFila() >= 0 && ob1.getFila() = 0 && ob1.getFila() = 0 && ob1.getColumna() = 0 && ob1.getColumna()

  • @frankneyra3233
    @frankneyra3233 4 роки тому

    Esta es mi solución, que muestra la dirección tomada (ARRIBA, ABAJO, IZQUIERDA, DERECHA) y las coordenadas (x,y), utilizo libreria Scanner y los numeros 8,2,4,6, como flechas de direccion.
    package tablero;
    public class logo {
    private String direccion;
    private int x=0,y=0;


    public void setDireccion(int direccion){
    if (direccion == 8){
    this.direccion = "Arriba";
    }
    if (direccion == 2){
    this.direccion = "Abajo";
    }
    if (direccion == 4){
    this.direccion = "Izquierda";
    }
    if (direccion == 6){
    this.direccion = "Derecha";
    }
    }
    public int getsubirobajar(int ordenada){
    y+=ordenada;
    return y;
    }

    public int getizquierdaoderecha(int abcisa){
    x+=abcisa;
    return x;
    }

    public void posicionydireccion(){
    System.out.println("La direccion es: " + direccion + " y las coordenadas son: " + "[ " + x + " ]" + "[ " + y + " ]");

    }
    }
    package tablero;
    import java.util.Scanner;
    public class Logomain2 {

    public static void main(String[] args) {

    logo objeto = new logo();

    Scanner teclado = new Scanner(System.in);
    int direccion, ordenada, abcisa;

    do{

    System.out.println("A donde quiere moverse: ");
    direccion = teclado.nextInt();

    if(direccion==8){
    //direccion hacia arriba
    objeto.setDireccion(direccion);
    ordenada = 1;
    objeto.getsubirobajar(ordenada);
    objeto.posicionydireccion();
    } else if(direccion==2){
    //direccion hacia abajo
    objeto.setDireccion(direccion);
    ordenada=-1;
    objeto.getsubirobajar(ordenada);
    objeto.posicionydireccion();
    } else if(direccion==4){
    //direccion hacia la izquierda
    objeto.setDireccion(direccion);
    abcisa=-1;
    objeto.getizquierdaoderecha(abcisa);
    objeto.posicionydireccion();
    } else if(direccion==6){
    //direccion hacia la derecha
    objeto.setDireccion(direccion);
    abcisa=1;
    objeto.getizquierdaoderecha(abcisa);
    objeto.posicionydireccion();
    } else{
    // si presiona una tecla distinta de las indicadas , le dice que el movimiento no es posible y vuelve a preguntar a donde quiere moverse?
    System.out.println("El movimiento no es posible");
    }
    }while((direccion>0&&direccion

  • @trshing6045
    @trshing6045 5 років тому +1

    Ejercicio2
    package EjerciciosATS;
    import javax.swing.JOptionPane;
    /**
    *
    * @author Lenny
    */
    // P1 = X , P2 = Y ;
    public class Ejercicio2 {
    private int p1;
    private int p2;
    public Ejercicio2(int p1, int p2) {
    this.p1 = p1;
    this.p2 = p2;
    }
    public void getMovimientos(int movimientos) {
    while(movimientos!=0){
    int mov = Integer.parseInt(JOptionPane.showInputDialog("A dónde desea moverse? Arriba = 1, Abajo = 2, Izquierda = 3, Derecha = 4"));
    if(mov == 1)
    p2 += 1;
    if(mov == 2)
    p2 -= 1;
    if(mov == 3)
    p1 -= 1;
    if(mov == 4)
    p1 += 1;
    movimientos--;
    }
    }
    public void mostrarResultados() {
    System.out.println("Coordenadas finales: ("+p1+","+p2+")");
    }
    public static void main(String [] args){
    int p1 = Integer.parseInt(JOptionPane.showInputDialog("Valor de la coordenada inicial x: "));
    int p2 = Integer.parseInt(JOptionPane.showInputDialog("Valor de la coordenada inicial y: "));
    Ejercicio2 x = new Ejercicio2(p1,p2);
    int movimientos = Integer.parseInt(JOptionPane.showInputDialog("Cantidad de movimientos: "));
    x.getMovimientos(movimientos);
    x.mostrarResultados();
    }
    }

  • @noeamador7308
    @noeamador7308 4 роки тому

    //EJERCICIO #2
    package pootablero;
    public class Tablero {
    private int ejex;
    private int ejey;
    public Tablero(int x, int y) {
    this.ejex = ejex;
    this.ejey = ejey;
    }
    public void haciaArriba(){
    ejey=ejey+1;
    System.out.println("movimiento hacia arriba ");
    System.out.println("POSICION ACTUAL("+ejex+","+ejey+")");
    }
    public void haciaAabajo(){
    ejey-=1;
    System.out.println("movimiento hacia abajo ");
    System.out.println("POSICION ACTUAL ("+ejex+","+ejey+")");
    }
    public void haciaIzquierda(){
    ejex=ejex-1;
    System.out.println("movimiento hacia la Isquierda ");
    System.out.println("POSICION ACTUAL ("+ejex+","+ejey+")");
    }
    public void haciaDerecha(){
    ejex=ejex+1;
    System.out.println("movimiento hacia la derecha ");
    System.out.println("POSICION ACTUAL ("+ejex+","+ejey+")");
    }
    public int getEjex() {
    return ejex;
    }
    public int getEjey() {
    return ejey;
    }

    }
    import java.util.Scanner;
    public class principal {
    public static void main(String[] args) {
    Scanner entrada=new Scanner(System.in);
    int movimiento =0;

    Tablero objeto=new Tablero(0,0);
    System.out.println("Posicion actual "+objeto.getEjex()+","+objeto.getEjex());


    do{
    System.out.println("Movimiento
    8-Arriba
    2-Abajo
    4-Isquierda
    6-Derecha
    1-Salir");
    movimiento=entrada.nextInt();
    switch(movimiento){

    case 8: objeto.haciaArriba();break;
    case 2: objeto.haciaAabajo();break;
    case 4:objeto.haciaIzquierda();break;
    case 6:objeto.haciaDerecha();break;
    case 1:return ;




    }
    }while(movimiento==8 || movimiento==2 || movimiento==4 ||movimiento==6||movimiento==1);
    }
    }

  • @antoitoo01
    @antoitoo01 6 років тому

    He visto algunos ejemplos dados en este chat y hay una cosa que no entiendo... ¿No es un tablero un espacio delimitado?
    Todos los ejemplos que veo pueden mover el objeto toda la distancia que deseen, sin límite, es como si estuviera en un espacio infinito donde sólo puedes moverte en dos direcciones. Ni idea...

    • @guillermocotrinavelasquez3301
      @guillermocotrinavelasquez3301 6 років тому +1

      Para lo que hemos aprendido hasta ahora, creo que eso estaria bien. Ahora si tu puedes hacerlo en un tablero real, pues estas ya en nivel un poco mas elevado. Yo lo intentare a mi manera

    • @antoitoo01
      @antoitoo01 6 років тому

      Lo intenté, pero acabé resignandome a hacerlo sin tablero limitado, tal y como lo hicieron los demás compañeros.

    • @guillermocotrinavelasquez3301
      @guillermocotrinavelasquez3301 6 років тому

      Lo has intentado hacer con una matriz?

    • @antoitoo01
      @antoitoo01 6 років тому

      Si, pero creo que debía hacerlo con un array de objetos.

  • @fernandogal1
    @fernandogal1 Рік тому

    *Clase objeto*
    package Ejercicio2;
    public class Objeto {
    //Atributos
    private int posx;
    private int posy;

    //Metodos
    public void MoverDerecha() {
    posx +=1;
    }

    public void MoverIzquierda(){
    posx -=1;
    }
    public int getPosx() {
    return posx;
    }

    public void MoverArriba(){
    posy +=1;
    }
    public void MoverAbajo(){
    posy -=1;
    }
    public int getPosy() {
    return posy;
    }

    }
    *Clase principal*
    package Ejercicio2;
    import javax.swing.JOptionPane;
    public class Main {
    public static void main(String []args){
    Objeto objeto1 = new Objeto();
    int opcion = 0;

    do {
    opcion = Integer.parseInt(JOptionPane.showInputDialog("Mueva el objeto:
    "
    + "1.-Mover arriba
    "
    + "2.-Mover abajo
    "
    + "3.-Mover a la izquierda
    "
    + "4.-Mover a la derecha
    "
    + "5.-Salir"));
    switch(opcion){
    case 1: objeto1.MoverArriba();
    System.out.println("Movimiento: Arriba");
    System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")");
    break;
    case 2: objeto1.MoverAbajo();
    System.out.println("Movimiento: Abajo");
    System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")");
    break;
    case 3: objeto1.MoverIzquierda();
    System.out.println("Movimiento: Izquierda");
    System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")");
    break;
    case 4: objeto1.MoverDerecha();
    System.out.println("Movimiento: Derecha");
    System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")");
    break;
    case 5: break;
    default: System.out.println("Opcion no valida");
    }
    } while (opcion != 5);

    }
    }

  • @TkValladares
    @TkValladares 4 роки тому +2

    EJERCICIO 2 - Solucion Simple (Usando POO)
    public class Objeto {
    private int posicionX,posicionY;
    public Objeto(int posicionX, int posicionY) {
    this.posicionX = posicionX;
    this.posicionY = posicionY;
    }
    public int getPosicionX() {
    return posicionX;
    }
    public int getPosicionY() {
    return posicionY;
    }
    public void mover(char tecla)
    {
    switch(tecla)
    {
    case 'w': posicionY++;break;
    case 's': posicionY--;break;
    case 'a': posicionX--;break;
    case 'd': posicionX++;break;
    default : System.out.println("
    Elija un movimiento!");
    }
    }
    }
    --------------------------------------------------------Clase Principal(main)-----------------------------------------------------------------
    import java.util.Scanner;
    public class PrincipalMovimientoObjeto {
    public static void main(String [] args){
    char tecla;
    Objeto o = new Objeto(0, 0);
    Scanner cin = new Scanner(System.in);
    System.out.println("
    ***********Movimiento en Tablero - Salir(0)***********
    ");
    System.out.println("Mover arriba(w)
    Mover Izquierda(a)
    Mover derecha(d)
    Mover abajo(s)");
    System.out.print("
    Ingrese Movimiento: ");
    tecla = cin.next().charAt(0);
    while(tecla!=0)
    {
    o.mover(tecla);
    if(tecla=='w')System.out.println("
    Movimiemto hacia arriba");
    if(tecla=='s')System.out.println("
    Movimiemto hacia abajo");
    if(tecla=='a')System.out.println("
    Movimiemto hacia izquierda");
    if(tecla=='d')System.out.println("
    Movimiemto hacia derecha");
    System.out.println("La posicion actual es: Objeto1("+o.getPosicionX()+","+o.getPosicionY()+")");
    System.out.print("
    Ingrese Movimiento: ");
    tecla = cin.next().charAt(0);
    }
    }
    }

    • @Carlosdev123
      @Carlosdev123 2 роки тому

      Me gustó mucho tu codigo. Solo quería añadir una pequeña corrección en el while(tecla!=0) -> sería while(tecla!='o'), ya que tecla esta inicializada como char. así puedes salir del menu.

  • @Joel19879
    @Joel19879 6 років тому

    package ejercicio2_Objetos;
    import java.util.Scanner;
    public class Ajedrez {
    // ATRIBUTOS
    private static int tablero[][];//HAGO EL TABLERO STATICO PARA QUE PUEDAS CREAR OTRA //FICHA Y PONERLO DENTRO DEL MISMO TABLERO
    private int tamañoTablero;
    final int pieza = 1;
    private int posicion_x;
    private int posicion_y;
    public Ajedrez() {
    // CONTRUCTOR PARA QUE EL USUARIO NOS DIGA DE QUE TAMAÑO QUIERE EL TABLERO Y NOS
    // DIGA EN QUE POSICION QUIERE LA PIEZA PARA EMPEZAR
    Scanner entrada = new Scanner(System.in);
    System.out.println("Tamaño del tablero.....");
    // SI EL NUMERO ES MEJOR QUE 2 NO PUEDE SER UN TABLERO Y HAGO QUE LO INTRODUZCA
    // OTRA VEZ
    do {
    System.out.print("Introduce el tamaño que quieres el tablero(debe ser mayor a 1): ");
    tamañoTablero = entrada.nextInt();
    } while (tamañoTablero < 2);
    // LE DOY EL TAMAÑO AL TABLERO CON EL NUMERO INTRODUCIDO
    tablero = new int[tamañoTablero][tamañoTablero];
    System.out.println("Ahora introduce una posiscion inicial para tu pieza...");
    // SI LA POSICION SE SALE DE LAS MARGENES DE LA TABLA LE DIGO QUE LO VUELVA A
    // INTRODUCIR
    do {
    System.out.print("Introduce la coordenada 'x'");
    posicion_x = entrada.nextInt();
    } while (posicion_x < 0 || posicion_x > tamañoTablero - 1);
    // SI LA POSICION SE SALE DE LAS MARGENES DE LA TABLA LE DIGO QUE LO VUELVA A
    // INTRODUCIR
    do {
    System.out.print("Introduce la coordenada 'y'");
    posicion_y = entrada.nextInt();
    } while (posicion_y < 0 || posicion_y > tamañoTablero - 1);
    // IGUALO LA POSICION DE LA TABLA A LA PIEZA INTERPRETANDO QUE 1 ES LA PIEZA
    tablero[posicion_x][posicion_y] = pieza;
    entrada.close();
    }
    public void arriba() {
    // SI LA PIEZA YA ESTA EN LA LINEA 0 NO PUEDE SUBIR MAS PORQUE SE SALDRIA DEL
    // ARREGLO
    if (posicion_x == 0) {
    System.out.println("");
    System.out.println("No se puede ir mas arriba te vas a salir del tablero vaquero");
    } else {
    tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA
    // DE DONDE ESTABA
    posicion_x = posicion_x - 1;
    tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION
    System.out.println("");
    // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS
    // COORDENADAS Y ME ENSEÑE EL TABLERO
    getCoordenadas();
    }
    }
    public void abajo() {
    // SI LA PIEZA YA ESTA EN LA ULTIMA LINEA NO PUEDE BAJAR MAS
    if (posicion_x == tamañoTablero - 1) {
    System.out.println("");
    System.out.println("No se puede ir mas abajo te vas a salir del tablero vaquero");
    } else {
    tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA
    // DE DONDE ESTABA
    posicion_x = posicion_x + 1;
    tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION
    System.out.println("");
    // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS
    // COORDENADAS Y ME ENSEÑE EL TABLERO
    getCoordenadas();
    }
    }
    public void derecha() {
    // SI LA PIEZA YA ESTA EN LA ULTIMA COLUMNA NO PUEDE IR MAS A LA DERECHA
    if (posicion_y == tamañoTablero - 1) {
    System.out.println("");
    System.out.println("No se puede ir mas a la derecha, te vas a salir del tablero vaquero");
    } else {
    tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA
    // DE DONDE ESTABA
    posicion_y = posicion_y + 1;
    tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION
    System.out.println("");
    // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS
    // COORDENADAS Y ME ENSEÑE EL TABLERO
    getCoordenadas();
    }
    }
    public void izquierda() {
    // SI LA PIEZA YA ESTA EN LA PRIMERA COLUMNA NO PUEDE IR MAS A LA IZQUIERDA O SE
    // SALDRIA DE LA TABLA
    if (posicion_y == 0) {
    System.out.println("");
    System.out.println("No se puede ir mas a la izquierda, te vas a salir del tablero vaquero");
    } else {
    tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA
    // DE DONDE ESTABA
    posicion_y = posicion_y - 1;
    tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION
    System.out.println("");
    // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS
    // COORDENADAS Y ME ENSEÑE EL TABLERO
    getCoordenadas();
    }
    }
    public void getCoordenadas() {
    // AQUI SOLO SACO EL MENSAJE CON LAS COORDENADAS Y IMPRIMO EL TABLERO(EL ARRAY)
    System.out.println("Estas es la coordenada x: " + posicion_x + " y esta la coordenada y: " + posicion_y);
    for (int i = 0; i < tamañoTablero; i++) {
    for (int j = 0; j < tamañoTablero; j++) {
    System.out.print(tablero[i][j]);
    }
    System.out.println("");
    }
    }
    }

    • @Joel19879
      @Joel19879 6 років тому

      He leido varios ejemplos despues de hacerlo y nadie crea un arry bidimensional para usarlo como tabla, en mi opnion creo que habria que crearlo para tener un tablero donde poder mover la pieza, si no hay tablero solo estas moviendo la pieza de un lado para otro sin sentido.Agradeceria que alguien pudiera corregir el mio y darme su opinion, muchas gracias.

    • @Joel19879
      @Joel19879 6 років тому

      //Esta es la prueba bastante sencilla, creo el objeto y llamo a los metodos para moverlo
      package ejercicio2_Objetos;
      public class PruebaAjedrez {
      public static void main(String [] args) {
      Ajedrez ficha1=new Ajedrez();
      ficha1.arriba();
      ficha1.derecha();
      ficha1.abajo();
      ficha1.izquierda();
      ficha1.izquierda();
      }
      }

  • @marcoencinas1965
    @marcoencinas1965 3 роки тому

    Y si ese if que esta en el Main lo pongo dentro del constructor y desde ahi comparo si los lados son iguales entonces:
    if (lado1 == lado2) {
    this.lado1 = this.lado2 = lado1;
    } else {
    this.lado1 = lado1;
    this.lado2 = lado2;
    }
    ESTARÁ BIEN HACERLO ASI PORFAVOR ALGUIEN SAQUEME DE LA DUDA!

  • @diegogigena6350
    @diegogigena6350 3 роки тому

    De enserio ya no está?? Yo hoy conocí su canal, y me salvó de un trabajo...., solo quería decirte gracias

  • @joseestrada1812
    @joseestrada1812 5 років тому

    Disculpa el curso esta en dolares verdad?

  • @Ochins36
    @Ochins36 3 роки тому

    Ejercicio 2.
    public class Tablero {
    private int x;
    private int y;
    public Tablero(int x, int y) {
    this.x = x;
    this.y = y;
    }
    public int getX() { return x; }
    public void setX(int x) { this.x = x; }
    public int getY() { return y; }
    public void setY(int y) { this.y = y; }
    public int arriba(int y) { return this.y += y; }
    public int abajo(int y) { return this.y -= y; }
    public int izquierda(int x) { return this.x -= x; }
    public int derecha(int x) { return this.x += x; }
    }
    Main
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    out.print("Ingresa x: ");
    int x = sc.nextInt();
    out.print("Ingresa y: ");
    int y = sc.nextInt();
    Tablero tablero = new Tablero(x, y);
    boolean condicion = true;
    int movimiento = 0;
    bucle:
    do {
    out.println("""
    *** Menú ***
    1. Mover arriba
    2. Mover abajo
    3. Mover derecha
    4. Mover izquierda
    5. Salir
    """);
    out.print("Selecciona una opción ---> ");
    int opcion = sc.nextInt();
    switch (opcion) {
    case 1,2,3,4 -> {
    out.print("Ingresa la cantidad de espacios a moverse: ");
    movimiento = sc.nextInt();
    }
    case 5 -> { break bucle; }
    }
    switch (opcion) {
    case 1 -> tablero.arriba(movimiento);
    case 2 -> tablero.abajo(movimiento);
    case 3 -> tablero.derecha(movimiento);
    case 4 -> tablero.izquierda(movimiento);
    }
    out.println("Posición actual: x = " + tablero.getX() + ", y = " + tablero.getY());
    } while (condicion);
    }

  • @thelinkdero
    @thelinkdero 2 роки тому

    Mi solución al Ejercicio 2
    package Paquete1;
    public class Tablero {

    //Atributo Constantes
    private final char Arriba = 'w';
    private final char Abajo = 's';
    private final char Izquierda = 'a';
    private final char Derecha= 'd';

    private final char Arriba2 = 'W';
    private final char Abajo2 = 'S';
    private final char Izquierda2 = 'A';
    private final char Derecha2 = 'D';

    private final char Salir = 'Q';
    private final char Salir2 = 'q';

    public char getArriba() {
    return Arriba;
    }
    public char getAbajo() {
    return Abajo;
    }
    public char getIzquierda() {
    return Izquierda;
    }
    public char getDerecha() {
    return Derecha;
    }
    public char getArriba2() {
    return Arriba2;
    }
    public char getAbajo2() {
    return Abajo2;
    }
    public char getIzquierda2() {
    return Izquierda2;
    }
    public char getDerecha2() {
    return Derecha2;
    }
    public char getSalir() {
    return Salir;
    }

    public char getSalir2() {
    return Salir2;
    }
    }
    package Paquete1;
    import javax.swing.JOptionPane;
    public class Main {
    public static void main (String[] arg){
    Tablero op = new Tablero ();
    op.getAbajo();
    op.getAbajo2();
    op.getArriba();
    op.getArriba2();
    op.getDerecha();
    op.getDerecha2();
    op.getIzquierda();
    op.getIzquierda2();
    op.getSalir();
    op.getSalir2();

    int x=0;
    int y=0;

    boolean salir = false;

    do{
    char posición = JOptionPane.showInputDialog("Seleccione la alguna de las siguientes teclas
    W = Subir
    S = Bajar
    A = Izquierda
    D = Derecha
    Q = Salir").charAt(0);
    if (posición == op.getAbajo() || posición == op.getAbajo2()){
    y--;
    System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]");
    }else if (posición == op.getArriba() || posición == op.getArriba2()){
    y++;
    System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]");
    }else if (posición == op.getIzquierda() || posición == op.getIzquierda2()){
    x--;
    System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]");
    }else if (posición == op.getDerecha() || posición == op.getDerecha()){
    x++;
    System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]");
    }else if (posición == op.getSalir() || posición == op.getSalir2()){
    salir = true;
    }else {
    System.out.println("Bro, esa tecla no esta en el menu");
    }

    } while (salir == false);

    }
    }

  • @IranPadillayoiran
    @IranPadillayoiran 7 років тому +1

    el programa que usa donde lo consigo

    •  7 років тому

      el IDE es Netbeans :)

    • @estefaniaantonio4437
      @estefaniaantonio4437 6 років тому +1

      lo tines que descargar de oracle, ahi te descragas el Netbeans y el JDK

    • @JeanS.Garzon-if9ty
      @JeanS.Garzon-if9ty 6 років тому

      El IDE incorpora el JDK, no ?

  • @morawill7646
    @morawill7646 5 років тому +1

    /*
    Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice
    su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA.
    Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero.
    */
    package paquete1;
    import javax.swing.JOptionPane;
    public class Clase {

    // Atributos

    int x=0;
    int y=0;
    char mov;


    // Metodos


    public int getXDerecha(){
    int Derecha = x++;
    return Derecha;
    }
    public int getXIzquierda(){
    int Izquierda = x--;
    return Izquierda;
    }
    public int getYArriba(){
    int Arriba = y++;
    return Arriba;
    }
    public int getXAbajo(){
    int Abajo = y--;
    return Abajo;
    }



    public void MostrarPosicion( char mov){

    switch (mov) {
    case 'A':
    JOptionPane.showMessageDialog(null, "Se Desplazó hacia Arriba!
    Su nueva posicion es:: ("+x+" , "+y+")");
    break;
    case 'B':
    JOptionPane.showMessageDialog(null, "Se Desplazó hacia Abajo!
    Su nueva posicion es:: ("+x+" , "+y+")");
    break;
    case 'C':
    JOptionPane.showMessageDialog(null, "Se Desplazó hacia Izquierda!
    Su nueva posicion es:: ("+x+" , "+y+")");
    break;
    case 'D':
    JOptionPane.showMessageDialog(null, "Se Desplazó hacia Derecha!
    Su nueva posicion es:: ("+x+" , "+y+")");
    break;
    default:
    break;
    }

    }

    public static void main( String [] args){

    Clase auto1 = new Clase();

    char movimiento;

    do{

    movimiento = JOptionPane.showInputDialog("¿ Hacia donde desea desplazarse ?"
    +"
    A = Arriba"
    +"
    B = ABajo"
    +"
    C = Izquierda"
    +"
    D = Derecha"
    +"
    E = Salir").charAt(0);



    switch(movimiento){


    case 'A': auto1.getYArriba(); auto1.MostrarPosicion(movimiento); break;

    case 'B': auto1.getXAbajo(); auto1.MostrarPosicion(movimiento);break;

    case 'C': auto1.getXIzquierda(); auto1.MostrarPosicion(movimiento); break;

    case 'D': auto1.getXDerecha(); auto1.MostrarPosicion(movimiento);break;

    case 'E': JOptionPane.showMessageDialog(null, "ADIOS!!");;break;
    default: JOptionPane.showMessageDialog(null, "Opcion incorrecta!!");

    }
    }while(movimiento != 'E');


    }




    }

  • @cosmefulanito1224
    @cosmefulanito1224 5 років тому

    Con su respectivo tablero o eso creo xD
    package clasesej2;
    public class Tablero {

    int x,y;
    public Tablero(int x, int y) {
    this.x = x;
    this.y = y;}
    public void arriba() {
    y++;
    System.out.println("Posición: "+x+","+y);}
    public void abajo() {
    y--;
    System.out.println("Posición: "+x+","+y);}

    public void derecha() {
    x++;
    System.out.println("Posición: "+x+","+y);}
    public void izquierda() {
    x--;
    System.out.println("Posición: "+x+","+y);}
    Clase principal
    Scanner teclado=new Scanner(System.in);
    char d;
    int x=0,y=0;
    Tablero peon=new Tablero(0,0);

    System.out.println("Empezemos a jugar");
    System.out.println("Presiona O para salir del juego");
    System.out.println("Presiona W para ir arriba
    Presiona S para ir abajo
    "
    + "Presiona A para ir a la izquierda
    Presiona D para ir a la derecha");
    System.out.println("Comienzas en la posición 0,0");

    do{d=teclado.next().charAt(0);
    switch(d){

    case 'W':
    case 'w':if(y>=0 && y0 && y0 && x=0 && x

  • @BioDetermination
    @BioDetermination 7 років тому

    Te recomiendo colocar como ejercicios propuestos temas de matemáticas discretas.
    Ejemplo: Un programa que imprima por pantalla el día de la semana a partir de la fecha ingresada.
    Pista: puedes usar la congruencia de Zeller para resolver.

  • @randoms8327
    @randoms8327 4 роки тому

    Así fue como lo hice :v veo el de los demás y creo que me compliqué demasiado XD
    ///ClaseTablero
    package ejercicio_dos;
    import javax.swing.JOptionPane;
    public class Tablero {
    private final String nomObjeto = "Shiva";
    private final String carObjeto = "Destructor";
    private int dañoObj = 10;
    private int coordenadaX, coordenadaY;
    String tablero[][]=new String[4][4];
    public Tablero(int coordenadaX, int coordenadaY) {
    this.coordenadaX = coordenadaX;
    this.coordenadaY = coordenadaY;
    tablero[coordenadaX][coordenadaY] = getObjeto();
    }
    public void setDaño(int dañoObj) {
    this.dañoObj = dañoObj;
    }
    public void leftCoordenadaX(){
    if (coordenadaY!=0) {
    coordenadaY--;
    tablero[coordenadaX][coordenadaY]=getObjeto();
    } else {
    JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared.");
    }
    }

    public void rigthCoordenadaX(){
    if (coordenadaY==(tablero.length-1)) {
    JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared.");
    } else {
    coordenadaY++;
    tablero[coordenadaX][coordenadaY]=getObjeto();
    }
    }

    public void upCoordenadaY(){
    if (coordenadaX!=0) {
    coordenadaX--;
    tablero[coordenadaX][coordenadaY]=getObjeto();
    } else {
    JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared.");
    }
    }

    public void downCoordenadaY(){
    if (coordenadaX==(tablero.length-1)) {
    JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared.");
    } else {
    coordenadaX++;
    tablero[coordenadaX][coordenadaY]=getObjeto();
    }
    }
    public String getObjeto() {
    return nomObjeto + '
    ' + "Tipo: " + carObjeto + '
    ' +"Daño: "+ dañoObj+" pts";
    }

    public String toString(){
    return "Personaje: " + getObjeto() + "
    Se encuentra en las coordenadas:
    "+ "["+(coordenadaX+1)+"]"+ "["+(coordenadaY+1)+"]";
    }
    }
    /////Clase Main
    package ejercicio_dos;
    import javax.swing.JOptionPane;
    public class main {
    public static void main(String[] args) {
    int coordenadaX, coordenadaY, dañoObj;
    String opciones[] = {"Izquierda", "Arriba", "Abajo", "Derecha", "Salir"};
    coordenadaX = Integer.parseInt(JOptionPane.showInputDialog("Ingresa la posición en X de tu héroe en un tablero de 4x4"));
    coordenadaY = Integer.parseInt(JOptionPane.showInputDialog("Ingresa la posición en Y de tu héroe en un tablero de 4x4"));
    coordenadaX--;
    coordenadaY--;
    Tablero obj = new Tablero(coordenadaX, coordenadaY);
    do {
    int seleccion = JOptionPane.showOptionDialog(null, "Mover hacia", "Mover", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, opciones, opciones[0]);
    switch (seleccion) {
    case 0:
    obj.leftCoordenadaX();
    JOptionPane.showMessageDialog(null, obj.toString());
    break;
    case 1:
    obj.upCoordenadaY();
    JOptionPane.showMessageDialog(null, obj.toString());
    break;
    case 2:
    obj.downCoordenadaY();
    JOptionPane.showMessageDialog(null, obj.toString());
    break;
    case 3:
    obj.rigthCoordenadaX();
    JOptionPane.showMessageDialog(null, obj.toString());
    break;
    default:
    System.exit(0);
    break;
    }
    } while (true);
    }
    }

  • @ALFREDOOCHOA-k9f
    @ALFREDOOCHOA-k9f 2 місяці тому +2

    jajaj q riko bideo

  • @tediblu3400
    @tediblu3400 Рік тому

    Ejercicio #2 ( Me tomó unas horas de darme cuenta que soy un gil, pero lo logré y estoy feliz de mover un puto circulo) así lo interpreté yo :
    *Clase Tablero*
    package paquete1;
    public class Tablero {

    public int y;
    public int x;
    public int posiciony;
    public int posicionx;

    //MAPA ORIGINAL.
    public void rellenarTabla(char[][] tabla){
    for(x = 0 ; x < tabla.length ; x++){
    for(y = 0 ; y < tabla[x].length ; y++){
    if(x == 2 && y == 2){
    tabla[x][y] = 'o';
    posiciony = y;
    posicionx = x;
    }
    else{
    tabla[x][y] = '-';
    }
    }
    }
    }

    //MOVIMIENTOS.
    public void arriba(char[][] tabla){
    tabla[posicionx-1][posiciony]=tabla[posicionx][posiciony];
    tabla[posicionx][posiciony] = '-';
    posicionx-=1;
    }
    public void abajo(char[][] tabla){
    tabla[posicionx+1][posiciony]=tabla[posicionx][posiciony];
    tabla[posicionx][posiciony] = '-';
    posicionx+=1;
    }
    public void izquierda(char[][] tabla){
    tabla[posicionx][posiciony-1]=tabla[posicionx][posiciony];
    tabla[posicionx][posiciony] = '-';
    posiciony-=1;
    }
    public void derecha(char[][] tabla){
    tabla[posicionx][posiciony+1]=tabla[posicionx][posiciony];
    tabla[posicionx][posiciony] = '-';
    posiciony+=1;
    }

    //MOSTRAR TABLA.
    public void mostrarTabla(char[][] tabla){
    for(int i = 0 ; i < tabla.length ; i++){
    for(int j = 0 ; j < tabla[i].length ; j++){
    System.out.print(tabla[i][j]+" ");
    }
    System.out.println("");
    }

    }

    }
    *Clase Pantalla* ( la main )
    package paquete1;
    import javax.swing.JOptionPane;
    public class Pantalla {
    public static void main(String[] args){
    char[][] tabla = new char[5][5];
    Tablero t1 = new Tablero();
    char mover;

    t1.rellenarTabla(tabla);

    t1.mostrarTabla(tabla);

    System.out.println("");
    do{
    mover = JOptionPane.showInputDialog("Hacia donde se quiere mover?
    Arriba(w)
    Abajo(s)
    Izquierda(a)
    Derecha(d)
    Reiniciar(r)

    Si desa salir, escriba (x)").charAt(0);
    switch(mover){
    case 'w': t1.arriba(tabla);break;
    case 'a': t1.izquierda(tabla);break;
    case 's': t1.abajo(tabla);break;
    case 'd': t1.derecha(tabla);break;
    case 'r': t1.rellenarTabla(tabla);break;
    }
    t1.mostrarTabla(tabla);

    System.out.println("");

    }while(mover != 'x');
    }
    }

  • @coolhatena5825
    @coolhatena5825 3 роки тому

    Ejercicio #2
    Lo hice de manera en la que el tablero pudiera ser visto graficamente con una matriz
    ///////////////////
    Clase Main
    ///////////////////
    package paquete1;
    import javax.swing.JOptionPane;
    public class Main {
    public static void main(String [] args){
    //Declaraciones
    int tablero[][] = new int[9][9];

    Tablero t1 = new Tablero();
    char opcion;
    String ulmov = "";

    //Ejecucion

    tablero[t1.getVer()][t1.getHor()] = 1;
    for (int i = 0; i < 9; i++) {
    for (int j = 0; j < 9; j++) {
    System.out.print(tablero[i][j]+" ");
    }
    System.out.println("");
    } System.out.println("");

    do {
    opcion = JOptionPane.showInputDialog("Posicion actual: ["+t1.getVer()+"]["+t1.getHor()+"]
    Ultimo movimiento: "+ulmov+"

    Elija alguna de las opciones:
    W = mover arriba
    S = mover abajo
    A = mover a la izquierda
    D = Mover a la derecha
    X = Salir").charAt(0);

    //Ir hacia arriba
    if ((opcion == 'w') || (opcion == 'W')) {
    tablero[t1.getVer()][t1.getHor()] = 0;
    t1.arriba();
    tablero[t1.getVer()][t1.getHor()] = 1;
    ulmov = "Hacia arriba";

    //Ir hacia abajo
    } else if ((opcion == 's') || (opcion == 'S')) {
    tablero[t1.getVer()][t1.getHor()] = 0;
    t1.abajo();
    tablero[t1.getVer()][t1.getHor()] = 1;
    ulmov = "Hacia abajo";

    //Ir hacia la derecha
    } else if ((opcion == 'd') || (opcion == 'D')) {
    tablero[t1.getVer()][t1.getHor()] = 0;
    t1.derecha();
    tablero[t1.getVer()][t1.getHor()] = 1;
    ulmov = "Hacia la derecha";
    }

    //Ir a la izquierda
    else if ((opcion == 'a') || (opcion == 'A')) {
    tablero[t1.getVer()][t1.getHor()] = 0;
    t1.izquierda();
    tablero[t1.getVer()][t1.getHor()] = 1;
    ulmov = "Hacia la izquierda";
    }

    for (int i = 0; i < 9; i++) {
    for (int j = 0; j < 9; j++) {
    System.out.print(tablero[i][j]+" ");
    }
    System.out.println("");
    } System.out.println("
    ");

    } while ((opcion != 'x') && (opcion != 'X'));


    }
    }
    ///////////////////
    Clase Tablero
    ///////////////////
    package paquete1;
    public class Tablero extends Main{
    //atributos

    private int ver = 0,hor = 0;

    //metodos
    public Tablero() {
    }


    //Mover hacia arriba
    public int arriba(){
    if (ver - 18) {
    System.out.println("
    No es posible ir hacia abajo
    ");
    } else {
    ver = ver + 1;
    }

    return ver;
    }

    //Mover a la izquierda
    public int izquierda(){
    if (hor-18) {
    System.out.println("No se puede ir a la derecha");
    } else {
    hor = hor + 1;
    }
    return hor;
    }
    //Getters
    public int getHor() {
    return hor;
    }
    public int getVer() {
    return ver;
    }

    }

  • @Aleexbs
    @Aleexbs 6 років тому

    Hola amigo! Me encanta tus videos y sigo todos tus ejercicio! eres increíble dando clases mas por tu forma motivadora de enseñar. Una pregunta, cual es la diferencia de usar el metodo public floar getArea .. a usar un metrodo vacio como public void Area e imprimir el resultado en el mismo metodo ? Es mas profecionar usar el return ?

  • @kunashikun97
    @kunashikun97 3 роки тому +2

    Despues de mucho pensar que no podia, les adjunto mi ejercicio 2 :D
    //MAIN
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package Main;
    import java.util.*;
    /**
    *
    * @author Stuart
    */
    public class Main {
    //Metodo main
    public static void main(String[] args) {
    boolean Salida=false;
    int x,y,numero;
    String Movimiento;
    Scanner Leer = new Scanner(System.in);

    System.out.println("Este programa permitira dirigir el movimiento de un objeto dentro de un tablero");
    System.out.println("
    Actualizara su posicion dentro del mismo");
    System.out.println("
    Ingrese las coordenadas en x:");
    x=Leer.nextInt();
    System.out.println("
    Ingrese las coordenas en y:");
    y=Leer.nextInt();
    System.out.println("
    Los movimientos posibles son: ");
    System.out.println("
    Arriba W");
    System.out.println("
    Abajo S");
    System.out.println("
    Izquierda A");
    System.out.println("
    Derecha D");
    System.out.println("
    Salir");
    System.out.println("Ingrese su movimiento");
    Movimiento=Leer.nextLine();
    Tablero movimientos=new Tablero(x,y);
    do{
    switch(Movimiento){
    case "W":
    System.out.println("Cuantos espacios desea moverse arriba: ");
    numero=Leer.nextInt();
    movimientos.moverArriba(numero);
    break;
    case "A":
    System.out.println("Cuantos espacios desea moverse abajo: ");
    numero=Leer.nextInt();
    movimientos.moverAbajo(numero);
    break;
    case "S":
    System.out.println("Cuantos espacios desea moverse izquierda: ");
    numero=Leer.nextInt();
    movimientos.moverIzquierda(numero);
    break;
    case "D":
    System.out.println("Cuantos espacios desea moverse derecha: ");
    numero=Leer.nextInt();
    movimientos.moverDerecha(numero);
    break;
    default:
    System.out.println("No elegiste un movimiento valido");
    break;
    }
    System.out.println("La posicion en (x/y) es: ("+movimientos.getX()+","+movimientos.getY()+")");
    System.out.println("
    Los movimientos posibles son: ");
    System.out.println("
    Arriba W");
    System.out.println("
    Abajo S");
    System.out.println("
    Izquierda A");
    System.out.println("
    Derecha D");
    System.out.println("
    Salir");
    System.out.println("Ingrese su movimiento");
    Movimiento=Leer.nextLine();
    if(Movimiento=="E"){
    Salida=true;
    }
    }while(!Salida); }

    }
    Clase tablero
    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package Main;
    /**
    *
    * @author Stuart
    */
    public class Tablero {
    private int x;
    private int y;
    public Tablero(int x, int y) {
    this.x = x;
    this.y = y;
    }
    public int getX() {
    return x;
    }
    public void moverArriba(int n) {
    this.y += n;
    }
    public void moverAbajo(int n) {
    this.y -= n;
    }
    public void moverIzquierda(int n) {
    this.x += n;
    }
    public void moverDerecha(int n) {
    this.x -= n;
    }
    public int getY() {
    return this.y;
    }

    }

  • @Loko0055x
    @Loko0055x Рік тому

    Bueno luego de 8 meses vuelvo al curso de POO pero solo a resolver los problemas
    public class principal{
    private int x;
    private int y;
    //bueno asi lo entendi xD la verdad
    public Principal(int x, int y) {
    this.x = x;
    this.y = y;
    }
    public void moverArriba() {
    y++;
    }
    public void moverAbajo() {
    y--;
    }
    public void moverDerecha() {
    x++;
    }
    public void moverIzquierda() {
    x--;
    }
    public int getX() {
    return x;
    }
    public int getY() {
    return y;
    }
    static Scanner s = new Scanner(System.in);
    public static void main(String[] args) {
    System.out.println("Digite numero 1 o EJE X");
    int n1 = s.nextInt();
    System.out.println("Digite numero 2 o EJE Y");
    int n2 = s.nextInt();
    System.out.println("Arriba (W)");
    System.out.println("Abajo (S)");
    System.out.println("Derecha (D)");
    System.out.println("Izquierda es (A)");
    System.out.println("CANCELAR (C)");
    System.out.println("
    (" + n1 + " , " + n2 + ")");
    Menu(n1, n2);
    }
    public static void Menu(int n1, int n2) {
    tablero tabla = new tablero(n1, n2);
    while (true) {
    System.out.println("Digite Opcion");
    String opcion = s.next();
    if (opcion.equalsIgnoreCase("W")) {
    tabla.moverArriba();
    } else if (opcion.equalsIgnoreCase("S")) {
    tabla.moverAbajo();
    } else if (opcion.equalsIgnoreCase("D")) {
    tabla.moverDerecha();
    } else if (opcion.equalsIgnoreCase("A")) {
    tabla.moverIzquierda();
    } else {
    break;
    }
    System.out.println("(" + tabla.getX() + "), " + "(" + tabla.getY() + ")");
    }
    }

  • @lainbot6973
    @lainbot6973 7 років тому +1

    Hice esto:
    para la clase:
    package Movimiento;
    public class Ejercicio2 {
    private char movimiento ;
    public Ejercicio2(char movimiento) {
    this.movimiento = movimiento;
    }
    public void getDireccion(){
    if(movimiento == 'a'){
    System.out.println("DERECHA");
    } else if (movimiento == 'd'){
    System.out.println("IZQUIERDA");
    }else if (movimiento == 's'){
    System.out.println("ABAJO");
    } else if (movimiento == 'd'){
    System.out.println("ARRIBA");
    }
    }
    }
    el main:
    package Movimiento;
    import java.util.Scanner;
    public class Main {
    public static void main(String[] args){
    Scanner entrada = new Scanner(System.in);
    Ejercicio2 m1;
    int x = 0, y = 0;
    char key;
    boolean game = false;
    System.out.println("Ingrese una direccion: ");
    key = entrada.next().charAt(0);
    if(key == 'a'){
    m1 = new Ejercicio2(key);
    m1.getDireccion();
    x++;
    System.out.println("las nueva coordenada es:" +x+ ","+y);
    }else if(key =='d'){
    m1 = new Ejercicio2(key);
    m1.getDireccion();
    if(x == 0){
    System.out.println("no se puede mover para la izquierda");
    }else{
    x--;
    System.out.println("las nuevas coordenada es:" +x+ ","+y);
    }
    }
    }
    }