请帮助,我是java的新手。我必须使用数组,for和子程序来完成家庭作业。到目前为止,这是我的代码:
import java.util.*;
import static java.lang.System.out;
public class ventasArreglo{
static int dias, semanas, i, j;
static Scanner kb=new Scanner(System.in);
public static void main(String args[]){
dias=5;
semanas=4;
int mes[][] = new int[semanas][dias];
introducirDatos();
}
static void introducirDatos(){
for(i=0;i<semanas;i++){
for(j=0;j<dias;j++){
out.println("Cantidad de Ventas");
mes[i][j]=kb.nextInt();
}
}
}
}
但是在编译之后我一直收到这个错误:
发现1错误:[line:20]
Error: cannot find symbol
symbol: variable mes
location: class ventasArreglo
答案 0 :(得分:1)
变量mes
的声明应移到外面,以便静态方法introducirDatos
可见:
static int dias, semanas;
static int[][] mes;
public static void main(String[] args) {
dias=5;
semanas=4;
mes = new int[semanas][dias];
introducirDatos();
}
static void introducirDatos(){
Scanner kb=new Scanner(System.in);
for(int i=0;i<semanas;i++){
for(int j=0;j<dias;j++){
out.println("Cantidad de Ventas");
mes[i][j]=kb.nextInt();
}
}
}
同样Scanner
应移到实际需要的方法内,而不是在顶层声明它是静态的。循环计数器也不需要在顶层。
但是你为什么要使用静态导入?我们应该谨慎使用它们。如doc中所述:
那么什么时候应该使用静态导入?非常谨慎!只在使用时使用它 否则你会想要声明常量的本地副本,或者 滥用继承(Constant Interface Antipattern)。 ... 如果你 过度使用静态导入功能,它可以使您的程序不可读 并且不可维护,用所有静态污染其命名空间 您导入的成员。
同时检查link。