Person.java
package mypackage;
import java.util.*;
import java.sql.*;
public class Person {
private String firstName;
private String lastName;
public Person(){}
public Person(String fName,String lName){
firstName=fName;
lastName=lName;
}
public void run(){
System.out.println("RUN!");
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Labor.java
package mypackage;
public class Labor extends Person {
int salary;
@Override
public void run(){
System.out.println("RUN RUN!");
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
クラスとして実装し、Eclipse上で「ファイル名を右クリック >>> 実行 >>> Javaアプリケーション」として実行してください(JSPに書き直してもかまいません)。
package mypackage;
import java.util.regex.*;
public class StringTest {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer("文字列の始まり");
if(true) sb.append("場合1");
else sb.append("場合2");
sb.append("終わり");
System.out.println(sb.toString());
String str="<h3>文字列</h3><p>文字列を扱うには(中略)</p>"
+"<H3>正規表現</h3><P>先に説明したStringや\n(後略)</p>";
Pattern p=Pattern.compile("(?i:<h3>.*?</h3>)");
Matcher m=p.matcher(str);
while(m.find()) System.out.println(m.group());
String[] strs={"aaXbbXX", "cXXd", "eXXXf"};
for(String s:strs) System.out.println(s.replaceAll("X+","Z"));
String[] strs2={
"yabuki@example.com",
"taro@example.org",
"taro.yabuki@unfindable.net"
};
for(String s:strs2)
System.out.println(s.replaceFirst("(.+)@.+\\.(.+)","$1 のドメインは $2"));
Pattern p2=Pattern.compile("(.+)@.+\\.(.+)");
Matcher m2;
for(String s:strs2){
m2=p2.matcher(s);
m2.find();
System.out.println(m2.group(1)+" のドメインは "+m2.group(2));
}
}
}
CalendarTest.jsp
ICU (International Component for Unicode)を導入していない場合は、最後の部分を削除してください。
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*,java.text.*,com.ibm.icu.util.JapaneseCalendar"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Calendarの使い方</title>
</head>
<body>
<%
Locale.setDefault(new Locale("ja", "JP"));
//現在の日時を取得
Calendar cal=Calendar.getInstance();
//日付の表示形式を定義し,実際に表示する
DateFormat fmt=DateFormat.getDateInstance(DateFormat.FULL);
out.print("<p>"+fmt.format(cal.getTime())+"</p>");
fmt=new SimpleDateFormat("yyyy-M-d");
out.print("<p>"+fmt.format(cal.getTime())+"</p>");
cal.set(1582, Calendar.OCTOBER, 4);
cal.add(Calendar.DAY_OF_MONTH, 1);
out.print("<p>"+fmt.format(cal.getTime())+"</p>");
//Localeのvariant(3番目)をJPにして利用する(ふつうはLocale("ja","JP"))
Locale.setDefault(new Locale("ja", "JP", "JP"));
//表示形式(Gが年号)
DateFormat format=new SimpleDateFormat("GGGGy年MMMMd日 H時m分s秒 z");
Calendar japImpCal = Calendar.getInstance();
out.print("<p>"+format.format(japImpCal.getTime())+"</p>");
JapaneseCalendar jCal=new JapaneseCalendar(1,JapaneseCalendar.JANUARY,1,0,0,0);
jCal.set(Calendar.ERA,0); //最初の年号を調べる
com.ibm.icu.text.DateFormatSymbols dfs=new com.ibm.icu.text.DateFormatSymbols(jCal, Locale.JAPANESE);
com.ibm.icu.text.SimpleDateFormat jFormat=new com.ibm.icu.text.SimpleDateFormat("Gy年M月d日 H時m分s秒 z",dfs);
out.print("<p>"+jFormat.format(jCal)+" は "+jCal.getTime()+"です.</p>");
out.print("<p>");
for(String era: dfs.getEras()) out.println(era+" ");
out.print("</p>");
%>
</body>
</html>