java面向对象-String类

第一题:

编程要求

本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

  • roster1变量为之前的全班花名册,roster2变量为小明统计的全班花名册。

  • 你将被要求输出3行:

    • 第一行为roster1的长度;

    • 第二行为roster2的长度;

    • 第三行为两个花名册是否相同,若相同,输出“相同”;反之输出“不相同”(若姓名顺序不同,也算作不相同)。

评测说明

平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入:
张三 李四 王五 小明
李明 张三 小明 王五
预期输出:
11
11
不相同

package step1;

import java.util.Scanner;

public class Roster {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        /********** Begin *********/

        String str1=scanner.next();

        String str2=scanner.next();

        String str3=scanner.next();

        String str7=scanner.next();

        String str4=scanner.next();

        String str5=scanner.next();

        String str6=scanner.next();

        String str8=scanner.next();

        String roster1 = str1+" "+str2+" "+str3+" "+str7;

        String roster2 = str4+" "+str5+" "+str6+" "+str8;

        System.out.println(roster1.length());

        System.out.println(roster1.length());

        if(roster1.compareTo(roster2) == 0){

            System.out.println("相同");

        }else{

            System.out.println("不相同");

     }

        /********** End *********/

    }

}
第二题:

编程要求

本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

  • data变量为乱码文件的文本数据,由命令行读入;

  • name变量为需要查找的姓名,由命令行读入;

  • 你将被要求输出若干行,每一行为查找到的姓名的位置。

评测说明

平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入:
我嗨李四各位哦给李四复位后发我肥沃李四放我访问后李樊红伟四分嚄嚄嚄范围李四佛为红包蓝色配个好玩李四
李四
预期输出:
2
8
17
35
47

package step2;

import java.util.Scanner;

public class NameSearch {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        /********** Begin *********/

        String data=scanner.next();

        String name=scanner.next();

        int j,k=0;

        for(int i=0;i<data.length();){

            j=data.indexOf(name,i);

            if(j!=-1){

                if(j!=k){

                    System.out.println(j);

                }

            }

            else{

                break;

            }

            k=j;

            i=i+name.length();

        }

        /********** End *********/

    }

}

第三题:

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • 判断输入的Java文件名是否正确,判断邮箱格式是否正确。其中:合法的文件名应该以 .java 结尾;合法的邮箱名中至少要包含 @ , 并要求 @ 在 . 之前。

测试说明

文件名(fileName)和邮箱(email)会作为函数的参数传入。

输入:

 
  1. HelloWorld.java
  2. laurenyang@edu.com

输出:
Java文件名正确
邮箱名正确

输入:
.java
123456@qq.@com

输出:
Java文件名无效
邮箱名无效

package step3;

public class HelloWorld {

    public void judge(String fileName,String email){

        //请在此添加实现代码

/********** Begin **********/

     String str1=".java";

     if(fileName.indexOf(str1) > 0) {

            String str2 = fileName.substring(fileName.length()-str1.length());

            if (str1.equals(str2) && str1.length() < fileName.length()) {

                System.out.println("Java文件名正确");

            }else {

            System.out.println("Java文件名无效");

            }

        }else {

            System.out.println("Java文件名无效");

        }

        int a = email.lastIndexOf("@");

        int b= email.lastIndexOf(".");

         if(a > 0 && b > 0) {

             if (a > 0 && a < b) {

                 System.out.println("邮箱名正确");

             }else {

                System.out.println("邮箱名无效");

             }

        }else {

            System.out.println("邮箱名无效");

        }

/********** End **********/

    }

}

第四题:

编程要求

本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

  • data变量为需要进行反转的文本;

  • ans变量为反转后的文本。

评测说明

平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入:

oT eb ro ton ot eb

预期输出:

To be or not to be

package step4;

public class Reverse {

    public static StringBuffer start(String data) {

        StringBuffer ans = new StringBuffer();

        /********** Begin *********/

        String[] str2=data.split(" ");

        String str3=null;

        for(int i=0;i<str2.length;i++){

            StringBuffer stringBuffer=new StringBuffer(str2[i]);

            str2[i]=stringBuffer.reverse().toString();

            if(i==0){

                str3=str2[0];

            }

            if(i>0){

                str3=str3+" "+str2[i];

            }

        }

        ans=new StringBuffer(str3);

        /********** End *********/

        return ans;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值