扫描仪无法找到符号错误

时间:2015-03-29 10:14:19

标签: find symbols

我试图让这个程序运行,但我有一个我无法解决的最后一个错误。尝试在我的lasTal()函数中获取用户输入时收到错误消息。我对这个错误感到惊讶,因为完全相同的代码行在我的其他程序中对我有用。

import java.util.Scanner;

public class Nastaord{
    public static int bFinal, cFinal;
    public static int[] tallistaFinal;

    private static int[] lasTal(){
        int[] tallista; //Det vi ska ha talföljden i

        int i = 0;  //räknare för tallista
        while(true){
            System.out.print("Ange tal, eller tryck enter om du är klar: ");
            String input = scanner.nextLine();
            int nytt_tal = Integer.parseInt(input);
            if(input == ""){
                return tallista;}
            tallista[i] = nytt_tal;
            i++;
        }

    }
    private static boolean bcFinns(int[] tallista){
        boolean OK = true;
        for(int b = -9; b <= 9; b++){
            for(int c = -9; c <= 9; c++){
                for(int i = tallista.length; i > 0;i--){
                    OK = tallista[i] == tallista[i-1]*b+c;
                    if(OK == false){
                        break;}

                    }
                if(OK == true){
                    bFinal = b;
                    cFinal = c;
                    tallistaFinal = tallista;
                    return true;}
                }
            }
        return false;
        }

    public static void main(String[] args){
        boolean OK = bcFinns(lasTal());
        if (OK == true){
            System.out.print(tallistaFinal[tallistaFinal.length-1]*bFinal+cFinal);
        }
        if (OK == false){
            System.out.print("No");
        }
    }
}

这是我的错误消息:

Nastaord.java:13: error: cannot find symbol
            String input = scanner.nextLine();
                           ^
  symbol:   variable scanner
  location: class Nastaord

由于

1 个答案:

答案 0 :(得分:0)

您没有创建扫描程序对象。在lasTal()方法中使用此方法开始从键盘输入,你需要初始化“tallista”数组。

Scanner scanner = new Scanner(System.in);