Простой метод запроса - PullRequest
       22

Простой метод запроса

0 голосов
/ 27 октября 2011

У меня есть следующий код, который возвращает ошибку.

Линия:

return first;

говорит:

несовместимых типов, требуется: char []

Кажется, что-то простое, но я не могу понять это. Я пытаюсь отобразить значения из вызова methodB.

Кроме того, вы заметите, что я прокомментировал заявление if как # 4. Может кто-то немного продвинет мое понимание.

Обновляет ли этот оператор if значение, содержащееся в переменной first ЕСЛИ значение, содержащееся в текущем элементе в alphas, предшествует текущему значению first?

Надеюсь, это имеет смысл, и кто-то может помочь. Уже поздно, и мой мозг больше не работает. Ява собирается сделать или сломать меня!

package openuniversity;

public class Main
{

    public static void main(String[] args)
    {
        Main m = new Main();
        char [] alp = m.methodB();

        for (char b: alp)
        {
            System.out.println(b);
        }
    }

    public static char[] methodB()
    {

        char [] alphas = {'s','a','u','s','a','g','e'};
        char first = alphas[0];
        for (int i= 1; i < alphas.length; i++) //3
        {
            if (alphas[i] < first) //4
            {
            first = alphas[i];
            }
        }
        return first;
    }
}

Ответы [ 2 ]

0 голосов
/ 27 октября 2011
package openuniversity;

public class Main
{

    public static void main(String[] args)
    {
        Main m = new Main();
        char alp = m.methodB();

        System.out.println(alp);
    }

    public static char methodB()
    {

        char [] alphas = {'s','a','u','s','a','g','e'};
        char first = alphas[0];
        for (int i= 1; i < alphas.length; i++) //3
        {
            if (alphas[i] < first) //4
            {
            first = alphas[i];
            }
        }
        return first;
    }
}
0 голосов
/ 27 октября 2011

Ваша подпись функции говорит, что вы возвращаете char[]:

public static char[] methodB()

Но вы на самом деле возвращаете char:

char first = alphas[0];
// ...
return first;

Не совсем ясно, что вы хотитечтобы сделать, но вам нужно либо изменить подпись, чтобы вернуть один символ:

public static char methodB()

и изменить, где он используется:

char alp = m.methodB();

Или заставить methodB фактически вернуть char[],Проблема в том, что я не знаю, что он на самом деле должен вернуть.Я бы посоветовал дать функции более подходящее имя.Возможно, вы захотите взглянуть на Списки .

...