如何引用用户输入的int?

时间:2014-03-14 20:23:47

标签: java for-loop java.util.scanner user-input

简单的问题(我是初学者!)...我的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循环中编写变量,那么我该怎么做呢?谢谢!

4 个答案:

答案 0 :(得分:2)

你想用循环计数器做到这一点,让它成为i

for (int i = a; i <= z; i++) {
    //process i
}

通过这种方式,您的ia开始,最多增加到z

答案 1 :(得分:1)

从a开始,以z开头,包括:

for(; a <= z ; a++) {

在z:

之前停止
for(; a < z ; a++) {

这会更改变量a

您不需要在第一个分号前填充该空格。那是“初始化计数器”点,你已经从循环上方(之前)的用户输入初始化了你的计数器。

如果您不想更改a,那么只需将其值复制到临时值中,如@ skiwi的答案所示:

for(int i = a; i <= z; i++)  {

以下是一些很好的信息:https://www.google.com/search?q=for+loop+java

答案 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+=2i-=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++) {}