elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  este algoritmo es correcto en java??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: este algoritmo es correcto en java??  (Leído 5,041 veces)
l9_in

Desconectado Desconectado

Mensajes: 2


Ver Perfil
este algoritmo es correcto en java??
« en: 13 Junio 2011, 23:25 pm »

lo que pasa es que estoy empezando a programar en java y quisiera saber si mi programa es correcto, si corre pero quiero saber si la sintaxis y las reglas de java se cumplen

Código
  1. import java.util.*;
  2. public class palindromo {
  3.  
  4.    public static void main(String[] args) {
  5.        Scanner escaner =new Scanner (System.in);
  6.  
  7.       int NUM,N,DIG,NAUX,CON,M,A[];
  8.       A=new int[10];
  9.  
  10. System.out.println("Digita el numero");
  11.        NUM=escaner.nextInt();
  12.  
  13. N=NUM;
  14. DIG=1;
  15.  
  16. while (10<=N)
  17. {
  18.            N=N/10;
  19.            DIG++;
  20. }
  21. // System.out.println("la cantidad de digitos son: "+DIG);
  22.  
  23. CON=0;
  24. while (CON<DIG)
  25. {
  26.            M=NUM%10;
  27.            A[CON]=M;
  28.            NUM=NUM/10;
  29.            CON++;
  30. }
  31.  
  32. /* CON=0;
  33. while (CON<DIG)
  34. {
  35.             System.out.println(A[CON]);
  36.             CON++;
  37. }
  38. */
  39. CON=0;
  40. NAUX=A[CON]*10+A[CON+1];
  41.  
  42. while (CON+1<DIG-1)
  43. {
  44.            NAUX=NAUX*10+A[CON+2];
  45.            CON++;
  46. }
  47.  
  48. System.out.println("El palindromo es: **"+NAUX+"**");
  49.  
  50.    }
  51.  
  52. }
  53.  


« Última modificación: 16 Junio 2011, 09:11 am por Debci » En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: este algoritmo es correcto en java??
« Respuesta #1 en: 13 Junio 2011, 23:46 pm »

no entiendo mucho tu code pero la manera en que programas es muy complicado
te aconsejo que dividas cada problema en un metodo
"     divide y venceras    "
 eh aqui el metodo palindromo


Código:
public String invertir(String cadena){
   int tamCadena =cadena.length()-1;
   String invertido="";
   int i=0;
   char caracter=' ';
        while(tamCadena>=0){
         
         caracter=cadena.charAt(tamCadena);
         invertido=invertido+caracter;
         tamCadena--;
    }
    return invertido;
   
    }

Código:
 public boolean palindromo1(String cadena){
        boolean res=false;
        if(cadena.equals(invertir(cadena))){
            res=true;
        }
        return res;
    }

aki uso dos metodos que juntos realizan una sola tarea
bye bye


En línea

l9_in

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: este algoritmo es correcto en java??
« Respuesta #2 en: 14 Junio 2011, 00:32 am »

no entiendo mucho tu code pero la manera en que programas es muy complicado
te aconsejo que dividas cada problema en un metodo
"     divide y venceras    "
 eh aqui el metodo palindromo


Código:
public String invertir(String cadena){
   int tamCadena =cadena.length()-1;
   String invertido="";
   int i=0;
   char caracter=' ';
        while(tamCadena>=0){
        
         caracter=cadena.charAt(tamCadena);
         invertido=invertido+caracter;
         tamCadena--;
    }
    return invertido;
    
    }

Código:
 public boolean palindromo1(String cadena){
        boolean res=false;
        if(cadena.equals(invertir(cadena))){
            res=true;
        }
        return res;
    }

aki uso dos metodos que juntos realizan una sola tarea
bye bye


ok ok ok,
mi diste la solucion, pero el maestro que esta medio loco de tanto programar asi me esta enseñando, me enseño c++ y ahora quiere los programas en java, lo que hice fue transcribirlos a java, (que por cierto si sirve mi programa  :xD), y nadamas quiero saber si es correcto como lo hize y sino solicito a alguien que me pueda ayudar  :-\ ... aaaaaaaaaaaa si, los metodos que me incluyes lo hacen con cadena de caracteres, pero mi maestro lo quiere con valores enteros, por eso utilizo el MOD.

en fin... a mi algoritmo nadamas le hace falta estar dividido en metodos,


oye una ultima cosa, como le saco la raiz a un numero en java?? me podrias poner un ejemplo??? gracias por responder!!! :laugh:



mira quiero sacarle raiz a FIB...:

public class primosdefibonacci {

    public static void main(String[] args) {
        int PRIM, SEG, FIB,A,M;
        float RA;
        
        PRIM=5;
        SEG=8;
        FIB=0;
        while (FIB<5000)
        {
            FIB=PRIM+SEG;
            PRIM=SEG;
            SEG=FIB;
            A=2;
            RA=Math.sqrt(FIB); // AQUI ME MARCA ERROR
                
                while(A<=RA)
                {
                    M=FIB%A;
                    if (M==0)
                        A=FIB;
                    A++;
                }
            if (FIB>A)
                System.out.println(FIB+"Es Primo");
            
        }
        
        
    }

}


ME MARCA ESTO AL COMPILAR:
found   : double
required: float
            RA=Math.sqrt(FIB);
« Última modificación: 14 Junio 2011, 00:42 am por l9_in » En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: este algoritmo es correcto en java??
« Respuesta #3 en: 14 Junio 2011, 02:57 am »

Espero que te sirva funciona con numerosssssssssssssssssssssssssssss
 alguna otra duda??????????             bye bye
Código:
public int invertirNumeros(int numerito){
    int res=0;
    int aux=0;
    while(numerito>=10){
        aux=numerito%10;
        res= res*10+aux;
        numerito=numerito/10;
    }
    res=res*10+numerito;
        return res ;
    }

Código:
public boolean capicua(int nume){
    boolean res=false;
    int num=invertirNumeros(nume);
    if(num==nume){
        res=true;
    }
    else{
    res=false;
    }
    return res;
    }
En línea

barbieturico

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: este algoritmo es correcto en java??
« Respuesta #4 en: 16 Junio 2011, 09:00 am »

Pues te lo digo de memoria, así que lo mismo no funciona así, pero el error que te está dando es porque tu programa espera que le pases un valor float para cargar en la variable RA, pero el resultado de Math.sqrt(FIB) devuelve un double. Para cargar el valor del double en el float deberás castearlo:
Código
  1. RA=new Double(Math.sqrt(FIB)).floatValue();

Otro detalle es que declaras todas las variables en mayúsculas. Esto funciona, pero en realidad es bastante feo. En mayúsculas se suelen declarar los nombres de constantes, y sería algo así:

Código
  1. static final int MICONSTANTE = 0;

Edito: Corregidos los tags para que interprete el código como java ;D
« Última modificación: 16 Junio 2011, 09:53 am por barbieturico » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: este algoritmo es correcto en java??
« Respuesta #5 en: 16 Junio 2011, 09:13 am »

Solo como, consideración offtopic, usen, si es posible las tag's de code para java ;)
Como NO hacer un post en el foro de java/url]

Un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda algoritmo en java
Java
estherlui 0 1,747 Último mensaje 27 Mayo 2012, 13:13 pm
por estherlui
Ayuda algoritmo en java
Java
estherlui 1 3,647 Último mensaje 27 Mayo 2012, 23:05 pm
por Proteus1989
[PROBLEMA] Descifrado con algoritmo TripleDES en java
Java
kondrag_X1 0 2,314 Último mensaje 25 Abril 2013, 13:45 pm
por kondrag_X1
problema algoritmo java o dfd
Ejercicios
Kacoae 1 5,148 Último mensaje 19 Julio 2015, 03:12 am
por lvs
Curso gratis de Java ( orden correcto)
Java
luchoxmcbo 2 2,193 Último mensaje 2 Agosto 2016, 05:09 am
por luchoxmcbo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines