Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con un ejercicio en java (con Kawa 3.51)

Estas en el tema de Problema con un ejercicio en java (con Kawa 3.51) en el foro de Java en Foros del Web. Hola a todos. Soy nuevo en este foro y me gustaria que alguien me explicara qué es lo que estoy haciendo mal. El ejercicio consiste ...
  #1 (permalink)  
Antiguo 06/01/2005, 13:14
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
Problema con un ejercicio en java (con Kawa 3.51)

Hola a todos. Soy nuevo en este foro y me gustaria que alguien me explicara qué es lo que estoy haciendo mal. El ejercicio consiste en que hay que introducir el númeri y el programa debe devolverte el inverso (por ejemplo: si escribres 3517 te tiene que devolver 7153). Voy a poner el programa y si alguien me dice qué es lo que tengo que corregir se lo agradecería mucho.


public class ejercicio27
{
public static String volteala(String fuente)
{

int i,

longitud = fuente.length();

StringBuffer destino = new StringBuffer(longitud);

for ( i = (longitud - 1); i >= 0; i--)

{

destino.appendChar(fuente.charAt(i));

}

return destino.toString();

}
}


El error que me sale en el programa es :

ejercicio27.java:16: cannot resolve symbol
symbol : method appendChar (char)
location: class java.lang.StringBuffer
destino.appendChar(fuente.charAt(i));

Por favor, hace poco que he empezdo a programar y no controlo el tema muy bien, así que por favor si el fallo es muy tonto no se rían de mi

Gracias por adelantado!!!
  #2 (permalink)  
Antiguo 06/01/2005, 13:39
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Trasladado al foro de java desde programación
  #3 (permalink)  
Antiguo 07/01/2005, 01:09
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
pues hay un problema con el metodo appendChar, por que no mejor concatenas!!
Código:
int i;
String Destino="";
int longitud = fuente.length();

 for ( i = (longitud - 1); i >= 0; i--)
    Destino= Destino + fuente.charAt(i);

return Destino;
Con eso funciona, bueno, no le he compilado, pero estoy seguro que funciona, espero te sirva.

bytes!!

PD: realmente no se por que te marca ese error, nunca e usado yo ese metodo, pero pues si de una manera, no sale, intentale por otra!!
  #4 (permalink)  
Antiguo 07/01/2005, 05:56
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
ey stock muchas gracias de veras!! Pero cuando voy a ejecutar el programa me dice que el programa ha sido incapaz de encontrar el

"main method in de main class file".

Esto ya me habia pasado entes y por eso intente hacer el ejercicio de otra forma (la que habia puesto al principio del post). ¿Sabes a q se debe el fallo? seguro q es algo d la config q no he puesto bien o alguna tonteria d esas... Si alguien lo pudiera averiguar le estaria muy agradecido. Muxas gracias!!
  #5 (permalink)  
Antiguo 07/01/2005, 13:34
 
Fecha de Ingreso: marzo-2004
Mensajes: 41
Antigüedad: 20 años, 1 mes
Puntos: 0
uhm. Programabas estructuradamente antes? Eso no se parece muy poco a lo que programacion estructurada se refiere... De hecho por tu manera de usar las llaves juraria que antes programabas en C.

Bueno, el error que te dice es que estas usando mal el metodo appendChar, la verdad nunca lo use. (te fijaste que tu int i al final tiene una , y no ;? es un detalle nomas :P)

El error que dices que dice el codigo que te pasa stock es porque tu clase no es runnable... tenes que definirla poniendo dentro public static void main(String[] args) { } y dentro de esto llamas a tu metodo "volteala"...

en mi opinion la clase (usando el codigo que te paso stock, quedaria asi)

public class Ej27 {

int i;
String Destino="";
int longitud = fuente.length();

public static String volteala(String fuente){

for ( i = (longitud - 1); i >= 0; i--)
Destino= Destino + fuente.charAt(i);

return Destino;
}

public static void main(String[] args) {
this.volteala("12345")
}

}

lo hice copypasteando codigo de todos los posts, asi q seguramente haya algo mal, epro es para q entiendas la idea :P
  #6 (permalink)  
Antiguo 07/01/2005, 22:33
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
hey, al cuando te puse el codigo del post anterior, supuse que le agregarias las lineas extras

public class{

public static void main(Str etc....
  #7 (permalink)  
Antiguo 15/01/2005, 07:09
 
Fecha de Ingreso: enero-2005
Mensajes: 1
Antigüedad: 19 años, 3 meses
Puntos: 0
De acuerdo Para completar las respuestas.

Lo único que queda por desvelar es que pasa con appendChar, pues pasa que es sólo append.
Si lo pruebas verás que tu función estaba perfectamente hecha a excepción de ese detalle (además del main, claro).

Un saludo a todos.
  #8 (permalink)  
Antiguo 07/02/2005, 12:24
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
dios taito no me digas que todo el follon ha sido solo por eso???? Madre miaaaaaaaaaaaaaaa. Gracias a todos por la ayuda!!! De todas formas al final consegui resolverlo de otro modo por si a alguien le surge el mismo problema que a mi alguna vez. Aqui lo dejo:

import java.io.*;
public class ejercicio27
{
public static void main (String [] args)throws IOException
{

String aux;

int i;

BufferedReader in =new BufferedReader (new InputStreamReader (System.in));

int a;

String unaLinea;

System.out.println ("Introduce un entero: ");

unaLinea = in.readLine();

a=Integer.parseInt(unaLinea);

int x=unaLinea.length();

char j=unaLinea.charAt(x-1);

aux=""+j;

for (i=x-1;i>=0;i--)
{

char ch=unaLinea.charAt(i);

if(i<x-1)
{

aux=aux+ch;
}

}
System.out.println ("El numero invertido es: "+aux);
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:12.