请问老师为什么我的循环无法跳出

请问老师为什么我的循环无法跳出

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里

package yanshi;


import java.util.Scanner;


public class yanshi1 {

 

public static void main(String[] args) {

//输入科目和人数

System.out.println("请输入科目数量");

Scanner scc=new Scanner(System.in);//n,scc科目

int n=scc.nextInt();

System.out.println("请输入人数");

Scanner sccc=new Scanner(System.in);

int m=sccc.nextInt();

//二维数组输出

int[][] Array=new int[n][m];

//设置

int i=0;

int j;

double chengji=0;

String name="科目";

    //科目循环

for(;i<=Array.length-1;)//次循环无法跳出 {

System.out.println("请输入科目名称");

Scanner k=new Scanner(System.in);

name=k.next();

j=0;

chengji=0;

//成绩计算

for( ;j<=Array[i].length-1;) {

int a=0;

a=j+1;

i=0;

System.out.println("请输入第"+a+"同学的"+name+ "成绩");

Scanner s=new Scanner(System.in);

Array[i][j]=s.nextInt();

chengji=chengji+Array[i][j];

j++;

}

System.out.println(name+"总成绩"+chengji);

double pchengji;

pchengji=chengji/Array[i].length;

System.out.println(name+"平均成绩"+pchengji);

i++;

}


 

}


}

输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,

1、一个方法中定义一个Scanner对象就可以了,不需要创建多个。

参考代码如下:

http://img1.sycdn.imooc.com//climg/5fbf0cd80920574806270615.jpg

2、在输入成绩循环中不应该修改 i 的值。

参考代码如下:

http://img1.sycdn.imooc.com//climg/5fbf0d1f09a4b7a405750324.jpg

3、同学检查一下花括号添加的位置是否正确。

参考代码如下:

http://img1.sycdn.imooc.com//climg/5fbf0e2909f46ada00000000.jpg

4、变量名应该首字母小写,如int[][] Array = new int[n][m];中Array建议改为array

好帮手慕阿慧 2020-11-25 17:35:20

同学你好,

for循环后面没有使用花括号将循环中的代码括起来,建议同学加上。

参考代码如下:

http://img1.sycdn.imooc.com//climg/5fbe24fd09e5e46705420148.jpg

同学代码思路有些乱,同学可以参考如下思路:

a.定义一个3行2列的二维数组,用于存放3名学生的语文和数学成绩。定义两个变量,分别用于记录语文总成绩和数学总成绩

b.使用循环,如for循环,同学可以循环3次,每次接收1名学生的语文和数学成绩,并将接收的语文和数学成绩分别添加到语文总成绩和数学总成绩中。

c.在循环执行完后,根据总成绩除以总人数求出平均分。以求语文平均分为例,使用语文总成绩除以总人数3便可以求出语文的平均分。

  • 提问者 慕数据6159900 #1
    您好,花括号我加过了,但还是无法循环,当输入1名同学时可以跳出,输入其他值时无法跳出。 还有我的程序是班级成绩统计,输出如下。 请输入科目数量 2 请输入人数 1 请输入科目名称 数学 请输入第1同学的数学成绩 70 数学总成绩70.0 数学平均成绩70.0 请输入科目名称 语文 请输入第1同学的语文成绩 80 语文总成绩80.0 语文平均成绩80.0 请输入科目名称 英语 请输入第1同学的英语成绩 90 英语总成绩90.0 英语平均成绩90.0 请输入科目名称 原本应该进行两次大循环,但是他却无法停止,我的终止条件是for(;i<=Array.length-1;),说明一下,我的语法没有错误,只是逻辑上出了一些问题。
    2020-11-26 08:21:11
  • 提问者 慕数据6159900 #2
    您好,花括号我加过了,但还是无法循环,当输入科目数量1时可以跳出,输入其他值时无法跳出。 还有我的程序是班级成绩统计,输出如下。 请输入科目数量 2 请输入人数 1 请输入科目名称 数学 请输入第1同学的数学成绩 70 数学总成绩70.0 数学平均成绩70.0 请输入科目名称 语文 请输入第1同学的语文成绩 80 语文总成绩80.0 语文平均成绩80.0 请输入科目名称 英语 请输入第1同学的英语成绩 90 英语总成绩90.0 英语平均成绩90.0 请输入科目名称 原本应该进行两次大循环,但是他却无法停止,我的终止条件是for(;i<=Array.length-1;),说明一下,我的语法没有错误,只是逻辑上出了一些问题。
    2020-11-26 08:23:20
  • 提问者 慕数据6159900 #3
    您好,花括号我加过了,但还是无法循环,当输入科目数量1时可以跳出,输入其他值时无法跳出。 还有我的程序是班级成绩统计,输出如下。 请输入科目数量 2 请输入人数 1 请输入科目名称 数学 请输入第1同学的数学成绩 70 数学总成绩70.0 数学平均成绩70.0 请输入科目名称 语文 请输入第1同学的语文成绩 80 语文总成绩80.0 语文平均成绩80.0 请输入科目名称 英语 请输入第1同学的英语成绩 90 英语总成绩90.0 英语平均成绩90.0 请输入科目名称 原本应该进行两次大循环,但是他却无法停止,我的终止条件是for(;i<=Array.length-1;),说明一下,我的语法没有错误,只是逻辑上出了一些问题。
    2020-11-26 08:23:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师