2011-01-01から1年間の記事一覧

Tomcat 5.x 以降での GET リクエストの文字化け対策

Tomcat 5.x 以降では、GET メソッドでデータを送信すると日本語の文字化けが起きる。GET メソッドを用いると request.setCharacterEncoding が無視されるためである。これを回避する方法は三つ。 GET メソッドではなく POST メソッドを用いる GET メソッドで…

テキスト形式ファイルの重複行を削除し更にソート

何かしらの数値計算をやって、結果をファイルに書き込んだとき、精度の関係で結果のテキストが重複行だらけになってしまっていることが経験上多かったので、そういったファイルの重複行を削除してついでにソートしてしまうというスクリプトを書いてみた。 # …

文字列と数値の連結

Ruby では文字列と数値を連結するとき、数値の方を自動で文字列には変換しない。そこで Numeric クラス(のスーパークラスである Object クラス)の to_s メソッドを使う。以下は簡単な例。 (1..9).each do |i| (1..9).each do |j| p = i * j if p < 10 then p…

簡単なサンプル

スクリプトとして書く場合 def sum(a:Int, b:Int):String = { return a + " + " + b + " = " + (a + b) } val a = Console.readLine("a = ").toInt val b = Console.readLine("b = ").toInt println(sum(a, b)) コンパイルして実行させる場合 object Sum { d…

はじめての Scala

はじめてのScala―「関数型+オブジェクト指向」の次世代言語! (I・O BOOKS)作者: 清水美樹出版社/メーカー: 工学社発売日: 2010/03メディア: 単行本 クリック: 72回この商品を含むブログ (8件) を見る結局これにした。CD はいらなかったのでもうちょっと安く…

配列や List のソート

Java には配列の要素をソートするために Arrays.sort メソッドが準備されている。 import java.util.Arrays; class SortTest { public static void main(String[] args) { int [] ary = {3, 5, 1, 2, 4}; Arrays.sort(ary); for(int i : ary) { System.out.p…

排他的論理和

比較演算子 == は、比較対象が boolean 型であれば排他的論理和のような役目を果たす。論理否定と組み合わせて使うことで以下のようにきちんと排他的論理和になる。 class Xor { public static void main(String[] args) { System.out.println(!(true == tru…

やさしく学ぶ Sun 認定 Java プログラマ

やさしく学ぶ Sun認定Javaプログラマ(SJC-P)作者: 山本道子,サン・マイクロシステムズ株式会社高橋ひさに出版社/メーカー: 翔泳社発売日: 2008/02/13メディア: 単行本(ソフトカバー) クリック: 11回この商品を含むブログ (6件) を見る正直このレベルからや…

「Java プログラマであるかを見分ける 10 の質問」に回答してみる

== 演算子と equals メソッドの違いは何か ? 文字列の+演算子による連結とStringBuilderを使った連結の違いを説明せよ。 List のようにジェネリクス型を使う主たる目的は何か ? オブジェクトがガベージコレクション (GC) される主たる条件は何か ? チェック…

ストリームは一度 close したら開けない

入出力ストリームは一度 close() メソッドで閉じてしまうと、そのプログラム内で再度オープンすることはできない。たとえば BufferedReader br1 = new BufferedReader(new FileReader("file1.txt")); ... br1.close(); BufferedReader br2 = new BufferedRea…

リストを利用して変数の中身を入れ替える

Perl では二つの変数 $x, $y があったとき ($x, $y) = ($y, $x); と書くだけで変数の中身を入れ替えることができる。

CSV ファイルへの書き込み

Java で CSV ファイルに書き込む際、普通に BufferedWriter bw = new BufferedWriter(new FileWriter("newfile.csv")); などとすると Unicode で書き込まれるので、できたファイルを Excel で読み込むと文字化けが発生する。これを回避する方法。 FileOutput…