用于循环保持值

时间:2013-10-17 07:16:31

标签: java for-loop

这是一个非常基本的for循环,我正在尝试设计但由于某种原因,它只是不起作用。我正在制作一个方法,让用户输入3个测试分数(整数)。问题是,我需要将3个整数的值保存到变量中。

public static int testScore()

{    //starts method

int test1;
int test2;
int test3;
int i;

test1=0
for (i=1; i < 3; i++)
{    //starts for loop
System.out.print("\nPlease enter your test scores: ";
int test1=kb.nextInt();
}   //end for loop

忽略我可能遇到的任何语法错误(粗略草稿),这会将我生成的3个值保存到test1,2和3,或者只是测试1,因为我有int test1 = ... thanks。

6 个答案:

答案 0 :(得分:3)

这就是Java中arrays的原因。

int[] test = new int[3];
System.out.print("\nPlease enter your test scores: ";
for (i=0; i < 3; i++) {    
    test[i] = kb.nextInt();
} 

你宣布test1两次 - 一次进入testScore的范围,一次进入循环范围并且不好。

另请注意,Java中的数组从零开始,您可能希望从 0 开始循环。
建议为变量赋予有意义的名称,而不是test。例如,考虑将其更改为values

答案 1 :(得分:3)

据我了解你的问题,你想在变量中保存3个值(你输入的地方) 我认为你应该使用array

int[] tests = new int[3];

for (int i = 0; i < 3; i++) {    
    System.out.print("\nPlease enter your test scores: ");
    tests[i] = kb.nextInt();
} 

如果要保存未定义数量的值,稍后可以使用Lists(动态数组)。

答案 2 :(得分:1)

您正在将三个值写入同一个变量三次,因此只保留最后一个条目。如果需要将更多值存储到单个变量中,请使用数组。你也在循环中声明变量new,所以它会隐藏外部变量......

int[] store = new int[3]
for (int i=0; i < 3; i++)
{    //starts for loop
     System.out.print("\nPlease enter your test scores: ";
     store[i]=kb.nextInt();
}

答案 3 :(得分:0)

使用数组而不是单个变量

Integer[] test_array = new Integer[3];
for (i=1; i < 3; i++) 
{    
    System.out.print("\nPlease enter your test scores: ";
    test_array[i] = kb.nextInt();
} 

答案 4 :(得分:0)

最好的方法是使用数组。但是你仍然希望没有数组:

System.out.print("\nPlease enter your test1 scores: ");
int test1=kb.nextInt();

System.out.print("\nPlease enter your test2 scores: ");
int test2=kb.nextInt();

System.out.print("\nPlease enter your test3 scores: ");
int test3=kb.nextInt();

但我强烈建议使用数组。 浏览此链接以了解数组  http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

答案 5 :(得分:0)

您的循环仅为每次迭代收集单个数据的输入。

您有两种选择:

  • 每次迭代为每个变量添加特殊情况(这是维护噩梦)

  • 正如之前的海报回复使用适当大小的Array并使用驱动for循环的相同变量对其进行索引:

    Array[i]=kb.nextInt()