一个小程序,思前想后想不出,也许是我也不再太熟

大眼的小眼 2012-11-21 11:08:15
有个字符串"How are you! ",编写程序,让它输出" !you are How"(注意有空格)

我主要求思路 看看怎么遇见一个编程题怎么考虑
...全文
906 62 打赏 收藏 转发到动态 举报
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
大眼的小眼 2012-11-24
  • 打赏
  • 举报
回复
引用 59 楼 n1333 的回复:
引用 58 楼 n1333 的回复:StringBuffer result = new StringBuffer(); List<String> list = new ArrayList<String>(); String str = "How are you! "; Pattern pattern = Pattern.compile("\\w+|\\W{1}");……
嗯就这样
大眼的小眼 2012-11-24
  • 打赏
  • 举报
回复
引用 60 楼 n1333 的回复:
那个stringBuffer.reverse真是强大! 但是有个疑问,这个方法的具体用处是什么?
你像输出字符串
老思子 2012-11-23
  • 打赏
  • 举报
回复
写个正则提取单词与标点,每个单词或者标点作为一个String,之后添加到Collections(比如List)调用Collections的reverse翻转就行里
orangleliu 2012-11-23
  • 打赏
  • 举报
回复
引用 40 楼 zhengguanxi626 的回复:
Java code?123456789101112131415161718192021222324252627282930313233343536373839package com.zr.csdn; import java.util.regex.Matcher;import java.util.regex.Pattern; public class StringReve……
不错不错。。。学到点正则
zhengguanxi626 2012-11-23
  • 打赏
  • 举报
回复
package com.zr.csdn;

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class StringReverse {

	public static void main(String[] args) {
		String str ="How are you!";
		String str1 = "";
		Pattern p = Pattern.compile("([a-zA-Z]+)|([^\\w+ ])");
		Matcher m = p.matcher(str);
		while(m.find()){
			int start = m.start();
			int end = m.end();
			str1 = str1 + str.substring(start,end) + " ";
		}
	    String[] str2 = str1.split(" ");
	    
	    for (int i = str2.length-1; i >=0; i--){
	    	System.out.print(str2[i] + " ");
	    }
	    System.out.println();
	    System.out.println("**************************");
	    for (int i = str2.length-1; i >=0; i--){
	    	Pattern p1 = Pattern.compile("[^\\w+]");
			Matcher m1 = p1.matcher(str2[i]);
			if(m1.find()){
				System.out.print(" " + str2[i]);
			}
			else{
				System.out.print(str2[i] + " ");
			}
	    }
  
	}

}
这个只对单符合适用,多符号可以稍微再改改
大眼的小眼 2012-11-23
  • 打赏
  • 举报
回复
引用 36 楼 hahasimie 的回复:
Java code?123String str="how are you!"; StringBuffer buffer=new StringBuffer(str); System.out.println(buffer.reverse());
你没有看清题
大眼的小眼 2012-11-23
  • 打赏
  • 举报
回复
引用 19 楼 xiaorong121 的回复:
那是智商问题
有本事你给写个 虽然我才学 但是还是感觉到你学的不怎么样
大眼的小眼 2012-11-23
  • 打赏
  • 举报
回复
引用 33 楼 zhengguanxi626 的回复:
(1)! you are How (2) !you are How 哪一种?
第二种
淡轻语 2012-11-23
  • 打赏
  • 举报
回复
String str="how are you!";
	StringBuffer buffer=new StringBuffer(str);
	System.out.println(buffer.reverse());
淡轻语 2012-11-23
  • 打赏
  • 举报
回复
引用 12 楼 dxqrr 的回复:
我就不说StringBuffer有个reverse方法
n1333 2012-11-23
  • 打赏
  • 举报
回复
那个stringBuffer.reverse真是强大! 但是有个疑问,这个方法的具体用处是什么?
txzsp 2012-11-23
  • 打赏
  • 举报
回复
用空格分隔写入数组,然后将数组从大到小输出,输出时带上空格。
n1333 2012-11-23
  • 打赏
  • 举报
回复
引用 58 楼 n1333 的回复:
StringBuffer result = new StringBuffer(); List<String> list = new ArrayList<String>(); String str = "How are you! "; Pattern pattern = Pattern.compile("\\w+|\\W{1}"); Matcher matcher = pattern.mat……
result: !you are How
n1333 2012-11-23
  • 打赏
  • 举报
回复
StringBuffer result = new StringBuffer(); List<String> list = new ArrayList<String>(); String str = "How are you! "; Pattern pattern = Pattern.compile("\\w+|\\W{1}"); Matcher matcher = pattern.matcher(str); while (matcher.find()) { list.add(matcher.group()); } for (int i = list.size() - 1; i >= 0; i--) { result.append(list.get(i)); } System.out.println(result); 这样?
老思子 2012-11-23
  • 打赏
  • 举报
回复
引用 56 楼 hanyahui88 的回复:
引用 50 楼 LaoSiZi 的回复:引用 43 楼 hu3402379 的回复:Java code?12345678910111213public static void main(String[] args) { StringBuffer ss =new StringBuffer(); String s= "How are you! ";……
噢噢,那要笔试的那就另当别论,不过,代码健壮性跟适应性也是考官所关注的,可以看出你的编程思维方法
zhengguanxi626 2012-11-23
  • 打赏
  • 举报
回复
(1)! you are How (2) !you are How 哪一种?
  • 打赏
  • 举报
回复
虽然不懂,但觉得厉害
大眼的小眼 2012-11-23
  • 打赏
  • 举报
回复
引用 50 楼 LaoSiZi 的回复:
引用 43 楼 hu3402379 的回复:Java code?12345678910111213public static void main(String[] args) { StringBuffer ss =new StringBuffer(); String s= "How are you! "; String[] a =……
是啊针对性强
大眼的小眼 2012-11-23
  • 打赏
  • 举报
回复
引用 46 楼 wang1990011 的回复:
代码写少了,方法见得少了,肯定没有思路了!
是啊 现在只能努力了
大眼的小眼 2012-11-23
  • 打赏
  • 举报
回复
引用 48 楼 LaoSiZi 的回复:
引用 42 楼 LaoSiZi 的回复:写个正则提取单词与标点,每个单词或者标点作为一个String,之后添加到Collections(比如List)调用Collections的reverse翻转就行里Java code?1234567891011121314151617181920212223242526272829303132333435363738394041424……
一次笔试出的 我也郁闷
加载更多回复(40)

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧