sample program

ちょっとしたプログラムを作成したので書いておく。

public class Reverse {
private String s;
private java.util.Stack stack = new java.util.Stack();
public Reverse(String s_) throws Exception {
if (s_.length() < 1 || 1000 < s_.length()) {
throw new Exception(“文字列長が不正です”);
}
s = s_;
}
public String execute() {
char[] cs = s.toCharArray();
for (int i=0 ; i<cs.length ; i++) {
stack.push(new Character(cs[i]));
}
StringBuffer sb = new StringBuffer();
while (!stack.empty()) {
Character c = (Character)stack.pop();
sb.append(c.charValue());
}
return new String(sb);
}
public static void main(String[] args) {
try {
String s = “0123456789”;
Reverse rev = new Reverse(s);
String rs = rev.execute();
System.out.println(“入力文字列:”+s);
System.out.println(“反転文字列:”+rs);
} catch(Exception e) {
System.out.println(“エラーが発生しました”);
}
}
}

 

続きを読む

カテゴリー: Java

Trap

WebアプリケーションをWindowsで開発してもらって、それをFedora Core Linux で動作させるためにインストールをしたのだが、思ったように動作してくれない。URLとして http://hostname/context/controller?cmd=selectみたいなものを入力すると、Windows上ではきちんと動作していたのに、LinuxではgetParameterメソッドでcmd=selectが取得できないのだ。HTMLフォームを使ってPOSTメソッドで送るときちんとパラメータが送られるようだ。この違いはいったい何なのかよくわからないが、結構時間を食ってしまった。

文字コードの問題や文字列の埋め込み問題も発生していて、結構細かいところに多くの罠があって思うとおりに作業が進まなかった。とりあえず、作ってもらったコードはもったいないので授業でリファクタリングしながら紹介でもしていこうかと思う。しかし、なかなかプログラミング技能というのは身に付かないものだ。やっていることが細かいと言えば細かいような気もするが、丁寧にやるべきところで丁寧にやれるかどうかが大きな差だろうなぁとも思った。でも、勢いも大切なので、若いうちは若いらしく力業で強引に行ってもらいたい気もする。まぁ、時間切れにならないように後は資料をしっかりまとめておいてもらえれば、結構満足できるものができあがっていると言えば、そう言えるので、残りの部分をがんばってもらいたいものだ。

そうそう、明日に備えて準備、準備。

カテゴリー: Java