2017-03-05 110 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 
    } 
} 
相關問題