Commit c9b06be4 by Cristhian Ortellado

Se termino el trabajo

parents
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class BitsNumber
*/
@WebServlet("/show-me-the-bits")
public class BitsNumber extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//generamos un PrintWriter para escribir en la pagina web
PrintWriter pr = new PrintWriter(resp.getOutputStream());
//generamos una cadena que indicara el error en caso de que pase
String pgError = "<body><h1>El valor de n es invalido, ingrese un numero de 0 a 65535</h1></body>";
try {
if(req.getParameter("n")!=null ) {
int n = parseDecimal(req.getParameter("n"));
//si no ocurrio ningun error entonces procedemos a realizar la conversion a bits
if(n>65535 || n<0) {
pr.write(pgError);
}else {
int [] numero = new int[16];
int aux=n;
for (int i = 0; n>0; i++) {
//si el resto al dividir por 2 es cero entonces cargamos
if(n%2==0) {
numero[i] = 0;
}else
numero[i]= 1;
n/=2;
}
String num="";
for (int i = 15; i >-1; i--) {
if(i==7)
num+=" === ";
num+="|"+numero[i];
}
//dibujamos el html
pr.write("<html>"
+ "<body style=' text-align:center'><h1>Los bits del numero "+aux+" son:</h1>"
+"<p style='font-size:5em'>"+num+"</p>"
+"</body>"
+ "</html>");
}
}else {
pr.write(pgError);
}
} catch (Exception e) {
pr.write(pgError);
}
pr.close();
}
public static int parseDecimal(String nro) throws IOException{
//primero vemos si es un numero hexadecimal
nro = nro.toLowerCase();
int n=0;
if(nro.length()>2 && (nro.substring(0, 2)).equals("0x") ) {
//convertimos el numero a decimal
nro = nro.substring(2);
n=Integer.parseInt(nro, 16);
}else if((nro.substring(0,1)).equals("0")) {
//es un numero en base 8
n = Integer.parseInt(nro,8);
}else {
//esta en formato decimal
n = Integer.parseInt(nro);
}
return n;
}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigInteger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class FactorialNumber
*/
@WebServlet("/factorial")
public class FactorialNumber extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//generamos un PrintWriter para escribir en la pagina web
PrintWriter pr = new PrintWriter(resp.getOutputStream());
//generamos una cadena que indicara el error en caso de que pase
String pgError = "<body><h1>El valor de n es invalido, ingrese un numero de 0 a 100</h1></body>";
try {
if(req.getParameter("n")!=null ) {
int n = Integer.parseInt(req.getParameter("n"));
//si no ocurrio ningun error entonces procedemos a calcular el factorial
if(n>100 || n<0) {
pr.write(pgError);
}else {
BigInteger factorial = BigInteger.valueOf(1);
if(n!=0)
{
for (int i = 2; i <= n; i++) {
BigInteger j = BigInteger.valueOf(i);
factorial=factorial.multiply(j);
}
}
//dibujamos el html
pr.write("<html>"
+ "<body style=' text-align:center'><h1>El factorial de "+n+" es:</h1>"
+"<p style='color:red'>"+factorial+"</p>"
+"</body>"
+ "</html>");
}
}else {
pr.write(pgError);
}
} catch (Exception e) {
pr.write(pgError);
}
pr.close();
}
}
Instrucciones
Estas son las clases creadas desde eclipse
Incluye el .war que contiene el proyecto con las clases y las clases aparte
\ No newline at end of file
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/tabla-multiplicar")
public class TablaMultiplicar extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//generamos un PrintWriter para escribir en la pagina web
PrintWriter pr = new PrintWriter(resp.getOutputStream());
//generamos una cadena que indicara el error en caso de que pase
String pgError = "<body><h1>No se puede generarla tabla de multiplicar. Valor del parametro n invalido</h1></body>";
try {
if(req.getParameter("n")!=null ) {
//si no ocurrio ningun error entonces procedemos a realizar las tablas
int n = Integer.parseInt(req.getParameter("n"));
if(n>100) {
pgError="Mi programa solo conoce la tabla de multiplicar hasta el nmero 100. El nmero pasado fue: "+n;
pr.write(pgError);
}else if(n<0) {
pgError = "Mi programa no sabe las tablas de multiplicar de nmeros negativos";
pr.write(pgError);
}else {
String[] tabla = new String[10];
String rowTable ="";
for (int i = 0; i < tabla.length; i++) {
tabla[i]=n+"*"+(i+1)+" = "+n*(i+1);
rowTable+="<tr><td style='padding:5px 10px'>"+tabla[i]+"</td></tr>";
}
//dibujamos la tabla de multiplicar
pr.write("<html>"
+ "<body style=' text-align:center'><h1>Aqui presentamos la tabla de multiplicar del numero "+n+"</h1>"
+"<table style='background-color: rgba(50, 50, 10, 0.5);margin: 0 auto;'>"
+ "<thead>"
+ "<th>NRO ="+n+"</th>"
+"</thead>"
+ "<tbody>"
+rowTable
+"</tbody>"
+ "</table>"
+ "</body>"
+ "</html>");
}
}else {
pr.write(pgError);
}
} catch (Exception e) {
pr.write(pgError);
}
pr.close();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment