控制台报错了,不知道问题出在哪里?键盘输入这一点怎么优化?
public class ScoreDemo{
public static void main(String[] args){
//定义一个三行两列的整型二维数组intArray
int[][] intArray=new int[3][2];
//从键盘输入学生成绩,要求输入顺序与效果图一致
System.out.println("请输入第一个学生的语文成绩:");
Scanner a=new Scanner(System.in);
intArray[0][0]=a.nextInt;
System.out.println("请输入第一个学生的数学成绩:");
Scanner b=new Scanner(System.in);
intArray[0][1]=b.nextInt;
System.out.println("请输入第二个学生的语文成绩:");
Scanner c=new Scanner(System.in);
intArray[1][0]=c.nextInt;
System.out.println("请输入第二个学生的数学成绩:");
Scanner d=new Scanner(System.in);
intArray[1][1]=d.nextInt;
System.out.println("请输入第三个学生的语文成绩:");
Scanner e=new Scanner(System.in);
intArray[2][0]=e.nextInt;
System.out.println("请输入第三个学生的数学成绩:");
Scanner f=new Scanner(System.in);
intArray[2][1]=f.nextInt;
//求语文的总成绩和平均分
int sum1=intArray[0][0]+intArray[1][0]+intArray[2][0];
int avg1=sum1/3;
//求数学的总成绩和平均分
int sum2=intArray[0][1]+intArray[1][1]+intArray[2][1];
int avg2=sum2/3;
System.out.println("语文总成绩为:"+sum1);
System.out.println("语文平均成绩为:"+avg1);
System.out.println("数学总成绩为:"+sum2);
System.out.println("数学平均成绩为:"+avg2);
}
}
正在回答 回答被采纳积分+1
第一,Scanner a=new Scanner(System.in);这条语句只写一遍就好了,后面所有的输入都可以写成
intArray[0][0]=a.nextInt();
intArray[0][1]=a.nextInt();
........
intintArray[2][1]=a.nextInt();都是可以的,然后nextInt方法后面要加(),为什么要加我也不知道,反正不加就报错,关于简化输入这个,你得用循环,下面是我自己写的程序,刚学没多久,写的可能有点槽糕,你就当参考一下好了
package com.imooc.array;
import java.util.Scanner;
public class ArrayDemo3 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String[] subject= {"语文","数学"};//如果要添加科目,在这里添加
System.out.println("请输入学生的数量:");
int num=3;//修改学生数量
int[][] intArray=new int[num][subject.length];
int[] sum=new int[subject.length];
float[] average=new float[subject.length];
for(int i=0;i<=intArray.length-1;i++) {
//外循环i控制第i+1个学生
for(int j=0;j<subject.length;j++) {//内循环控制每个学生各科成绩
System.out.println("请输入第"+(i+1)+"个学生的"+subject[j]+"成绩");
intArray[i][j]=sc.nextInt();//把数据存放入二维数组intArray中
}
}
for(int i=0;i<num;i++) {
for(int j=0;j<subject.length;j++) {
sum[j]+=intArray[i][j];
}
}
for(int i=0;i<subject.length;i++) {
average[i]=sum[i]/3;
System.out.print(subject[i]+"的总成绩为:"+sum[i]+'\n');
System.out.print(subject[i]+"的平均成绩为:"+average[i]+'\n');
}
}
}
用循环来输入数据:
Scanner sc=new Scanner(System.in);
for(int i=0;i<3;i++){
for(int j=0;j<2;j++){
if(j==0){
System.out.println("Input "+(i+1)+" Student Yuwen Score:");
intArray[i][j]=sc.nextInt();
}
else if(j==1){
System.out.println("Input "+(i+1)+" Student Math Score:");
intArray[i][j]=sc.nextInt();
}
}
}
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星