java 输入一句英文句子,翻转句子中单词的顺序,单词内字符的顺序也要改变,句子中单词以空格符隔开.

例如如果输入时Hello,pleasefixme!,输出就应该是!mefixplease,Hello... 例如如果输入时Hello,please fix me!,输出就应该是!me fix please,Hello 展开
 我来答
herrywood
2012-02-10 · TA获得超过869个赞
知道小有建树答主
回答量:523
采纳率:66%
帮助的人:488万
展开全部
String q = "Hello,please fix me!";
Stack<String> stack = new Stack<String>();
int l = 0;
for (int i = 0; i < q.length(); i++) {
switch(q.charAt(i)) {
case '!':
case ',':
case ' ': {
stack.push(q.substring(l, i));
l = i + 1;
stack.push(q.substring(i, l));
}
}
}
if (l < q.length()) stack.push(q.substring(l));
while (!stack.isEmpty())
System.out.print(stack.pop());
20新年好12
2012-02-10 · TA获得超过204个赞
知道答主
回答量:34
采纳率:0%
帮助的人:11.3万
展开全部
public class test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String q = "Hello , please fix me !";

String[] aa=(String[]) q.split(" ");
for(int i = aa.length ;i>0 ;i--){
System.out.print(aa[i-1]+" ");
}
}
}
输出结果 ! me fix please , Hello
追问
题目的字符和单词间是没空格的 还是要谢谢你哈
追答
import java.util.HashMap;
import java.util.Map;

public class test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String q = "Hello, please fix me!";

String[] aa=(String[]) q.split(" ");
Map ll = new HashMap();
ll.put("!", "!");
ll.put(",", ",");
for(int i = aa.length ;i>0 ;i--){
String w = aa[i-1];
String e = w.substring(aa[i-1].length()-1);

if (ll.containsKey(e)){
w=e+w.substring(0, aa[i-1].length()-1);
}
System.out.print(w+" ");
}
}
}

符合要求了 给分吧 呵呵
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NotigerKuiKui
2012-02-10 · TA获得超过2802个赞
知道大有可为答主
回答量:1592
采纳率:76%
帮助的人:464万
展开全部
抛开java语法和函数,所有语言可以通用的算法是:
1.建一个单词字符串 strWord
2.建一个单词标点栈
3.逐字符读取,判断是否是字母(ascii或其它方法),如果是字母放到strWord中,如果读取到空格或标点符号且strWord非空则把strWord入栈,在把空格或标点入栈,然后清空strWord准备接受下一个字符
最后出栈
追问
对栈操作不是很熟悉 能把代码麻烦贴出来吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pyxnxc
2012-02-10
知道答主
回答量:25
采纳率:0%
帮助的人:18.6万
展开全部
public static String fanZhuan(String s ) {
String[] ss = s.split(" ");
String new_s = "";
for (int i=ss.length-1;i>-1;i--) {
new_s += ss[i]+" ";
}
return new_s;
}
追问
这时候的输出符号和普通字符放在了一块 你得到的结果是me! fix please Hello,
追答
嗯嗯  是的呢  因为是用空格分割的吧  就把那些输出符号也默认和单词放在一起了  这个方法用的时候最好要都打上空格  就是单词和标点之间也要加上空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panpan138831
2012-02-10
知道答主
回答量:12
采纳率:0%
帮助的人:6.6万
展开全部
使用Java中的charAt()方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式