因此第一部分创建一个向量并向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;
}
}
答案 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
接受整数作为参数。 (作为旁注,你传递哪个整数来查找 - 无论如何都会用新值覆盖参数)