1.接受由用户传来的多个String类型的参数, 首先将它们打印在屏幕上, 每个参数一行. 如果调用者没有传入任何参数, 则不进行下面的处理.
2.对这些参数进行处理, 具体的处理方式未定.
3.将2得到的处理结果打印在屏幕上.
4.目前第2步中需要完成下面三种处理:
4.1将所有的String参数连接成一个字符串, 中间以逗号(”,”)分隔.
4.2将第一个和最后一个字符串的所有小写字母转换成大写, 并连接起来, 中间没有分隔符. (如果只传入一个参数, 则只转换它)
4.3在第2个到最后一个字符串中, 查找第一个字符串. 并将查找的结果以下面的形式输出, 每个占一行: (如果只传入一个参数, 则不进行输出)
[参数的索引]: 查找的结果
比如找到的情况:
3: Founded “String1”
没找到的情况:
4: Not Founded “String1”
谢谢了!!
------解决方案--------------------
- Java code
import java.util.Arrays;public class RegexTest { public static void main(String[] args){ System.out.println("不传入参数"); print(); System.out.println("传入一个参数"); print("a"); System.out.println("传入多个参数"); print("a","b","c","d"); System.out.println("传入多个参数,并且第2个参数在后面参数中存在"); print("a","b","bc","bd","ee"); } public static void print(String...strings){ int length=strings.length; //传入参数处理,不传入不处理 if(length>0){ //4.1将所有的String参数连接成一个字符串, 中间以逗号(”,”)分隔. if(length>1){ String strJoin=Arrays.toString(strings); String newStr=strJoin.replaceAll("\\[|\\]|\\s", ""); System.out.println(newStr); } //4.2将第一个和最后一个字符串的所有小写字母转换成大写, 并连接起来, 中间没有分隔符. (如果只传入一个参数, 则只转换它) if(length>1){ String twoAndLastStr=(strings[0]+strings[length-1]).toUpperCase(); System.out.println(twoAndLastStr); } //4.3在第2个到最后一个字符串中, 查找第一个字符串. 并将查找的结果以下面的形式输出, 每个占一行: (如果只传入一个参数, 则不进行输出) if(length>1){ String twoStr=strings[1]; for(int i=1;i<length;i++){ int count=i+1; if(strings[i].contains(twoStr)) System.out.println(count+": Founded "+strings[i]); else System.out.println(count+": Not Founded "+strings[i]); } } } }}