二十三日目は練習問題を

今日は練習問題を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ほどさかのぼって勉強しなおしてみよう…