String text ="My First Program Language is JAVA";
Object result = null; // Object는 Java 의 모든 객체가 들어간다.
switch (action) {
case "charAt":
result = text.charAt(Integer.parseInt(val));
break;
case "substring":
result = text.substring(17, 25);
break;
case "toCharArray":
result = text.toCharArray();
break;
case "splite":
result = text.split(" ");
break;
case "indexOF":
StringUtils utils = new StringUtils();
result = utils.search(text,val);
break;
}
public Object search(String text, String val) {
// 대소문자 상관 없이 찾을 경우는 전체 문자열을 대문자 or 소문자로 변환 한 후 찾아주자
String lowerText = text.toLowerCase();
//String result = val+" 의 인덱스[";
/*
* result += lowerText.indexOf(val);// 앞에서 부터 처음으로 찾아지는 하나만 반환 result += ",";
* result += lowerText.lastIndexOf(val);// 뒤에서 부터 하나만... result += "]";
*/
/* 모든 a의 인덱스 반환 하기
for (int i = 0; i < lowerText.length(); i++) {
if(lowerText.charAt(i)=='a') {
System.out.println("a 의 index : "+i);
result += i+",";
}
}
result+="]";
*/
//String result = val+" 의 인덱스[";
StringBuffer buffer = new StringBuffer(val+" 의 인덱스[");
int idx =0;
while(idx>-1) {
//indexOf 는 찾는 값이 없으면 -1 반환
idx = lowerText.indexOf(val, idx);
if(idx>-1) {
System.out.println("a의 index :"+idx);
//result += idx+" ";
buffer.append( idx+" ");
idx++;
}
}
//result += "]";
buffer.append("]");
return buffer;
}
c tag
- c:if -> c태그 조건문 else if는 사용불가
<c:if test=""></c:if>- c:forEach ->배열요소를 문자열로 하나씩 출력 <c:forEach items="" var=""></c:forEach>
java 에서는 문자열을 사용하기 위해 String 이라는 class 객체를 가져와서 사용한다. 그러므로 문자열을 추가할 경우 새로운 객체를 계속해서 불러오기 때문에 처리속도와 메모리사용에 불리하다
이를 해결하기위해 Buffer와 Builder을 객체화 하여 사용한다.
boolean pass = false;
// 문제가 발생한 곳에서 스스로 처리
try {// 문제가 발생 할 것 같은 부분
int n = Integer.parseInt(age);
pass = n<20? false : true;
}catch(NumberFormatException e) {//예외 발생시 처리할 내용
System.out.println(e.toString()); //exception 에 대한 간단한 정보
pass = false;
System.out.println("사용자가 숫자 말고 다른거 입력 했음");
}
return pass;
throws NullPointerException,ArrayIndexOutOfBoundsException
// 던져줘야함
try {
if(model.registHobby(hobby)==0) {
// NullPointException
// ArrayOutOfBoundsException
}
}catch (NullPointerException e) {
msg = "취미는 1개 이상 선택해 주세요";
}catch (ArrayIndexOutOfBoundsException e) {
msg = "취미는 2개 까지만 선택 가능합니다.";
}finally {
System.out.println(msg);
req.setAttribute("msg", msg);
RequestDispatcher dis = req.getRequestDispatcher("index.jsp");
dis.forward(req, resp);
}