Java 添加for循环输入的数字

Java 添加for循环输入的数字,java,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

我的目标是使用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);
    }
}
import java.io.*;
班级学生{
公共静态void main(字符串参数[]){
int mks=0,i=0,percnt=0;
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
试一试{
System.out.println(“输入学生分数”);
对于(i=0;i
“我的目标是添加用户使用
“循环”

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

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

中,每次调用“mks=Integer.parseInt(br.readLine());”时,它都会覆盖mks的先前值。因此,上次运行它时,您会得到输入的最后一行+4(当时i的值)

如果您想对所有加载标记的值求和,则应创建一个不会被覆盖的新变量

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

在每次循环迭代中,您都要重新初始化累加器(mks)变量

您需要在循环之外定义一次,值为零,然后在每次循环迭代中添加到它

另外,去掉
mks=mks+i


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

您的代码应该是这样的

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);
intmks=0,i=0,percnt=0;
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
试一试{
System.out.println(“输入学生分数”);

对于(i=0;ii)如果这是作业,请添加作业tag@pb2q这并不是一个被塑造成一个整体的疑问Ques@Lion没关系,只要少1个entrymks+=Integer.parseInt(br.readLine());行中包含错误“”的非法开始expression@user1458650:该行是否放置在正确花括号内的for循环中?是,它放置在正确花括号内的for循环中braces@user1458650:代码按照我的预期编译和运行。您可能需要再次检查大括号的使用情况。
表达式的非法开始
通常是由于不正确地使用大括号和/或试图在另一个方法中声明一个方法。如果在循环外定义一次,它将无法从中获取多个值user@user1458650:在循环外声明它。但在循环内累积。除此之外,我不确定您为什么要将
I
添加到
mks
。当然,它按照指定的方式正常工作。没有计算问题。我认为,没有必要将
I
添加到
mks
。此语句
mks+=Integer.parseInt(br.readLine())+I;
似乎类似于
mks+=Integer.parseInt(br.readLine()),删除<代码> i>代码>。如果它对你有用,你应该把它标记为你的答案,因为StAdExver是一个信誉站点。