Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - jonatthan23

Páginas: [1]
2
Hola amigos, ahora estoy haciendo una aplicación web en java y estoy atorado, me debe mostrar el área y el perímetro de un triangulo,  no me muestra el perímetro de un triangulo, si me muestra el área pero el perímetro no, dejo el código.

Muchas gracias.

Esta es la clase java

Código: [Seleccionar]
package calculos;

/**
 *
 * @author Jon
 */
public final class Triangulo {
   
    private int base;
    private int altura;
    private int area;
    private int perimetro;
   
   
    public Triangulo(String n1, String n2)
    {
        this.setBase(Integer.parseInt(n1));
        this.setAltura(Integer.parseInt(n2));
    }
   
    public void sacarArea()
    {
        int t=this.getBase()*getAltura()/2;
        this.setArea(t);
    }
   
     public void sacarPerimetro()
    {
        int p=this.getBase()+getBase()+getBase();
        this.setPerimetro(p);
    }
   
    public int getBase(){
        return base;
    }
   
    public void setBase(int base){
        this.base = base;
    }
   
    public int getAltura(){
        return altura;
    }
   
     public void setAltura(int altura){
        this.altura = altura;
    }
     
     public int getArea(){
        return area;
    }
   
     public void setArea(int area){
        this.area = area;
    }
     
     public int getPerimetro(){
        return perimetro;
    }

    private void setPerimetro(int perimetro) {
        this.perimetro = perimetro;
    }
 
}


Este es el JSP

Código: [Seleccionar]
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="calculos.Triangulo" %>
<!DOCTYPE html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
   
        <h1>Área Triángulo</h1>
        <%
            String n1=request.getParameter("base");
            String n2=request.getParameter("altura");
                     
            Triangulo t=new Triangulo(n1,n2);
            t.sacarArea();
            int area=t.getArea();
           
            Triangulo p=new Triangulo(n1,n2);
            t.sacarPerimetro();
            int perimetro=p.getPerimetro();
        %>
       
        <%=area%>
       
        <h2>Perímetro Triángulo</h2>
       
        <%=perimetro%>


Este es el index:

Código: [Seleccionar]
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>Área Triángulo
            <form action="Areajsp.jsp" method="post">
                Base:<br>
                <input type="text" name="base" value=""><br>
                Altura:<br>
                <input type="text" name="altura" value=""><br><br>
                <input type="submit" value="Area">
            </form>               
        </div>
    </body>
</html>

3
Esta es mi clase cita

Código: [Seleccionar]
package clinica;

import javax.swing.JOptionPane;

public final class Cita {

private String id;
private String fecha;
private String hora;
private String motivo;
private Doctor doctor;
private Paciente paciente;

public String generaLineaCSV() {
    return String.format("%s;%s;%s;%s;%s;%s\n", id, fecha, hora, motivo, doctor, paciente); 
}

public Cita(String id, String fecha, String hora, String motivo, Doctor doctor, Paciente paciente) {
this.id = id;
this.fecha = fecha;
this.hora = hora;
this.motivo = motivo;

}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getFecha() {
return fecha;
}

public void setFecha(String fecha) {
this.fecha = fecha;
}

public String getHora() {
return hora;
}

public void setHora(String hora) {
this.hora = hora;
}

public String getMotivo() {
return motivo;
}

public void setMotivo(String motivo) {
this.motivo = motivo;
}

public Doctor getDoctor() {
return doctor;
}

public void setDoctor(Doctor doctor) {
this.doctor = doctor;
}

public Paciente getPaciente() {
return paciente;
}

public void setPaciente(Paciente paciente) {
this.paciente = paciente;
}


/**
* Muestra por panel todos los datos de la cita
*/
public void mostrar() {
String mensaje = "\nid cita: " + id + "\nFecha: " + fecha
+ "\nHora: " + hora + "\nMotivo: " + motivo;
JOptionPane.showMessageDialog(null, mensaje, "Mostrar Cita", JOptionPane.INFORMATION_MESSAGE);
}
}

4
Hola, en la clase GestorCita hice los cambios para ligar un doctor y un paciente y me marca error

Código: [Seleccionar]
public boolean nuevoCita() {
String id = JOptionPane.showInputDialog(null, "Introduzca Identificador:", "Nuevo Cita", JOptionPane.QUESTION_MESSAGE);
String fecha = JOptionPane.showInputDialog(null, "Fecha:", "Nuevo Fecha", JOptionPane.QUESTION_MESSAGE);
String hora = JOptionPane.showInputDialog(null, "Hora:", "Nuevo Hora", JOptionPane.QUESTION_MESSAGE);
String motivo = JOptionPane.showInputDialog(null, "Motivo:", "Nuevo Motivo", JOptionPane.QUESTION_MESSAGE);
Doctor doctor = JOptionPane.showInputDialog(null, "Doctor:", "Nuevo Doctor", JOptionPane.QUESTION_MESSAGE);
Paciente paciente = JOptionPane.showInputDialog(null, "Paciente:", "Nuevo Paciente", JOptionPane.QUESTION_MESSAGE);

Cita nuevoCita = new Cita(id, fecha, hora, motivo, doctor, paciente);
return citas.add(nuevoCita);
//Devuelve TRUE si se insertó correctamente, FALSE si no se pudo insertar
}

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
   Type mismatch: cannot convert from String to Doctor
   Type mismatch: cannot convert from String to Paciente

   at clinica.GestorCita.nuevoCita(GestorCita.java:54)
   at clinica.TestClinica.main(TestClinica.java:28)

5
Hola de nuevo, acerca de los archivos CSV, ¿cada vez que corro el programa me crea un archivo nuevo o sobreescribe la informacion?

Lo que busco es que cada vez que ingrese un administrador se vayan agregando nuevos doctores, pacientes, citas a las ya existentes y poder ir agregando y almacenando la informacion.

Te comparto un par de clases ya con el código:

Muchas gracias de nuevo


Clase con el main:

Código: [Seleccionar]
package clinica;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public final class TestClinica {

private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorCita citas = new GestorCita();
static GestorDoctor doctores = new GestorDoctor();


public static void main(String[] args) {

crearAdmins();

if (validarAcceso()) {
         System.out.println("\nUsuario autorizado\n");
         doctores.nuevoDoctor();
         doctores.modificarDoctor();
         doctores.mostrarDoctores();
         pacientes.nuevoPaciente();
         pacientes.mostrarPacientes();
         pacientes.modificarPaciente();
         pacientes.borrarPaciente();
         citas.nuevoCita();
         citas.mostrarCitas();
         doctores.crearCSV();
         citas.crearCSV();
         pacientes.crearCSV();
      }
      else
         System.out.println("\nUsuario no autorizado.");

      System.out.println("\t\tFIN DE PROGRAMA");

   }


Clase paciente:

Código: [Seleccionar]
package clinica;

import javax.swing.JOptionPane;

public class Paciente {


private String id;
private String nombre;
private String apellidos;

public String generaLineaCSV() {
      return String.format("%s;%s;%s;%s\n", id, nombre, apellidos); 
}


public Paciente(String id, String nombre, String apellidos) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;

}


Clase gestorPaciente:


Código: [Seleccionar]
package clinica;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

import javax.swing.JOptionPane;

public final class GestorPacientes {

private ArrayList<Paciente> pacientes;

public void crearCSV() {

File archivo = new File("C:/csv/pacientes.csv");

try {
//Si no existe archivo, intentamos crearlo
if (!archivo.exists()) {
File carpeta = archivo.getParentFile();
carpeta.mkdirs();
archivo.createNewFile();
}

FileWriter escritor = new FileWriter(archivo);
//Cabecera para datos del CSV
escritor.append("#ID;Nombre;Apellidos\n");

//Datos de los pacientes
for (Paciente doc: pacientes)
escritor.append(doc.generaLineaCSV());//Insertamos linea CSV

escritor.close();
} catch (IOException e) {
System.out.println("Error de acceso a: " + archivo.getAbsolutePath());
}
}

6
Muchas gracias eres un master :)
ya estoy trabajando en ello, lo ultimo que me hace falta para terminar es lo siguiente
Relacionar una cita con un doctor y un paciente.
me ayudas con este por favor?
Saludos desde Los Cabos, México.

7
Hola de nuevo. Qué bueno que ya tienes teclado nuevo jeje.

Ya hice la clase administrador y funciona muy bien gracias, ahora lo que quiero es que despues de autentificar con el usuario siga corriendo el programa que ya tengo, despues de pedir usuario y contraseña, que siga con el nuevo doctor y asi sucesivamente.

También cómo puedo ir guardando los datos en un archivo CSV.

Muchas gracias por tu ayuda...

Te dejo el código :

Código: [Seleccionar]
package clinica;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public final class TestClinica {

private static ArrayList<Administrador> administradores = new ArrayList<Administrador>();
private static Scanner teclado = new Scanner(System.in);
static GestorPacientes pacientes = new GestorPacientes();
static GestorCita citas = new GestorCita();
static GestorDoctor doctores = new GestorDoctor();


public static void main(String[] args) {

crearAdmins();

if (validarAcceso()) {
System.out.println("\nUsuario autorizado\n");
//Comienza el programa
//...
//...
//...
//...
}
else
System.out.println("\nUsuario no autorizado.");

System.out.println("\n\t\tFIN DE PROGRAMA");

}

private static void crearAdmins() {
administradores.add(new Administrador("Kabuto", "1234"));
administradores.add(new Administrador("jonatthan23", "5678"));
administradores.add(new Administrador("Ogramar", "0000"));
}

private static boolean validarAcceso( ) {

System.out.println("ACCESO AL SISTEMA");
System.out.println("------ -- -------\n");
System.out.print("Nombre: ");
String nombre = teclado.nextLine();
System.out.print("Password: ");
String password = teclado.nextLine();

Administrador admin = new Administrador(nombre, password);

return administradores.contains(admin);
}
{
doctores.nuevoDoctor();
doctores.modificarDoctor();
doctores.mostrarDoctores();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.borrarPaciente();
citas.nuevoCita();
citas.mostrarCitas();

}

}

8
Hola, gracias por tu respuesta, esto es lo que piden de los usuarios

Tener control de acceso mediante administradores, esto es, solo ciertos usuarios podrán acceder al sistema mediante un identificador y una contraseña.

ya estoy trabajando en todas las clases y cree una clase main y ya aparecen los mensajes en pantalla para llenarlos.

saludos.

9
Muchas gracias Kabuto por tu respuesta me ayudo mucho, ya termine las clases Paciente y Cita y estoy trabajando en unas clases gestoras de estas clases, tengo la clase GestorPacientes, te dejo el codigo de la clase main a ver que te parece: tambien podrias ayudarme con el codigo Tener control de acceso mediante administradores: solo ciertos usuarios podrán acceder al sistema mediante un identificador y una contraseña. De este no tengo ni idea.
Muchas gracias...

Código: [Seleccionar]
package clinica;

public final class TestClinica {

static GestorPacientes pacientes = new GestorPacientes();

public static void main(String[] args) {

pacientes.nuevoPaciente();
pacientes.nuevoPaciente();
pacientes.mostrarPacientes();
pacientes.modificarPaciente();
pacientes.mostrarPacientes();
pacientes.borrarPaciente();
pacientes.mostrarPacientes();

}

}

10
Hola Kabuto,
Muchas gracias por responder, te dejo el codigo la clase doctor, te comento que no me manda la pantalla para ingresar la informacion pero no me marca errores:

Código: [Seleccionar]
package clinica;

import javax.swing.JOptionPane;


public class doctor {

public static void main(String[] args) {}

private String id;
private String nombre;
private String apellidos;
private String especialidad;

public doctor(String id, String nombre, String apellidos, String especialidad) {
this.id = id;
this.nombre = nombre;
this.apellidos = apellidos;
this.especialidad = especialidad;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getApellidos() {
return apellidos;
}

public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}

public String getEspecialidad() {
return especialidad;
}

public void setEspecialidad(String especialidad) {
this.especialidad = especialidad;
}

/**
* Muestra por panel todos los datos del doctor
*/
public void mostrar() {
String mensaje = "ID doctor: " + id + "\nNombre: " + nombre
+ "\nApellidos: " + apellidos + "\nEspecialidad: " + especialidad;
JOptionPane.showMessageDialog(null, mensaje, "Mostrar doctor", JOptionPane.INFORMATION_MESSAGE);
}

}

11
Hola a todos, soy nuevo en programacion y tengo un problema que no puedo resolver, me ayudan por favor con el codigo en java??

El problema es este:

Crear un programa que simulará un sistema de administración de citas para un consultorio clínico. El programa deberá poder realizar las siguientes acciones:

• Dar de alta doctores.
• Dar de alta pacientes.
• Crear una cita con fecha y hora.
• Relacionar una cita con un doctor y un paciente.
• Tener control de acceso mediante administradores, esto es, solo ciertos usuarios podrán acceder al sistema mediante un identificador y una contraseña.

El producto final será un programa que simulará un sistema de administración de citas con las siguientes funcionalidades:

• Dar de alta doctores: se deberán poder dar de alta los doctores del consultorio médico, los datos básicos serán:
• Identificador único.
• Nombre completo.
• Especialidad.
• Dar de alta pacientes: se deberán poder registrar los pacientes que acudan al consultorio médico, los datos básicos serán:
• Identificador único.
• Nombre completo.
• Crear una cita con fecha y hora: se deberán poder crear múltiples citas, los datos básicos serán:
• Identificador único.
• Fecha y hora de la cita.
• Motivo de la cita.
• Relacionar una cita con un doctor y un paciente: cada una de las citas creadas deberá estar relacionada con un doctor y un paciente.
• Tener control de acceso mediante administradores: solo ciertos usuarios podrán acceder al sistema mediante un identificador y una contraseña.

Gracias...

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".