当前位置: 首页 > 面试题库 >

复制局部变量(用于循环)

邹京
2023-03-14
问题内容

我正在尝试解决一个任务(我对Java还是很陌生),并且已经花了很多资源来解决此冲突,但是仍然无法解决(注意:Tuna是我的Scanner变量)

    int counted, sum, counted1;


    System.out.print("Enter your number to be calculated: ");
    counted = tuna.nextInt();
    counted1 =tuna.nextInt();


    for(int counted=0;counted<=counted1;counted++){
        System.out.println("The sum is: "+ counted);
    }
}

}

结果是:线程“ main” java.lang.Error中的异常:未解决的编译问题:重复的局部变量计数

我应该解决的问题是:

编写程序以读取一个数字并将所有数字从1汇总到该数字。例如,如果用户键入6,则输出为21(1 + 2 + 3 + 4 + 5 + 6)。

添加:我读了一个相当相似的question(),但是我没有通过事先声明而犯错。


问题答案:

您要在同一作用域中声明两个具有相同名称的变量:counted在循环外部和循环内部声明。顺便说一句,根据您的规范:

编写程序以读取一个数字,并将所有数字从1汇总到该数字。 例如,如果用户键入6,则输出为21(1 + 2 + 3 + 4 + 5 + 6)

您不需要第一个countedvar,因为它是一个常数(常数1)。您可以这样将1声明为常量:

final int STARTING_NUMBER = 1

然后在循环中使用此常量:

int counted, sum;
counted = tuna.nextInt();

for(int index=STARTING_NUMBER;index<=counted;index++){
    sum=sum+index;
}
System.out.println("The sum is: "+ sum);

编辑: 您可以在任何位置声明变量。重要的是您必须在同一范围内声明一次。您可以执行以下操作:

int counted, sum, index;
counted = tuna.nextInt();

for(index=STARTING_NUMBER;index<=counted;index++){
    sum=sum+index;
}
System.out.println("The sum is: "+ sum);

index在循环外声明。结果不会改变。但是,通常的做法是在for循环本身(更确切地说,是在其保护之下)中声明for loop用作索引的变量(可以调用此变量indexcounterimySisterIsCool等),以提高可读性。



 类似资料:
  • 主要内容:局部变量,全局变量,局部变量和全局变量的综合示例在《 C语言形参和实参的区别》中提到,形参变量要等到函数被调用时才分配内存,调用结束后立即释放内存。这说明形参变量的作用域非常有限,只能在函数内部使用,离开该函数就无效了。 所谓 作用域( Scope ) ,就是变量的有效范围。 不仅对于形参变量,C语言中所有的变量都有自己的作用域。决定变量作用域的是变量的定义位置。 局部变量 定义在函数内部的变量称为 局部变量(Local Variable) ,

  • Lua 的设计有一点很奇怪,在一个 block 中的变量,如果之前没有定义过,那么认为它是一个全局变量,而不是这个 block 的局部变量。这一点和别的语言不同。容易造成不小心覆盖了全局同名变量的错误。 定义 Lua 中的局部变量要用 local 关键字来显式定义,不使用 local 显式定义的变量就是全局变量: g_var = 1 -- global var local l_va

  • 简介 在前面的章节中,我已经讲述了如何定义函数。在本节中,我讲介绍局部变量,这将会使定义函数变得更加容易。 let表达式 使用let表达式可以定义局部变量。格式如下: (let binds body) 变量在binds定义的形式中被声明并初始化。body由任意多个S-表达式构成。binds的格式如下: [binds] → ((p1 v1) (p2 v2) ...) 声明了变量p1、p2,并分别

  • 局部变量用于模版渲染,也就是模版中的 site 变量。 默认变量 变量 描述 posts 所有文章 pages 所有分页 categories 所有分类 tags 所有标签 获取变量 hexo.locals.get('posts') 设置变量 hexo.locals.set('posts', function(){ return ... }); 移除变量 hexo.locals.remove(

  • 主要内容:Python局部变量,Python全局变量,获取指定作用域范围中的变量所谓 作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在整段代码的任意位置使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用。 变量的作用域由变量的定义位置决定,在不同位置定义的变量,它的作用域是不一样的。本节我们只讲解两种变量, 局部变量和 全局变量。 Python局部变量 在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能

  • 问题内容: 我了解Python中局部变量和全局变量的概念,但是我只是有一个问题,为什么下面的代码中会出现错误?Python逐行执行代码,因此在读取第5行之前,它不知道a是局部变量。Python尝试执行第5行后,会回退一行并将其标记为错误吗? 问题答案: 设置和测试 为了分析您的问题,让我们创建两个独立的测试函数来复制您的问题: 版画。因此,调用此函数不是问题,而是在下一个函数上: 我们收到一个错误