怎么做才能执行此操作?

时间:2014-12-01 07:57:13

标签: java

我该怎么做才能执行此代码?我试图创建一个新类并用作驱动程序,但它没有工作,错误消息是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;
  }

3 个答案:

答案 0 :(得分:2)

您应该向您的类添加一个主方法,该方法将创建您的类的实例。

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

答案 1 :(得分:0)

基本上你是缺少基本的。

1)你没有Main方法。

public static void main (String [] args){

2)没有对象创建。

Lab7Part1 lab = new Lab7Part1();

3)没有调用计数方法。

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

请记住,JVM将始终从main()方法开始执行。

要访问类的方法,您需要创建类的对象的类实例。

当您隐式调用实例方法时,将启动要执行的实例方法。

答案 2 :(得分:0)

您也可以考虑将所有方法声明为静态,这样您就不必在运行程序之前创建类的实例。这也提醒您,您没有为您的实验室制作多个独特的解决方案 - 只需一个。 作为旁注,在返回值的方法中使用print语句通常也是不好的形式。打印是该方法的副作用,为了清楚起见,应仅关注返回值。可以使用主要方法进行打印。