哪位大神知道 这是什么意思

javaYu_ 2016-11-23 08:01:41
...全文
123 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaYu_ 2016-11-23
  • 打赏
  • 举报
回复
知道了 找到了
javaYu_ 2016-11-23
  • 打赏
  • 举报
回复
哪里有问题越界了
javaYu_ 2016-11-23
  • 打赏
  • 举报
回复
import java.util.*;
public class Test5_17 {
	public static void main(String[] args){
		Scanner in=new Scanner(System.in);
		System.out.println("请输入学生的人数");
		int dj=in.nextInt();
		System.out.println("请输入课程数目");
		int ok=in.nextInt();
		String[] name=new String[dj];//定义一个储存学生名字的数组
		String[] ys=new String[ok];//定义一个储存课程名称的数组
		int[][] sum=new int[dj][ok];
		int[] suo=new int[dj];
		int[] avg=new int[dj];
		String[] str=new String[dj]; 
		for(int i=0;i<ys.length;i++){
			System.out.println("请定义第"+(i+1)+"门课程名称");
			ys[i]=in.next();//课程名称接收到数组中
		}
		for(int i=0;i<dj;i++){
			int s=0;
			System.out.println("请输入第"+(i+1)+"个学生名字");
			name[i]=in.next();//储存学生名字
			String str11="";
			for(int j=0;j<ok;j++){
				System.out.println("请输入"+name[i]+ys[j]+"的成绩");
				sum[i][j]=in.nextInt();//接收特定的学生课程成绩
				s+=sum[i][j];
				str11+=sum[i][j]+"\t";
			}
			suo[i]=s;
			avg[i]=s/ok;
			str[i]=name[i]+"\t"+str11+suo[i]+"\t"+avg[i];//整合
		}
		for(int i=0;i<suo.length;i++){
			for(int j=0;j<suo.length;j++){
				if(suo[j]<suo[j+1]){
					int t1=suo[j];	    String t2=str[j];
					suo[j]=suo[j+1];	str[j]=str[j+1];
					suo[j+1]=t1;	    str[j+1]=t2;
				}
			}
		}
		System.out.print("学生");
		for(int i=0;i<ys.length;i++){
			System.out.print("\t"+ys[i]);
		}
		System.out.print("\t总分\t平均分\t排行榜");
		System.out.println();
		for(int i=0;i<dj;i++){
			System.out.print(str[i]+"\t"+(i+1)+"名");
		}
	}
}
朔北冥 2016-11-23
  • 打赏
  • 举报
回复
数组下标越界。。。。
baidu_35198066 2016-11-23
  • 打赏
  • 举报
回复
数组角标异常,贴出代码

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧