Ayuda con un programa..

Iniciado por kurupi13, 28 Agosto 2013, 15:42 PM

0 Miembros y 1 Visitante están viendo este tema.

kurupi13

Hola, necesito que alguien me pueda ayudar con unos programas simples en Java pero que hasta ahora no puedo hacer. Estoy empezando a programar.

1-Escriba el método estático nombredelmetodo(String str) que devuelve "" si str es nulo. También escriba nombredelmetodo(String str, String default) que utiliza el valor del parámetro default si str es nulo.

2- Escriba el método estático nombredelmetodo(String str, String delim) que divide str en varias cadenas según un delimitador (delim). Por ejemplo si str es "Lunes, Martes, Miercoles" y delim es ", " entonces devuelve un arreglo de String que contiene "Lunes", "Martes", y "Miercoles".

Nota: no se puede usar el metodo split()

3- Escriba el método estático nombredelmetodo(String[] str, String delim) que dado un arreglo de cadenas los junta en una sola cadena utilizando un delimitador. Por ejemplo, nombredelmetodo(new String[] { "Lunes", "Martes", "Miercoles" }, ", ") devuelve "Lunes, Martes, Miercoles". Es basicamente la operación inversa del ejercicio anterior.

Gracias al que me puede ayudar.

1mpuls0

Aquí vamos otra vez...

1. Bienvenido
2. Lee las reglas
3. Muestra el código que tienes hecho
4. No olvides colocar el código en etiquetas de GeSHi
5. Realiza preguntas concretas
abc

1mpuls0

Te ayudo con el 1.1

Tomo en cuenta lo siguiente para los valores.

Vacio = No tener ningún valor
Nulo = No se inicializó un valor aceptable del tipo de dato declarado o tiene el "valor" null
Blanco = Tener un espacio en blanco (ASCII 32)

Estrictamente hablando:
La palabra reservada "null" indica que una variable que referencia a un objeto se encuentra "sin objeto", es decir, la variable ha sido declarada pero no apunta a ningún objeto. Esto puede deberse a que no se haya inicializado asignándole un objeto mediante la instrucción new, o a que hayamos borrado la referencia que contenía la variable.

Qué se supone que debe regresar la función si la variable no tiene null?.

Código (java) [Seleccionar]

/*
* Autor: Darhius929
*/
package basic;

public class Validate {
    public static void main(String args[]) {
        String str = null;
        checkString(str);
    }
   
    public static String checkString(String str) {
        if(str==null) {
            return "";
        } else {
            return null;
        }
    }
}
abc

kurupi13

Gracias por el primero, este es el metodo que hize para el segundo

public static String[] split(String str,String delim){
        StringTokenizer t = new StringTokenizer(str,delim);
        String [] arreglo = new String[4];
        for(int i=0;i<4;i++){
            arreglo = t.nextToken();
           
        }
        return arreglo;
    }

Compila sin ningun error pero al ejecutar tira un error de NoSuchElementException

kurupi13

Este tambien es otro metodo que hize, pero me carga en el arreglo lo mismo que en el String original, no divide en partes

public static String[] split(String str, String delim) {
        StringTokenizer t = new StringTokenizer(str, delim);
        int dimension = t.countTokens();
        String[] arreglo = new String[dimension];
        String a;
        int i = 0;
        while (t.hasMoreTokens() == true) {
            a = t.nextToken();
            arreglo = String.valueOf(str);
            System.out.println(arreglo);
            i++;
        }
        return arreglo;
    }

1mpuls0

Cita de: kurupi13 en 28 Agosto 2013, 18:05 PM
Este tambien es otro metodo que hize, pero me carga en el arreglo lo mismo que en el String original, no divide en partes

public static String[] split(String str, String delim) {
        StringTokenizer t = new StringTokenizer(str, delim);
        int dimension = t.countTokens();
        String[] arreglo = new String[dimension];
        String a;
        int i = 0;
        while (t.hasMoreTokens() == true) {
            a = t.nextToken();
            arreglo = String.valueOf(str);
            System.out.println(arreglo);
            i++;
        }
        return arreglo;
    }

Casi.

Intenta así.

Código (java) [Seleccionar]

public static void main(String args[]) {
        String arreglo[] = split("Lunes, Martes, Miercoles", ",");
        for(int i=0; i<arreglo.length; i++)
               System.out.print("["+arreglo[i]+"]");
    }

public static String[] split(String str, String delim) {
        StringTokenizer t = new StringTokenizer(str, delim);
        int dimension = t.countTokens();
        String[] arreglo = new String[dimension];
        String a;
        int i = 0;
        while (t.hasMoreTokens() == true) {
            a = t.nextToken();
            arreglo[i] = String.valueOf(a).trim();
            i++;
        }
        return arreglo;
    }
abc

DarK_FirefoX

Cita de: kurupi13 en 28 Agosto 2013, 15:42 PM
Hola, necesito que alguien me pueda ayudar con unos programas simples en Java pero que hasta ahora no puedo hacer. Estoy empezando a programar.

1-Escriba el método estático nombredelmetodo(String str) que devuelve "" si str es nulo. También escriba nombredelmetodo(String str, String default) que utiliza el valor del parámetro default si str es nulo.

2- Escriba el método estático nombredelmetodo(String str, String delim) que divide str en varias cadenas según un delimitador (delim). Por ejemplo si str es "Lunes, Martes, Miercoles" y delim es ", " entonces devuelve un arreglo de String que contiene "Lunes", "Martes", y "Miercoles".

Nota: no se puede usar el metodo split()

3- Escriba el método estático nombredelmetodo(String[] str, String delim) que dado un arreglo de cadenas los junta en una sola cadena utilizando un delimitador. Por ejemplo, nombredelmetodo(new String[] { "Lunes", "Martes", "Miercoles" }, ", ") devuelve "Lunes, Martes, Miercoles". Es basicamente la operación inversa del ejercicio anterior.

Gracias al que me puede ayudar.

Esto parece sacado de tu libreta de clases, como que La tarea es esta, traiganla en la proxima clase...jeje...un salu2 y suerte