線形探索のプログラムを作っています。自分でデータを入力し、入力した値をそこから見つけ出すというものです。
static変数にscannerを使って標準入力させようとすると、staticでない変数 scannerをstaticコンテキストから参照することはできません。と出てきてしまいます。(5行目)この意味はなんとなくわかるのですが、これを解決する方法がわかりません。
回答よろしくお願いします。
java
1import java.util.Scanner; 2 3class LinearSearch{ 4 static int a[]; 5 Scanner scanner =new Scanner(System.in); 6 final static int NUM = scanner.nextInt(); 7 public static void set(){ 8 System.out.println("要素数を入力"); 9 for(int i=0;i<NUM;i++){ 10 a[i]=scanner.nextInt(); 11 } 12 } 13 public static int search(int key){ 14 int i; 15 for(i=0;i<NUM;i++){ 16 if(a[i]==key){ 17 return i; 18 } 19 } 20 return -1; 21 } 22 public static void main(String args){ 23 this.set(); 24 int key=scanner.nextInt(); 25 if(this.search(key)==-1){ 26 System.out.println(key+"is not found."); 27 }else if(this.search(key)!=-1) { 28 System.out.println(key+"is found."); 29 }else if(key==-999999){ 30 return; 31 } 32 } 33} 34
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。