/*
* 練習問題10.2 p.204
* 練習問題10.1で作成したメソッドをswitchを使用して書き直しなさい。
*/
/*
* 練習問題10.1 p.201
* 文字列のパラメータを取り、その文字列中のすべての特殊文字を、対応するJava言語の表現で置き換えた文字列を
* 返すメソッドを、if-elseを使用して書きなさい。
* たとえば、文字列中に"が含まれていたら、"を\"で置き換えた文字列を返します。
* (すべての特殊文字は、146頁の7.2.3節に列挙されています。)
*/
/*
* p.146より
* \n 改行(
)
* \t タブ(\u0009)
* \b バックスペース(\u0008)
* \r 復帰(
)
* \f フォームフィード(\u000C)
* \\ バックスラッシュ自身(\u005C)
* \' シングルクォート (\u0027)
* \" ダブルクォート (\u0022)
* \ddd 8進数によるcharで、dは0-7の範囲
*/
package ch10.ex10_02;
public class SpecialCharacter
{
static String replaceSpecialCharacter(String target)
{
String result = new String();
for (int i = 0; i < target.length(); i++)
{
switch (target.charAt(i))
{
case 0xA:
result += "\\\n";
break;
case 0x9:
result += "\\\t";
break;
case 0x8:
result += "\\\b";
break;
case 0xD:
result += "\\\r";
break;
case 0xC:
result += "\\\f";
break;
case 0x5C:
result += "\\\\";
break;
case 0x27:
result += "\\\'";
break;
case 0x22:
result += "\\\"";
break;
default:
break;
}
}
return result;
}
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println(replaceSpecialCharacter("\t\'\""));
}
}