题目1:2015-5-19下午参加某某公司的笔试题(Java开发),要求实现将输入的句子倒序输出。比如输入“I Love You ”,返回“You Love I”。
显然,首先应该将输入的句子存储在一个字符串数组中。
一开始想了老半天不知道怎么实现输入控制,就是实现将输入的句子存在字符串数组中。怎么实现呢?
我当场是没有这么做的,索性直接以相应的字符串数组作为入口参数实现句子逆序输出,这个简单。代码如下:
public static String[] UpsideDown (String[] StrTest) {
int k = StrTest.length-1;
String[] returnStrArr = new String[StrTest.length];
for (String str : StrTest) {
returnStrArr[k] = str;
k--;
}
for (int i = 0; i < StrTest.length; i++) {
returnStrArr[k--] = StrTest[i];
}
return returnStrArr;
}
但是回来想想这是不应该的,要实现将输入的一堆以空格分隔的字符串存储在数组中应该是简单的,于是就打开IDE开始尝试了。。。试了很久,中间过程省略,结果如下,如果太笨请别笑,告诉我你的答案哈!!谢谢!
import java.util.Scanner;
/**
* 2015参加某某公司的笔试题(Java开发),要求实现将输入的句子倒序输出。
* @File InversionSentence.java
* @date 2015年5月19日
* @auther Fzu_Xmu_bmw http://weibo.com/wangmb007
*/
public class InversionSentence {
public static void main(String[] args) {//来来来,测试一下
String[] TestStrArr = GetLineToStringArray();
String[] InversionStrArr = InversionStrArray(TestStrArr);
for (String s : InversionStrArr) {
System.out.print(s+" ");
}
}
/**
* 实现将输入的字符串数组存入数组并返回相应的字符串数组,输入的字符串以空格间隔。
* return Line ; Line 是一个字符串数组
* @author http://weibo.com/wangmb007
*/
public static String[] GetLineToStringArray(){
String[] TempArray = new String[100];
Scanner inputLine = new Scanner(System.in);
String s0 = inputLine.nextLine();
Scanner Input = new Scanner(s0);
int cnt=0;
while (Input.hasNext()) {
TempArray[cnt] = Input.next();
cnt++;
}
String[] Line = new String[cnt];
for (int i = 0; i < cnt; i++) {
Line[i]=TempArray[i];
}
inputLine.close();
Input.close();
return Line;
}
/**
* 实现将输入的字符串数组逆序存储并返回。
* @param inputStrArray
* @return InversionStrArray
* @author http://weibo.com/wangmb007
*/
public static String[] InversionStrArray(