添加由for循环输入的数字

时间:2012-07-16 21:54:49

标签: java

我的目标是使用for循环添加用户输入的数字。

这是我的代码:

import java.io.*;
class Student {
    public static void main (String args[]){
    int mks=0, i=0 ,percnt=0;
    BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
        try {
            System.out.println("Enter Marks Of Student ");      

            for (i=0;i<=4;i++){
            mks= Integer.parseInt(br.readLine());
            mks=mks+i;
            }
        }catch (Exception e) {}
        percnt=mks/5;

        System.out.println("GRAND TOTAL = "+mks+ " PERCENTAGE"+percnt);
    }
}

我使用此代码获得最后输入的标记+4。

4 个答案:

答案 0 :(得分:1)

  

“我的目标是添加用户输入的数字   环“

您需要累积用户输入的每个整数:

mks += Integer.parseInt(br.readLine());
  

“我使用此代码获得了最后输入+ 4的标记”

这是因为您的代码:

mks= Integer.parseInt(br.readLine());  // Get the integer the user entered
mks=mks+i;        // Add i (which in the case of the last iteration is 4)
每次循环重启时,

都会设置mks的值。 此外,如果您尝试计算用户输入的所有数字,则无需将循环计数器i添加到累加器变量mks

答案 1 :(得分:0)

每次“mks = Integer.parseInt(br.readLine());”被调用,它会覆盖mks的先前值。所以你最后一次运行它,你得到的最后一行是+4(当时我的值)。

如果您想要对所有已加载标记的值求和,则应创建一个不会被覆盖的新变量。或者,您也可以

mrks = mrks + Integer.parseInt(br.readLine()) + i

答案 2 :(得分:0)

每次循环迭代都会重新初始化累加器(mks)变量。

你需要在循环之外定义一次,值为零,然后在每次循环迭代时添加它。

另外,摆脱mks=mks+i

最后,捕获异常并忽略它们对你没有任何帮助。出现异常时,您至少应该显示错误消息。否则,只需在throws子句中声明异常,然后让它传播(即让它终止程序)。

答案 3 :(得分:0)

您的代码应该像。

int mks=0, i=0 ,percnt=0;
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
try {
    System.out.println("Enter Marks Of Student ");

for (i=0;i<=4;i++){
    mks+=Integer.parseInt(br.readLine())+i;
    //mks=mks+i;
}
}catch (Exception e) {}
percnt=mks/5;
System.out.println("GRAND TOTAL = "+mks+ " PERCENTAGE"+percnt);