示例课程代码未编译

时间:2018-04-29 08:34:43

标签: java variables methods

你好我有和赋值我告诉我在下面运行这个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 :(得分:2)

您在array方法声明中将其命名为display。最容易修复

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

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

您也可以使用Java 8+中的lambdas重写整个程序,如

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")));

答案 1 :(得分:0)

您正在使用显示功能内的main函数声明的局部变量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" );

答案 2 :(得分:-1)

//这是正确的版本。

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( );
    }

}