2017-03-05 84 views
-1

我写了一个Java程序,但我得到一个错误:Java的编译错误:无法找到符号

ArrayMain.java:13: error: cannot find symbol 
      ar[c]=input.nextInt; 
        ^
    symbol: variable nextInt 
    location: variable input of type Scanner 

代码:

import java.util.Scanner; 
class ArrayMain 
{ 
    public static void main(String[] args) 
    { 
     Scanner input=new Scanner(System.in); 
     System.out.println("Enter the size:"); 
     int c=input.nextInt(); 
     int[] ar=new int[c]; 
     System.out.println("Enter Element"); 
     for(int i=0;i<c;i++) 
     { 
      ar[c]=input.nextInt; 
     } 

     array(ar,c); 
    } 
    public static void array(int[] ar,int c); 
    { 
     System.out.println("Elements in reverse order are"); 
     for(int i=c;i>0;i--); 
     { 
      System.out.println(ar[c-1]); 
     } 
    } 
} 

我怎样才能解决呢?

+1

的[可能的复制什么是一个“无法找到符号”编译错误是什么意思? ](http://stackoverflow.com/questions/25706216/what-does-a-cannot-find-symbol-compilation-error-mean) – Li357

+0

我建议你观看java教程并查看java文档以更熟悉语法java: https://www.youtube.com/watch?v=WPvGqX-TXP0 – Oghli

回答

0

应该

ar[c]=input.nextInt(); 

,并确保该方法的定义是正确的

public static void array(int[] ar,int c) { //notice the removal of semicolon 
0
ar[c] = input.nextInt; 

这是错误的,正确的代码是:

ar[c] = input.nextInt(); 
0

你应该把指数i,而不是在ar[c]c遍历每个输入元素

System.out.println("Enter Element"); 
    for(int i=0;i<c;i++) 
    { 
     ar[i]=input.nextInt(); //not input.nextInt 
    } 

也是方法array(int[] ar,int c)有问题应该是:

public static void array(int[] ar,int c) // method decleration shouldn't end with `;` 
{ 
    System.out.println("Elements in reverse order are"); 
    // for loop mustn't end with ';' for(int i=c;i>0;i--); 
    for(int i=c-1;i>=0;i--) // start at last element index to the first element which index is i=0 
    { 
     System.out.println(ar[i]); // loop over each element in reverse order 
    } 
} 
相关问题