为什么它会在我的代码中途停止?

时间:2013-10-30 22:28:36

标签: java tags

因此第一部分创建一个向量并向10个插槽添加一个数字。然后,没有任何反应,我的代码没有错误,但它只是停止..为什么?

package ovn7;    
import java.util.Scanner;
public class ovn7a {

    int []vektor;
    Scanner scan = new Scanner(System.in);
    public static void main(String []args) {

        int []vektor = new int[10];

        for(int k=1; k<10; k++){
            vektor[k]=0+k;
            System.out.println(k);
        }
    }
    public int find(int tal) {

        System.out.println("tal");
        tal = scan.nextInt();
        int i = 0;
        while(i<10 && vektor[i] != tal) {
            i++;    
        }
        return (i <10) ? i : -1;
    }

}

1 个答案:

答案 0 :(得分:0)

这是您的主要方法:

public static void main(String []args) {
    int []vektor = new int[10];
    for(int k=1; k<10; k++){
        vektor[k]=0+k;
        System.out.println(k);
    }
}

这就是你的所有程序所做的 - 当它击中main方法的右关键时,执行结束。如果您希望它也执行public int find(int tal),您需要在main方法中包含方法调用:

int index = find(5); //for example

请记住,main方法是执行程序时唯一自动调用的方法!您必须在find内亲自致电main

编辑:根据请求,包含方法调用的main示例:

public static void main(String []args) {
    int []vektor = new int[10];
    for(int k=1; k<10; k++){
        vektor[k]=0+k;
        System.out.println(k);
    }
    int index = find(5); // <-- this find(5) here is a method call for find!
    System.out.println("The method returned a value of " + index + ".");
}

您可以将任何整数替换为“5”,因为方法find接受整数作为参数。 (作为旁注,你传递哪个整数来查找 - 无论如何都会用新值覆盖参数)

相关问题