티스토리 뷰

문자이면 뒤집기가 가능하지만, 2.0배는 할 수 없고,

숫자이면 뒤집기 가능하지만, 대문자화는 할 수 없는 그런 규칙이 있다고 하자.

public class homework14_2 {
	 public static void main(String[] args) {
	     DataParser<String> parser1 = new DataParser<>("Hello World");
	     System.out.println("Reversed: " + parser1.reverse());
	     System.out.println("Capitalized: " + parser1.capitalize());
	     System.out.println("Doubled Value: " + parser1.doubleValue());

	     DataParser<Integer> parser2 = new DataParser<>(123);
	     System.out.println("Reversed: " + parser2.reverse());
	     System.out.println("Capitalized: " + parser2.capitalize());
	     System.out.println("Doubled Value: " + parser2.doubleValue());
	 }
}

// your code here.

class DataParser<T> {
	private T input;
	
	public DataParser() {
		input = null;
	}
	public DataParser(T input) {
		this.input = input;
	}
	
	public T reverse() {
		String str = "";
		if(input != null) {
		for(int i = input.toString().length()-1;0<=i;i--) {
				str = str + input.toString().charAt(i);
			}
		}
		return (T) str;
		}
	
	
	public T capitalize() {
		if(input instanceof Number) return input;
		else {
			return (T) (input.toString().toUpperCase());
		}
		
	}
	
	public T doubleValue() {
	if(input instanceof Number) {
			return (T) String.valueOf(((Number) input).doubleValue() * 2.0);
		}
	else return input;
	}
}

문제의 주어진 일을 수행하는 데에는 문제가 없지만, 여기 몇 가지 문제가 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함