我试图让这个程序运行,但我有一个我无法解决的最后一个错误。尝试在我的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
由于
答案 0 :(得分:0)
您没有创建扫描程序对象。在lasTal()方法中使用此方法开始从键盘输入,你需要初始化“tallista”数组。
Scanner scanner = new Scanner(System.in);