二十三日目は練習問題を
今日は練習問題を2つ。やらかしてしまった方のソースを載せてみることに。
import java.io.*; public class ReversePrint { /** * @param args * StringBufferクラスのreverse()メソッドを使って * 次のように出力されるコードを記述してください * * 文字列を入力してください。 * Hello * Helloを逆順にするとolleHです。 */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub System.out.println("文字列を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); StringBuffer rev = new StringBuffer(str); rev.reverse(); System.out.println(str + "を逆順にすると" + rev + "です。"); } }
何をやらかしたのかって、StringBufferクラスのreverese()メソッドの使い方が全然わからなかったこと。最初こんな記述してました。
import java.io.*; public class ReversePrint { public static void main(String[] args) throws IOException { System.out.println("文字列を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); String rev = reverse(str); System.out.println(str + "を逆順にすると" + rev + "です。"); } public static StringBuffer reverse(String s){ StringBuffer srev = s; return srev; } }
何を思ったのかreverse()メソッドを作成してました。何かを根本的に間違えていた気が…間が開いてるとはいえこのていたらく…Lesson10は勉強しなおしだな。せっかくだから2〜3ほどさかのぼって勉強しなおしてみよう…