2014-12-01 5 views
0

Что делать, чтобы выполнить этот код? Я попытался создать новый класс и использовать его в качестве драйвера, но он не работает, и сообщение об ошибке было cannot find count. Я смущен. Может ли кто-нибудь помочь мне, пожалуйста?Что делать, чтобы выполнить это?

import java.util.Arrays; 
import java.util.Scanner; 

public class Lab7Part1 
{ 
    Scanner kb = new Scanner(System.in); 
    private static int[] a = {7, 8, 8, 3, 4, 9, 8, 7}; 
    int sum=0; 
    int n=0; 
    double avg = sum/a.length; 
    int last=-1; 
    int max=0; 
    int min=Integer.MAX_VALUE; 
    int indexOfMax=-1; 
    public int count() 
    { 
    for(int n:a){ 
     System.out.println(n); 
     System.out.println(","); 
    }//use a for-each statement to compute the number of values 
    System.out.println("The number of elements in int[] a is: " + n); 
    return n; 
    } 
    public int sum() 
    { 
    for(int n=0; n<a.length; n++){ 
     sum += a[n]; 
    } 
    System.out.println("The sum of elements in int[] a is: " + sum); 
    return sum; 
    } 
    public double average() 
    { 
    System.out.println("The avg of elements in int[] a is: " + avg); 
    return avg; 
    } 
    public int findLast(int key) 
    { 
    System.out.println("Enter an integer."); 
    int input = kb.nextInt(); 
    for (int i=0; i<a.length; i++){ 
     if(a[i]==input){ 
     key = i; 
     System.out.println("The last index of " + input + " is: " + key); 
     } 
     else 
     System.out.println("The last index of " + input + " is: -1"); 
    } 
    return key; 
    } 
+0

Ваш средний показатель всегда будет неправильным, поскольку вы вычисляете его как поле, а не выполняете вычисления в вашем 'среднем' методе. – Makoto

ответ

2

Вы должны добавить в свой класс основной метод, который бы создавал экземпляр вашего класса.

public static void main (String [] args) 
{ 
    Lab7Part1 lab = new Lab7Part1(); 
    int cnt = lab.count(); 
    ... 
} 
0

В принципе, вам не хватает базового.

1) У вас нет основного метода.

public static void main (String [] args){ 

2) Нет создания объекта.

Lab7Part1 lab = new Lab7Part1(); 

3) Нельзя использовать метод подсчета.

lab.count(){ 
//implementation of method count 
    } 

Помните, что JVM всегда запускает выполнение из метода main().

Для доступа к методу класса вам понадобится экземпляр класса, для которого вам необходимо создать объект класса.

Метод экземпляра, который вы хотите выполнить, начнется, если вы вызовете метод экземпляра неявно.

0

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

Смежные вопросы