一、程序(实现略复杂)
import java.util.Scanner;
public class WordFilp{
public static void main(String[] args) {
System.out.println("请输入一个英文短语:");
WordFilp w = new WordFilp();
String a = w.cin();
String[] b = w.cut(a,' ');
b = w.changeN(b);
a = w.montage(b);
w.print(a);
}
/**
*
* @return 字符串输入
*/
public String cin(){
Scanner s = new Scanner(System.in);
String a = s.nextLine();
return a;
}
/**
*
* @param a 需要反转的字符串
* @return 反转后的字符串
*/
public String change(String a){
char[] b = new char[a.length()];
int j = a.length()-1;
for(int i = 0;i<a.length();i++){
b[i] = a.charAt(j);
j--;
}
a = String.valueOf(b);
return a;
}
/**
*
* @param a 需要反转的字符串组
* @return
*/
public String[] changeN(String[] a){
String[] b=new String[a.length];
for(int i = 0;i<a.length;i++)
b[i] = change(a[i]);
return b;
}
/**
*
* @param a 需要切割的字符串
* @param key 以key为标记进行切割,不包含
* @return 返回切割后的字符串组
*/
public String[] cut(String a,char key){
int c = 0,d = -1,e = 0;
for(int i = 0;i<a.length();i++)
if(a.charAt(i)==key) e++;
String[] b = new String[e+1];
for(int i = 0;i<a.length();i++){
if(a.charAt(i)==' '){
b[c] = a.substring(d+1, i);
d = i;
c++;
}
}
b[c] = a.substring(d+1,a.length());
return b;
}
/**
*
* @param a 需要拼接的字符串组,每个元素之间插入“ ”
* @return 返回拼接后的字符串组
*/
public String montage(String[] a){
String b = "";
for(int i = 0;i<a.length;i++){
b+=a[i];
if(i!=a.length-1)b+=" ";
}
return b;
}
/**
*
* @param a 打印字符串a
*/
public void print(String a){
System.out.println(a);
}
}
二、功能描述
输入一段英文短语,对其中每个单词反转后原格式输出。
注意:不可输入中文及标点符号,以enter结束
三、模块列表
1、字符串反转模块
2、字符串组组反转模块
3、字符串切割模块
4、字符串拼接模块
5、字符串输出模块
6、字符串输入模块