Пример кода урока не компилируется - PullRequest
0 голосов
/ 29 апреля 2018

Здравствуйте, у меня есть и назначение, которое говорит мне, чтобы запустить этот код Java ниже, Но я продолжаю получать 3 подобные ошибки, скажем, что переменная studentInfo не может быть преобразована в переменную

вот ошибки

Ошибка: studentInfo не может быть преобразован в переменную - строка 11 Ошибка: studentInfo не может быть преобразован в переменную - строка 15 Ошибка: studentInfo не может быть преобразован в переменную - строка 15

    public class DisplayInfoExersice {

        public static void main( String [ ] args ) {

             int studentInfo [ ] [ ] = { {1, 78, 85}, {2, 83, 90} };

             display( studentInfo );
        }

        public static void display( int array [ ] [ ] ) {

             for ( int j = 0; j < studentInfo.length; j++ ) {

                 System.out.println( ); 

                 for ( int k = 0; k < studentInfo[j].length; k++)
                       System.out.print ( studentinfo [j] [k] + "\t"                         
                  );
            }

            System.out.println( );
       }

   }

пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2018

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

for ( int j = 0; j < array.length; j++ ) //

for ( int k = 0; k < array[j].length; k++)
System.out.print ( array[j] [k] + "\t" );
0 голосов
/ 29 апреля 2018

// Это правильная версия.

public class DisplayInfoExcercise {

    public static void main( String [ ] args )
    {
        int studentInfo [ ] [ ] = { {1, 78, 85}, {2, 83, 90} };

        display( studentInfo );
    }
    public static void display( int array [ ] [ ] )
    {
        for ( int j = 0; j < array.length; j++ ) //
        {
            System.out.println( );

            for ( int k = 0; k <array[j].length; k++)
                System.out.print ( array[j] [k] + "\t" );

        }
        System.out.println( );
    }

}
0 голосов
/ 29 апреля 2018

Вы назвали его array в объявлении метода display. Простое исправление изменений

public static void display( int array [ ] [ ] )

до

public static void display( int studentInfo [ ] [ ] )

Вы также можете переписать всю программу с лямбдами в Java 8+, как

int[][] studentInfo = { { 1, 78, 85 }, { 2, 83, 90 } };
System.out.printf("%n%s%n",Stream.of(studentInfo) //
        .flatMapToInt(IntStream::of) //
        .mapToObj(String::valueOf) //
        .collect(Collectors.joining("\t")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...