Menu
1. Fibonacci
2. Serie A
3. Tabla de multiplicar
4. Convertir Mayusculas, minusculas y contar letras
Fibonacci:
La sucesión inicia con 0 y 1, y a partir de ahí cada elemento es la suma de los dos anteriores.
Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos.
Ejemplo:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.........
public String cadFibo(int d1, int d2, int serie){
int suma = 0;
int n1 = d1;
int n2 = d2;
String cadena = "";
for (int i = 0; i < serie; i++){
suma = n1 + n2;
cadena = cadena + " " + n1;
n1 = n2;
n2 = suma;
}
return cadena;
}
Serie A: 1/2 + 2/4 + 3/7 + 4/11.........
Tabla de Multiplicar: Las tablas de multiplicar se usan para definir la operación binaria del producto para un sistema algebraico n x n = n.
public String resMulti(int d1, int d2){
String r = "" + (d1 * d2);
return r;
}
Convertir palabras y contarlas:
public String canCaracteres(String d1){
String cadena = d1;
int n = cadena.length();
return ""+n;
}
Archivo del codigo - Descarga
jueves, 3 de marzo de 2011
miércoles, 2 de marzo de 2011
El siguiente código muestra un ejemplo completo de uso de RMS.
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RMS extends MIDlet {
// nombre de la BD
static final String BD = "datos";
String dato;
int id, i;
char b;
public RMS() {
RecordStore rs = null;
// Borramos la BD si tenía algo
try {
RecordStore.deleteRecordStore(BD);
} catch( Exception e ){}
try {
// Abrimos el recordStore
rs = RecordStore.openRecordStore(BD, true);
guardaRegistro(rs,"Datos del registro 1");
guardaRegistro(rs,"Datos del registro 2");
guardaRegistro(rs,"Datos del registro 3");
// Leemos los registros
RecordEnumeration registros = rs.enumerateRecords(null, null, false);
// Recorremos todos los elementos
while (registros.hasNextElement()) {
// Obtenemos el ID del siguiente registro
verRegistro(rs, registros.nextRecordId());
}
rs.closeRecordStore();
} catch( RecordStoreException e ){
System.out.println( e );
}
notifyDestroyed();
}
public void verRegistro(RecordStore rs, int id) {
try {
ByteArrayInputStream bais = new ByteArrayInputStream(rs.getRecord(id));
DataInputStream is = new DataInputStream(bais);
// leemos el registro
try {
dato = is.readUTF();
System.out.println("-> "+dato);
} catch (EOFException eofe) {
} catch (IOException ioe) {}
} catch (RecordStoreException e) {}
}
public void guardaRegistro(RecordStore rs, String dato) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(baos);
try {
// guadar el dato
os.writeUTF(dato);
} catch (IOException ioe) {}
// extraer el array de butes
byte[] b = baos.toByteArray();
// lo añadimos al recordStore
try {
rs.addRecord(b, 0, b.length);
} catch (RecordStoreException rse) {}
}
public void destroyApp( boolean unconditional ) {}
public void startApp() {}
public void pauseApp() {}
}
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RMS extends MIDlet {
// nombre de la BD
static final String BD = "datos";
String dato;
int id, i;
char b;
public RMS() {
RecordStore rs = null;
// Borramos la BD si tenía algo
try {
RecordStore.deleteRecordStore(BD);
} catch( Exception e ){}
try {
// Abrimos el recordStore
rs = RecordStore.openRecordStore(BD, true);
guardaRegistro(rs,"Datos del registro 1");
guardaRegistro(rs,"Datos del registro 2");
guardaRegistro(rs,"Datos del registro 3");
// Leemos los registros
RecordEnumeration registros = rs.enumerateRecords(null, null, false);
// Recorremos todos los elementos
while (registros.hasNextElement()) {
// Obtenemos el ID del siguiente registro
verRegistro(rs, registros.nextRecordId());
}
rs.closeRecordStore();
} catch( RecordStoreException e ){
System.out.println( e );
}
notifyDestroyed();
}
public void verRegistro(RecordStore rs, int id) {
try {
ByteArrayInputStream bais = new ByteArrayInputStream(rs.getRecord(id));
DataInputStream is = new DataInputStream(bais);
// leemos el registro
try {
dato = is.readUTF();
System.out.println("-> "+dato);
} catch (EOFException eofe) {
} catch (IOException ioe) {}
} catch (RecordStoreException e) {}
}
public void guardaRegistro(RecordStore rs, String dato) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream os = new DataOutputStream(baos);
try {
// guadar el dato
os.writeUTF(dato);
} catch (IOException ioe) {}
// extraer el array de butes
byte[] b = baos.toByteArray();
// lo añadimos al recordStore
try {
rs.addRecord(b, 0, b.length);
} catch (RecordStoreException rse) {}
}
public void destroyApp( boolean unconditional ) {}
public void startApp() {}
public void pauseApp() {}
}
martes, 1 de marzo de 2011
RMS: Almacenamiento en MIDP
MIDP define una sencilla base de datos orientada a registros que permite almacenar a las aplicaciones datos de forma persistente. Esta base se denomina Record Management System (RMS).
A continuación, se puede ver un sencillo ejemplo de creación de un RecordStore:
A continuación, se puede ver un sencillo ejemplo de creación de un RecordStore:
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RecordStoreTest1 extends MIDlet {
public RecordStoreTest1() {
}
public void startApp() throws MIDletStateChangeException {
RecordStore rs=null;
try {
rs = RecordStore.openRecordStore("file1",true);
System.out.println("Archivo se abre");
}catch(Exception e){
System.out.println("Error: "+e.getMessage());
}
finally{
try {
rs.closeRecordStore();
System.out.println("archivo cerrado");
}catch (Exception e){
System.out.println("Error: "+e.getMessage());
}
}
destroyApp(true);
notifyDestroyed();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Metodo valida el correo
/**
* Este metodo valida el correo
* El correo valida que antes de la @ 'arroba' debe de tener caracateres
* alfanumericos solamenete, ademas entre la @ y el punto
* tambien alfanuemricos y despues del punto
*
* @param m
* @return
*/
* Este metodo valida el correo
* El correo valida que antes de la @ 'arroba' debe de tener caracateres
* alfanumericos solamenete, ademas entre la @ y el punto
* tambien alfanuemricos y despues del punto
*
* @param m
String es la cadena que recibe* @return
boolean si el correo es valido retorna true*/
public boolean validarMail(String m) {
char c1 = m.charAt(0);
int pos1 = 0;
int pos2 = 0;
int a1 = 0;
int a2 = 0;
int a3 = 0;
int x = 0;
String cadena1 = "";
String cadena2 = "";
String cadena3 = "";
if (c1 != '@' && c1 != '.') {
for (int i=1; i <>
if (m.charAt(i) == '@') {
pos1 = i;
}
}
for (int i=1; i <>
if (m.charAt(i) == '.') {
pos2 = i;
}
}
cadena1 = m.substring(0, pos1);
cadena2 = m.substring(pos1+1, pos2);
cadena3 = m.substring(pos2+1, m.length());
for (int i = 0;i <>
System.out.println("carcater "+cadena1);
a1 = cadena1.codePointAt(i);//
if ((a1 > 47 && a1 <> 64 && a1 <>
|| (a1 > 96 && a1 < a1="="46">
x++;
}
}
System.out.println("1 "+cadena2);
for (int i = 0; i <>
a2 = cadena2.codePointAt(i);
System.out.println("carcater "+a2);
if ((a2 > 47 && a2 <> 64 && a2 <>
|| (a2 > 96 && a2 <>
x++;
}
}
for (int i = 0;i <>
a3 = cadena3.codePointAt(i);
if ((a3 > 47 && a3 <> 64 && a3 <>
|| (a3 > 96 && a3 <>
x++;
}
}
System.out.println("xxx "+x+" "+(m.length()-2));
if (x == m.length()- 2) {
if (pos1 != 0 && pos2 != 0 && (pos1 + 2) <>
if (m.length()-1 >= (pos2 + 2)) {
return true;
}else {
return false;
}
}else{
return false;
}
}else {
return false;
}
}else {
return false;
}
}
jueves, 24 de febrero de 2011
Calculadora y Factorial en J2ME
package gui;import javax.microedition.lcdui.ChoiceGroup;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Form;import javax.microedition.lcdui.List;import javax.microedition.lcdui.TextField;import javax.microedition.midlet.*;
public class main extends MIDlet implements CommandListener{ //Manejamos la pantalla con el display public Display display; //Aqui cargamos los texfield, list y group public Form screen;
//Opciones del menu principal public Command salir, calcular;
//Menu de opciones public List menu;
public TextField dato1, operacion, dato2, total; public ChoiceGroup operador; public int mc;
public main(){ mc = 0; dato1 = new TextField("1er Numero: ", "", 15, TextField.NUMERIC); operador = new ChoiceGroup("Operacion:", ChoiceGroup.EXCLUSIVE); dato2 = new TextField("2do Numero", "", 15, TextField.NUMERIC); total = new TextField("Resultado", "", 15, TextField.UNEDITABLE); calcular = new Command("Calcular", Command.OK, 2); salir = new Command("Salir", Command.EXIT, 1); } public void startApp() { display = Display.getDisplay(this); menu(); }
public void menu(){ menu = new List("MENU PRINCIPAL", List.IMPLICIT); menu.append("Calculadora", null); menu.append("Factorial", null); menu.addCommand(salir); display.setCurrent(menu); menu.setCommandListener(this); }
private void organizaCalculadora() { mc = 1; screen = new Form("Calculadora"); display.setCurrent(screen); screen.append(dato1); operador.append("+", null); operador.append("-", null); operador.append("*", null); operador.append("/", null); screen.append(operador); screen.append(dato2); screen.append(total); screen.addCommand(calcular); screen.addCommand(salir); screen.setCommandListener(this); }
private void organizaFactoria(){ mc = 2; screen = new Form("Factorial"); display.setCurrent(screen); screen.append(dato1); screen.append(total); screen.addCommand(calcular); screen.addCommand(salir); screen.setCommandListener(this); }
public void pauseApp() {}
public void destroyApp(boolean unconditional){notifyDestroyed();}
public void commandAction(Command c, Displayable d) {
//Si seleccionamos alguna de las opciones del menú if (d == menu){ switch (menu.getSelectedIndex()){ case 0: organizaCalculadora(); break; case 1: organizaFactoria(); break; } }
//Si seleccionamos calculadora realizamos esta operación if (c == calcular && mc == 1){ int n = 0; switch (operador.getSelectedIndex()){ case 0: n = Integer.parseInt(dato1.getString()) + Integer.parseInt(dato2.getString()); break; case 1: n = Integer.parseInt(dato1.getString()) - Integer.parseInt(dato2.getString()); break; case 2: n = Integer.parseInt(dato1.getString()) * Integer.parseInt(dato2.getString()); break; case 3: n = Integer.parseInt(dato1.getString()) / Integer.parseInt(dato2.getString()); break; } total.setString(""+n); } //Si seleccionamos factorial realizamos esta operación if (c == calcular && mc == 2){ int n,x = 0; n = Integer.parseInt(dato1.getString()); if (n == 0 || n == 1){ n = 1; }else{ for (x = n; x >= 2; --x){ n = n * (x - 1) ; } } total.setString(""+n); }
if (c == salir){ destroyApp(true); } }}
Suscribirse a:
Entradas (Atom)