简单的问题(我是初学者!)...我的java程序需要返回用户输入的整数存储为变量" a"和" z"。使用Scanner和nextInt()方法初始化这两个变量。这是我的代码:
Scanner in = new Scanner(System.in);
int a;
int z;
int x;
System.out.println("Please provide a lower bound (integer): ");
a = in.nextInt();
System.out.println("Please provide an upper bound (integer): ");
z = in.nextInt();
所以现在我需要在稍后出现的for循环中引用这些用户输入的变量,但我不知道执行此操作的语法。我需要for-loop从" a"开始。然后一个接一个地继续,直到" z"。
for(a ; a <= z ; a++) {
//code irrelevant to my question
}
Java非常清楚我不能只在for循环中编写变量,那么我该怎么做呢?谢谢!
答案 0 :(得分:2)
你想用循环计数器做到这一点,让它成为i
:
for (int i = a; i <= z; i++) {
//process i
}
通过这种方式,您的i
从a
开始,最多增加到z
。
答案 1 :(得分:1)
从a开始,以z开头,包括:
for(; a <= z ; a++) {
在z:
之前停止for(; a < z ; a++) {
这会更改变量a
。
您不需要在第一个分号前填充该空格。那是“初始化计数器”点,你已经从循环上方(之前)的用户输入初始化了你的计数器。
如果您不想更改a
,那么只需将其值复制到临时值中,如@ skiwi的答案所示:
for(int i = a; i <= z; i++) {
答案 2 :(得分:0)
如果你想包括z:
for(int i=a;i<=z;i++){
[stuff]
}
或者,如果您希望它排除z:
for(int i=a;i<z;i++)
[stuff]
}
这是因为for循环的格式是for(int [counter]=[start value];[counter][condition][limit];[counter][change amount])
。例如,如果你想要一些东西循环到(包括)两个,包括零,你的代码将是for(int i=0; i<3;i++)
,而如果你想让它从2循环到零,它将是for(int i=2; i>=0;i--)
。
要制作循环跳过值,只需更改计数器增加/减少的数量,例如i+=2
或i-=2
答案 3 :(得分:0)
现有答案会告诉您如何解决问题,但不能解释问题所在。如果您尝试编译该类,则会看到以下错误
$ javac SomeClass.java
SomeClass.java:16: error: not a statement
for(a ; a <= z ; a++) {
^
那是因为a
本身不是声明。
最简单的事情是省略a
因为你不需要初始化它
for(; a <= z ; a++) {}
或者,你可以创建一个循环变量,这样你就不会影响a
,你可以在循环中初始化它,使它看起来更像一个普通的循环。
for(int i = a; i <= z ; i++) {}