首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:找不到符号符号:变量mes位置:类ventasArreglo

错误:找不到符号符号:变量mes位置:类ventasArreglo
EN

Stack Overflow用户
提问于 2015-10-01 00:02:49
回答 1查看 1.6K关注 0票数 1

帮帮忙,我刚开始接触java。我必须使用数组、for和子程序来完成作业。到目前为止,这是我的代码:

代码语言:javascript
复制
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(); 
      }
    }
  }
}

但是在编译之后,我继续得到这个错误:发现了一个错误:行: 20

代码语言:javascript
复制
Error: cannot find symbol
  symbol:   variable mes
  location: class ventasArreglo
EN

回答 1

Stack Overflow用户

发布于 2015-10-01 00:11:36

变量mes的声明应该移到外部,以便静态方法introducirDatos可以看到它。

代码语言:javascript
复制
    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应该移到实际需要它的方法中,而不是在顶层声明它是静态的。此外,循环计数器不需要在顶层。

但是为什么要使用静态导入呢?我们应该少用它们。正如文档中提到的

,那么什么时候应该使用静态导入呢?非常谨慎!只在您想声明常量的本地副本或滥用继承(常量接口反模式)时才使用它。..。如果您过度使用静态导入功能,它可能会使您的程序不可读和不可维护,从而使用您导入的所有静态成员污染它的命名空间。

也检查一下这个链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32877473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档