我这个代码是不是废的,哈哈。

我这个代码是不是废的,哈哈。

public class ScoreDemo{

 public static void main (String[] args){

  //定义一个三行两列的整型二维数组intArray

  int[][] intArray=next int[3][2];

  int sumC=0,sumM=0;

  //从键盘输入学生成绩

  Scanner sc=new Scanner(System.in);

  for(int i=o;i<intArray.length;i++){

      System.out.print("请输入第"+(i+1)+"个学生的语文成绩:");

      intArray[i][0]=sc.nextint();

      System.out.print("请输入第"+(i+1)+"个学生的数学成绩:");

      intArray[i][1]=sc.nextint();

}

  //语文总成绩平均分

  for(int i=0;i<intArray.length;i++){

     sumC=sumC+intArray[i][0];

}

  double aveC=sumC/intArray.length;

  System.out.print(aveC);

  //数学总成绩平均分

  for(int i=o;i<intArray.length;i++){

     sumM=sumM+intArray[i][1];

}

   double aveM=sumM/intArrat.length;

   System.out.print(aveM);

}

}  还有几个疑问。第一,为什么输入的是i+1而不是i.当i=0时应该是第一行学生的成绩吧,i+1岂不是第一次运行就是第二行了。第二,第一个fo可不可以省去,直接设立int i=0,然后运行,我的理解中如果输入了树枝,会因为没达到条件而一直运行到i<3吧。还有,算平均数那个double可不可以在开头设置,是不是只要不赋值就可以了,等到算平均数再赋值。

正在回答 回答被采纳积分+1

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

4回答
慕少0276471 2020-02-28 23:09:58

int sumC=0,sumM=0;

int intArry[][]=new int[3][2];

for(int i=0;i<intArry.length;i++) {

for(int j=0;j<intArry[i].length;j++) {

if(j==0)System.out.println("请输入第"+(i+1)+"个学生的语文成绩:");

else System.out.println("请输入第"+(i+1)+"个学生的数学成绩:");

Scanner sc=new Scanner(System.in);

intArry[i][j]=sc.nextInt();

if(j==0)sumC=sumC+intArry[i][0];

else sumM=sumM+intArry[i][1];}

}

System.out.println("语文的总成绩为:"+sumC);

System.out.println("语文的平均分为:"+(sumC/intArry.length));

System.out.println("数学的总成绩为:"+sumM);

System.out.println("数学的平均分为:"+(sumM/intArry.length));



好帮手慕小尤 2020-02-23 14:37:53

同学你好,1. ParadoxEngine同学回答是正确的同学可以进行参考,修改后代码如下:

public static void main (String[] args){
		  //定义一个三行两列的整型二维数组intArray
		  int[][] intArray=new int[3][2];	
		  int sumC=0,sumM=0;		
		  //从键盘输入学生成绩		
		  Scanner sc=new Scanner(System.in);		
		  for(int i=0;i<intArray.length;i++){
		      System.out.print("请输入第"+(i+1)+"个学生的语文成绩:");
		      intArray[i][0]=sc.nextInt();
		      System.out.print("请输入第"+(i+1)+"个学生的数学成绩:");
		      intArray[i][1]=sc.nextInt();
		  }
		  //语文总成绩平均分

		  for(int i=0;i<intArray.length;i++){
			  sumC=sumC+intArray[i][0];
		  }

		  double aveC=sumC/intArray.length;
		  System.out.print(aveC);
		  //数学总成绩平均分
		  for(int i=0;i<intArray.length;i++){
			  sumM=sumM+intArray[i][1];
		  }
		  double aveM=sumM/intArray.length;
		  System.out.print(aveM);
	}

2. 第一个循环不建议去除,但建议同学去除第二个与第三个循环,计算总成绩在第一个循环中进行计算。修改后代码如下:

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

public static void main (String[] args){
		  //定义一个三行两列的整型二维数组intArray
		  int[][] intArray=new int[3][2];	
		  int sumC=0,sumM=0;		
		  //从键盘输入学生成绩		
		  Scanner sc=new Scanner(System.in);		
		  for(int i=0;i<intArray.length;i++){
		      System.out.print("请输入第"+(i+1)+"个学生的语文成绩:");
		      intArray[i][0]=sc.nextInt();
		      System.out.print("请输入第"+(i+1)+"个学生的数学成绩:");
		      intArray[i][1]=sc.nextInt();
		      sumC=sumC+intArray[i][0];
		      sumM=sumM+intArray[i][1];
		  }
		  //语文总成绩平均分
		  double aveC=sumC/intArray.length;
		  System.out.print(aveC);
		 
		  double aveM=sumM/intArray.length;
		  System.out.print(aveM);
	}

如果我的回答解决了你的疑惑,请采纳,祝学习愉快了~

慕容2892559 2020-02-23 12:08:15

关于你的疑问,解答如下:

  1. 在输入成绩那里,你的i是从0开始,但是显示的是请输入第i+1个学生的成绩,实际上运行的还是数组的第i行,例如你输入第一个学生的成绩,实际上是在操作数组的第1行即intArray[0]

  2. 第二个疑问没怎么看明白,你可以再描述一下

  3. 关于平均值的声明,可以在前面声明。

慕容2892559 2020-02-23 11:56:20

以下回答仅提供语法错误,还没看逻辑是否有问题。关于逻辑是否有误请看我下一篇回答。

  1. int[][] intArray=next int[3][2]; 写法错误,应该是int[][] intArray=new int[3][2];

  2.  for(int i=o;i<intArray.length;i++) 写法错误,o应该是0

  3.  System.out.print("请输入第"+(i+1)+"个学生的语文成绩:");写法错误,最后应该是英文分号

  4. intArray[i][0]=sc.nextint(); 写法错误,应该是nextInt()

  5. System.out.print("请输入第"+(i+1)+"个学生的数学成绩:");错误同3

  6. intArray[i][1]=sc.nextint(); 错误同4

  7. for(int i=o;i<intArray.length;i++) 错误同2

  8. double aveM=sumM/intArrat.length; 写法错误,应该是intArray

  • 测试之后代码逻辑错误如下: 1.未输出语文总成绩,数学总成绩 2.如果仅从题目本身效果图出发,则语文平均分及数学平均分应该定义为int 3.输出最好使用println或者print里面带空格,不然数据贴合到一起了
    2020-02-23 12:02:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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