不卷毛 2020-01-03 18:09 采纳率: 100%
浏览 389
已采纳

java编程题,通过不了case

老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.

输入描述:
输入包括多组测试数据。

每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。

学生ID编号从1编到N。

第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩

接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,

当C为'Q'的时候, 表示这是一条询问操作,他询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少

当C为‘U’的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。

我的代码是

import java.util.Scanner;
public class Main
{
    public static void mian(String[] args)
    {
        int i=0,j=0;
        int N=0,M=0;
        int a=0;
        int b=0;
        char c;
         Scanner s=new Scanner(System.in);
            while(s.hasNext())
            {

                N=s.nextInt();
                M=s.nextInt();
                int[] grade=new int[N];
                for(i=0;i<N;i++)
                    grade[i]=s.nextInt();
                for(i=0;i<M;i++)
                {
                    c=s.next().charAt(0);
                    a=s.nextInt();
                    b=s.nextInt();
                    int d=0;

                  switch(c)
                    {
                        case 'Q':
                            if(a>b)
                            {
                                d=a;
                                a=b;
                                b=d;
                            }
                            int max=grade[a-1];
                            for(j=a-1;j<b;j++)
                                if(max<grade[j])
                                  max=grade[j];
                            System.out.println(max);
                            break;
                        case 'U':
                            if(a>=1&&a<=N)
                            grade[a-1]=b;
                            break;

                    }

                }

            }
    }
}

我的代码问题在哪儿呢?

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-01-04 00:14
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊