L1-059 敲笨钟 - java

题目解析

给定一些诗句 判断是否压ong

  • 成立: 修改最后三个词
  • 不成立: 输出Skipped

解题思路

可以用 lastIndexOf 去判断诗句 是否压ong
还可以利用endsWith 判断是否压ong

代码

lastIndexOf

import java.io.*;
import java.math.*;
import java.util.*;

public class Main
{

	public static void main(String[] args)
	{
		int n = sc.nextInt();
		sc.nextLine();

		while (n-- > 0)
		{
			String s[] = sc.nextLine().split(", ");

			int len0 = s[0].length(), len1 = s[1].length();
			if ((len0 >= 3 && s[0].lastIndexOf("ong") == len0 - 3)
					&& (len1 >= 4 && s[1].lastIndexOf("ong.") == len1 - 4))
			{
				String t[] = s[1].split(" +");
				int len = t.length;

				t[len - 3] = "qiao";
				t[len - 2] = "ben";
				t[len - 1] = "zhong.";

				out.print(s[0] + ", ");
				for (int i = 0; i < len; i++)
				{
					if (i != 0)
						out.print(" ");
					out.print(t[i]);
				}
				out.println();
			} else
				out.println("Skipped");
		}

		out.flush();
		out.close();
	}

	static Scanner sc = new Scanner(System.in);
	static PrintWriter out = new PrintWriter(System.out);
}


endsWith

import java.io.*;
import java.math.*;
import java.util.*;

public class Main
{

	public static void main(String[] args)
	{
		int n = sc.nextInt();
		sc.nextLine();

		while (n-- > 0)
		{
			String s[] = sc.nextLine().split(", ");
			if (s[0].endsWith("ong") && s[1].endsWith("ong."))
			{
				String t[] = s[1].split(" +");
				int len = t.length;
				t[len - 3] = "qiao";
				t[len - 2] = "ben";
				t[len - 1] = "zhong.";

				out.print(s[0] + ", ");
				for (int i = 0; i < len; i++)
				{
					if (i != 0)
						out.print(" ");
					out.print(t[i]);
				}
				out.println();
			} else
				out.println("Skipped");
		}

		out.flush();
		out.close();
	}

	static Scanner sc = new Scanner(System.in);
	static PrintWriter out = new PrintWriter(System.out);
}


lastIndexOf

endsWith


团体程序设计天梯赛-练习集-java

赞赏