CnMarijuana 2017-10-24 09:53 采纳率: 100%
浏览 387

字符串数组长度和其他问题

在刷PAT乙级第三个题,看了两天了弄不出来,
感觉判断算法没问题,但是在主类中调用的时候就会出现错误。
详见图


import java.util.Scanner;

public class Test
{
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int n = cin.nextInt();
        String[] arr = new String[n];
        for(int i = 0; i < arr.length; i++)
        {
            arr[i] = cin.nextLine();
        }
        for(int i = 0; i < arr.length; i++)
        {
            if(Tool.judge(arr[i]))
            {
                System.out.println("YES");
            }
            else
            {
                System.out.println("NO");
            }
        }
    }
}

class Tool
{


    public static boolean judge(String str)
    {
        int pNum = 0;
        int tNum = 0;
        int aNum = 0;
        for( int i = 0; i < str.length(); i++)
        {
            switch(str.charAt(i))
            {
            case'P': pNum += 1; break;
            case'T': tNum += 1; break;
            case'A': aNum += 1; break;
            default: return false;
            }
        }
        if(pNum != 1||tNum != 1)
        {
            return false;
        }
        str = str.substring(str.indexOf('P'));
        if(str.indexOf('P') > str.indexOf('A')||str.indexOf('P') > str.indexOf('T')||str.indexOf('A') > str.indexOf('T'))
        {
            return false;
        }
        if((str.indexOf('T')-str.indexOf('P')) > 3)
        {
            return false;
        }
        return true;
    }
}

图片说明

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 写uniapp时遇到的问题
    • ¥15 vs 2008 安装遇到问题
    • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
    • ¥15 找一个网络防御专家,外包的
    • ¥100 能不能让两张不同的图片md5值一样,(有尝)
    • ¥15 informer代码训练自己的数据集,改参数怎么改
    • ¥15 请看一下,学校实验要求,我需要具体代码
    • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
    • ¥20 MATLAB绘制两隐函数曲面的交线
    • ¥15 求TYPCE母转母转接头24PIN线路板图