Javaプログラミング面接問題のパッケージreverse逆順序方法
2422 ワード
面接問題:「this is a test string」という文字列があると仮定し、コードを書いて文字列を逆さまにして「string test a is this」に逆さまにします.
分析:Javaには文字列を逆さまにする方法reverse()があり、javaに書いてあるこの方法では、自分で方法を書いてこのような機能を実現することをお勧めしません.この問題は文字列クラスの方法、if条件文、forループなどを使います.入力された文字列の有効性を判断するには、入力された文字列が有効であることを保証します.
解題コード:
Javaでカプセル化された逆順序メソッドreverse()メソッドは、文字列全体の反転を実現します.
テストコードと結果は以下の通りです.
コンソール出力結果:
string a is this gnirts a si siht
次に、上記のトピックの拡張:(キーボード入力文字列を実現し、逆順にして【実は上のreverseメソッド】を反転します)
分析:Javaには文字列を逆さまにする方法reverse()があり、javaに書いてあるこの方法では、自分で方法を書いてこのような機能を実現することをお勧めしません.この問題は文字列クラスの方法、if条件文、forループなどを使います.入力された文字列の有効性を判断するには、入力された文字列が有効であることを保証します.
解題コード:
public static String reverse(String str) {
/**
* : , , , , ,
*/
String reverse = "";
// string
if (str.isEmpty() || str == null) {
System.out.println(" !");
}
if (str.length() <= 1) {
reverse = str;
} else {
// \s space , \ , + ,
String[] itemArray = str.split("\\s+");
// for for
for (String item : itemArray) {
// for (int i = 0; i < itemArray.length; i++) {
// reverse=itemArray[i]+" "+reverse;
reverse = item + " " + reverse;
}
}
//
return reverse.trim();
}
Javaでカプセル化された逆順序メソッドreverse()メソッドは、文字列全体の反転を実現します.
// reverse
public static String Reverse(String str) {
return new StringBuffer(str).reverse().toString();
}
テストコードと結果は以下の通りです.
public static void main(String[] args) {
String str = "this is a string";
String str_ouput = reverse(str);
System.out.println(str_ouput);
System.out.println(Reverse(str));
}
コンソール出力結果:
string a is this gnirts a si siht
次に、上記のトピックの拡張:(キーボード入力文字列を実現し、逆順にして【実は上のreverseメソッド】を反転します)
public class ReverseChars {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println(" :");
String original = scan.nextLine();
// ,while ,if
while (original.isEmpty()||original ==null){
System.out.println(" , ");
original = scan.nextLine();
}
scan.close();
//
ReverseChars output = new ReverseChars();
String reverseCharacters = output.reverseCharacters(original);
System.out.println(reverseCharacters);
}
private String reverseCharacters(String originalString){
String reverse ="";
// for , , ,
for (int i = originalString.length()-1;i>=0;i--){
reverse = reverse +originalString.charAt(i);
}
return reverse;
}
}