Что он возвращает “return nom.length ()! =0;”?

Я вижу в упражнении, и у него есть этот код:

public boolean asignarNombre(String nombre){
    if(nombre.length()==0){
        System.out.println("Error: cadena vacía");
        return false;
    }
    this.nombre = nombre;
    return nombre.length()!=0;
}

Часть, которая вызывает у меня интригу (что я не знаю, как он выбирается из затора, потому что он это не объясняет) - эта:

return nombre.length()!=0;

Как функционирует это?

4
задан 19.01.2017, 16:47
0 ответов

Первой, что ты должен обращать внимание, является подпись функции, так как отсюда ты будешь знать, что тип возвращает эту функцию.

немного теории о подписи функции:

Сигнатура или подпись метода или функции определяет Ваш ввод и Ваш вывод. Включи, по крайней мере, имя функции или метода и число Ваших параметров. На каких-то языках программирования, смоги включать тип, который возвращает функцию или тип Ваших параметров.

в этом случае функция возвращает boolean

public boolean asignarNombre(String nombre){

сейчас твое сомнение: return nombre.length()!=0; как функционирует это?

Значь, если размер nombre он отличается от нуля, который он возвращал бы true в противоположном случае он возвратит false

пример: хотя мой пример - в javascript, в java последуй за тем же самым!!!

console.log("".length!=0);
console.log("hola".length!=0);

`

4
ответ дан 03.12.2019, 17:37

Я сделал бы следующее

public boolean asignarNombre(String nombre)
{
    this.nombre = nombre;
    boolean validar = true;
    if(nombre.length()==0){
        System.out.println("Error: cadena vacía");
        validar = false;
    }

    return validar;
}

Он читабельнее и понимает себя лучше верю я A в твой вопрос: nombre.lenght ()! =0 возвращает true, если у цепи есть контент.

2
ответ дан 03.12.2019, 17:37
  • 1
    Он не делает то же самое. В случае первоначального вопроса только распредели nombre в случае, если длина будет отличаться в нуль, но в твоем, он это распределяет всегда. Сделав return в половине có я говорю, ломай программу. –  19.01.2017, 15:59
  • 2
    Sí sé проблема состоит в том, что я не сторонник, который отрезал себе có я говорю в половину, предпочитаю иметь return и использовать переменную контроля qué скажите мне, что он делает có я говорю. –  20.01.2017, 10:11

Ты идет возвращать Booleano, True или False. В этом случае, True, так как сначала он оценивается, если размер имени равен нулю (0), а следовательно уже мы знаем, что, если он перемещает этот if, возврати True.

3
ответ дан 03.12.2019, 17:37