2013-12-11 4 views
-3

Я пытаюсь распечатать истинное или ложное значение и скомпрометировать трудности. Не можете ли вы напечатать значение логического метода?Не удается скомпилировать класс

Ошибки:

javac ArrayManip.java 
ArrayManip.java:23: error: <identifier> expected 
     System.out.println(valuesSymmetrical);     ^
ArrayManip.java:23: error: <identifier> expected 
     System.out.println(valuesSymmetrical); 

public class ArrayManip 
{ 
public static void main(String [] args) 
    { 
     int numbers [] = {2,3,4,5,6,6,5,4,3,2}; 
     boolean areThey = valuesSymmetrical(numbers); 

    } 

    public static boolean valuesSymmetrical(int [] n) 
    { 
    int i = 0, y = n.length - 1; 
    while (n[i] == n[j] && i < j) 
    { 
     i++; 
     j--; 
    } 

    if (i < j) return true; 
    else return false; 
} 

    System.out.println(valuesSymmetrical); 
} 
+2

1. Вы понимаете, что 'System.out.println (valuesSymmetrical),' находится вне какой-либо из вашей сферы методы? 2. Если вы хотите вызывать методы, вам нужно добавить свои аргументы, как в вашем случае 'valuesSymmetrical (arrayOfIntegers)'. 3. Что такое 'j' в методе' valuesSymmetrical'? – Pshemo

+0

попробуйте начать с правильного форматирования кода, вы должны найти проблему довольно легко с правильным отступом. – turbo

+0

Не совсем связано с вашим вопросом, но я уверен, что вы хотите изменить 'if (i j)' –

ответ

3
System.out.println(valuesSymmetrical); 

ли вне любого метода.

Попробуйте так:

public class ArrayManip 
{ 
    public static void main(String [] args) 
    { 
    int numbers [] = {2,3,4,5,6,6,5,4,3,2}; 
    boolean areThey = valuesSymmetrical(numbers); 

    System.out.println(areThey); 

    } 

    public static boolean valuesSymmetrical(int [] n) 
    { 
    int i = 0, j = n.length - 1; // notice here you had y and not j! 
    while (n[i] == n[j] && i < j) 
    { 
     i++; 
     j--; 
    } 

    if (i < j) return true; 
    else return false; 
    } 
} 
2

Вы должны фактически вызов функции, например,

System.out.println(valuesSymmetrical(numbers)); 

Поместите это в вашем методе main.


Unrelated: ради вас, и кто-нибудь еще, пожалуйста, форматировать код последовательно, например,

public class ArrayManip { 

    public static boolean valuesSymmetrical(int [] n) { 
     int i = 0, y = n.length - 1; 
     while (n[i] == n[j] && i < j) { 
      i++; 
      j--; 
     } 

     return i < j; 
    } 

    public static void main(String args[]) { 
     int numbers[] = { 2, 3, 4, 5, 6, 6, 5, 4, 3, 2 }; 
     System.out.println(valuesSymmetrical(numbers)); 
    } 

} 

(Это не исправить логические ошибки.)

0

Переместите SYSOUT вверх в ваш основной метод.

System.out.println(areThey); 

или

System.out.println(valuesSymmetrical(numbers)); 
Смежные вопросы