Compilador de Java de Error: no es una declaración de

Hola soy nuevo en programación java. Quiero escribir un programa en java que recibe el primer nombre y el apellido, iniciales del usuario. Mi código es:

public class MyProgram {
public void start() {
    String name = getNameFromUser();
    char firstNameInitials = getInitials(name);
    char surnameInitials = getInitials(name);
    printInitials(firstNameInitials, surnameInitials);
}
private String getNameFromUser() {
    System.out.print("Please enter your name: ");
    String name = Keyboard.readInput();
    return name;
}
private char getInitials(String name) {
    char firstNameInitials = name.charAt(0);
    int indexOfSpace = name.indexOf(" ");
    char surnameInitials = name.charAt(indexOfSpace + 1);

    return firstNameInitials; surnameInitials;
}

private void printInitials(String firstNameInitials, String surnameInitials){
    System.out.print("your initials are: " + firstNameInitials +". " + surnameInitials +".");
}
}

estoy recibiendo un mensaje de error, no sé lo que significa:

Error: not a statement.

El error parece estar en la línea 18, en la instrucción return.
He tratado de solucionarlo pero han fracasado. Alguna sugerencia de cómo puedo solucionar este problema por favor?

  • ¿Qué cree usted que el punto y coma se supone que debe hacer?
InformationsquelleAutor Adi | 2013-06-01

5 Kommentare

  1. 6
    return firstNameInitials; surnameInitials;

    no se puede devolver varios char como este. En lugar de utilizar una matriz de char para volver

    Por ejemplo, usted puede regresar como este

    private char[] getInitials(String name) {
        char firstNameInitials = name.charAt(0);
        int indexOfSpace = name.indexOf(" ");
        char surnameInitials = name.charAt(indexOfSpace + 1);
    
        char[] result  = {firstNameInitials, surnameInitials};
        return result;
    }

    Y llamar las cosas como

    char[] a = getInitials(name);
    char firstNameInitials = a[0];
    char surnameInitials = a[1];
  2. 2

    Puede devolver un único valor a la vez.Usted no puede devolver más de un valor

    Crear una clase que contiene varios valores que usted necesita. En su método, devolver un objeto que es una instancia de esa clase.

    De esta manera, usted todavía devolver un objeto. En Java, usted puede devolver más de un objeto, sea lo que sea.

    public class TestVO {
    
        private char irstNameInitials;
        private char surnameInitials;
        public char getIrstNameInitials() {
            return irstNameInitials;
        }
        public void setIrstNameInitials(char irstNameInitials) {
            this.irstNameInitials = irstNameInitials;
        }
        public char getSurnameInitials() {
            return surnameInitials;
        }
        public void setSurnameInitials(char surnameInitials) {
            this.surnameInitials = surnameInitials;
        }    
    }
    
    
    private TestVOgetInitials(String name) {
    char firstNameInitials = name.charAt(0);
    int indexOfSpace = name.indexOf(" ");
    char surnameInitials = name.charAt(indexOfSpace + 1);
    
       TestVO vo = new TestVO();
       vo.setIrstNameInitials(firstNameInitials);
        vo.setSurnameInitials(surnameInitials);
    
    return vo; ;

    }

    • compruebe mi respuesta una vez
    • hanks ¿cómo puedo hacerlo?
    • crear una vo de la clase.¿Sabes cómo crear
    • vo de la clase? no he oído hablar de él antes.
    • significa objeto de valor o dto(data transfer object)
  3. 0

    de error:

    return firstNameInitials; surnameInitials;

    devolver un único valor;

     printInitials(firstNameInitials, surnameInitials);

    convertir la función de tomar char como parámetro o cambiar los argumentos de cadena.

  4. 0

    Por favor, intente esto. Usted ha hecho algunos errores simples.

    public class Testprg
    {
       public void start()
       {
        String name = getNameFromUser();
        char firstNameInitials = getFirstNameInitials(name);
        char surnameInitials = getSurNameInitials(name);
        printInitials(firstNameInitials, surnameInitials);
       }
    
       private String getNameFromUser()
       {
        System.out.print("Please enter your name: ");
        String name = Keyboard.readInput();
        return name;
       }
    
       private char getFirstNameInitials(String name)
       {
        char firstNameInitials = name.charAt(0);
    
        return firstNameInitials;
       }
    
       private char getSurNameInitials(String name)
       {
        int indexOfSpace = name.indexOf(" ");
        char surnameInitials = name.charAt(indexOfSpace + 1);
    
        return surnameInitials;
       }
    
       private void printInitials(char firstNameInitials, char surnameInitials)
       {
        System.out.print("your initials are: " + firstNameInitials + ". " + surnameInitials + ".");
       }
    }
  5. -1
    public class ShowCurrentTime
    {
        public static void main (String [] args)
        {
            //obtain the total milliseconds since Midnight, Sept 1, 2016
            long totalMilliseconds - System.currentTimeMillis();
    
            //total seconds
            long totalSeconds = totalMilliseconds / 1000;
    
            long currentSeconds = (int) (totalSeconds) % 60;
    
            //obtain total minutes
            long totalMinutes = totalSeconds / 60;
    
            //obtain current minute
            long currentMinute = (int) (totalMinutes) % 60;
    
            long toalHours = totalMinute / 60;
    
            long currentHour = (int) (totalHours % 24);
    
            System.out.println ("Current time is " + currenHour + ":" 
                                    + currentMinute + " " + " " + currentSeconds 
                                    + "GMT");
        }
    }
    • Por favor editar con más información. Del código y la «prueba esto» respuestas se desanime, porque no contienen contenido que se puede buscar, y no explican por qué alguien debería «prueba esto». Hacemos un esfuerzo aquí para ser un recurso para el conocimiento.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea