瀏覽單個文章
Tirpitz
Master Member
 
Tirpitz的大頭照
 

加入日期: Apr 2001
您的住址: Coruscant
文章: 1,637
問個Java程式的問題

最近看不少人問程式問題,
如果你覺得很簡單,請不要罵我,幫幫忙吧。
這支程式,我已經想了一個禮拜了。
我想做反字串的功能。

例如:
輸入:Hi~ what's your name?
輸出:iH~ tahw's ruoy eman?

但是以下的程式只會
輸出:iH~ s'tahw ruoy eman?

import javax.swing.*;
import java.util.*;


class ReverseString{

public static void main(String[] args){

String name = JOptionPane.showInputDialog(null,"Enter a string");
StringTokenizer tokener = new StringTokenizer ( name , " " ) ;
StringBuffer inputStringBuffer = new StringBuffer();
StringBuffer inputStringBuffer2 = new StringBuffer();


while ( tokener.hasMoreTokens() ){
//用token拆單字,以空格為區隔
String s = tokener.nextToken();

for(int i = 0; i < s.length(); i++) {
char letter = s.charAt(i);
//依序讀入單字的字元

if (((int)letter>=65&&(int)letter<=90)||((int)letter>=97&&(int)letter<=122)) {
//如果是英文字母就依序排好
inputStringBuffer2.append(letter);

}else{
inputStringBuffer.append(letter);
//如果不是英文字母也是依序排好
}
}

inputStringBuffer2 = inputStringBuffer2.reverse();
//將單字的英文字母整串相反
System.out.print(" "+inputStringBuffer2+inputStringBuffer);
inputStringBuffer2.setLength(0);
//清空暫存器的字元
inputStringBuffer.setLength(0);


}

}
}


加上一點註解,應該會好讀一點
     
      
__________________
Un Jedi ne doit connaitre ni la colere, ni la haine, ni l'amour.
Someday I will be the most powerful Jedi ever~!!

Jedi Code
there is no emotion;there is the peace
there is no ignorance;there is the knowledge
there is no passion;there is the serenity
there is no death;there is the Force
舊 2004-05-14, 06:13 PM #1
回應時引用此文章
Tirpitz離線中