抽象クラス内に実装メソッドと抽象メソッドがある場合に、 そのクラスをJUNITでテストしたいと思っています。 通常のクラスであれば、そのクラスに対するテストクラスを 作成して、テストクラス内でテスト対象クラスをnewして テストケースを記述していくと思いますが、 上記のような抽象クラスの場合は、 どういった形でテストクラスを作成すれば良いのでしょうか? 抽象クラスはnewできないので、 抽象クラスを実装したクラスをまず作成して そのクラスに対するテストクラスを作成するのでしょうか? お薦めの方法や一般的な方法があれば教えてください。 以上、よろしくお願い致しますm(__)m 【環境】 JDK1.4.2 JUNIT3.8.1
↧
抽象クラスをJUNITでテストする方法
↧
Javaアプレットが読み込めない
Javaアプレットを作って、インターネットエクスプローラで表示させようとすると 「Javaアプレットの読み込みに失敗しました」 とでて表示できません。 また、appletviewerでも 「start:アプレットは初期化されていません」 と出て表示できません。 (WindowsXPのコマンドプロンプトで) どうすればいいのでしょうか? 両方の解決法を教えてください。
↧
↧
注釈処理が明示的にリクエスト
いつも大変お世話になりありがとうございます。 また、JAVAの質問です。 クラス名'Lesson07'が受け入れられるのは、注釈処理が明示的にリクエストされた場合のみです というエラーが出ます。 どうすればいいか教えてください。 ご回答のほど宜しくお願い申し上げます。 import java.io.Console; public class Lesson07 { public static void main(String[] args) { long a; long b; long answer; Console console = System.console(); System.out.println("2つの値で足し算を行います"); System.out.println("1つ目の値を入力してください"); a = Integer.parseInt(console.readLine()); System.out.println("2つ目の値を入力してください"); b = Integer.parseInt(console.readLine()); answer = a + b; System.out.println(a + "足す" + b + "の答えは" + answer + "です"); }
↧
Javaが普及した理由を教えてください。
Javaが普及した理由を教えてください。
↧
Java仮想マシンインストール中に失敗、復帰できず
あるソフトウェアをいれたらJava仮想マシンをいれるようにいわれそれを実行しました。しかしインストール途中にパソコンがフリーズしてしまい強制終了しました。 そののちAppletを必要とするホームページを開くとエラーがおきます。 http://java.sun.com/getjava/installer.html にいって最新のJavaを入れたのですが、いままで表示されていたAppletがコーヒーのマークだけになったりと不都合なことがおきました。Java仮想マシンをアンインストールして同じことをしてまたJava仮想マシンをインストールしろといわれるだけです。 Java仮想マシンをインストールする前はそのAppletは全く問題なく作動してたのです。Javaをインストールする前にWindowsが標準でサポートしているAppletを表示させるソフトはいったい何なのでしょう? WindowsXP、IE6(最新バージョン) IEの修復やフルインストールをはじめようとしたのですが、修復するのがありませんといわれました。IEを最初から入れ直すことは可能でしょうか?
↧
↧
日本語対応JDBCドライバ
MySQLの日本語対応JDBCドライバは存在するのでしょうか? もし存在するのであれば、参照URLを教えてください。
↧
環境変数の初期サイズが勝手に「自動」に戻る
startup.batの「環境変数の初期サイズ」を3072に設定後、 startup.batを呼び出している自作バッチを実行すると startup.batの「環境変数の初期サイズ」が「自動」に戻ってしまうのですが これは何故でしょうか?
↧
javaプログラミングについて
ただいまjavaプログラム勉強中でhit&blowを制作しております。 public static void main(String[] args) { Scanner scan = new Scanner(System.in); Random rand = new Random(); int[] answer = new int[4]; int[] input = new int[4]; int[] Number = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, }; int x = 10; for (int i = 0; i < 4; i++) { int select = (int) (Math.random() * x); answer[i] = Number[select]; Number[select] = Number[x - 1]; x--; } int count = 1; while (true) { System.out.println("4桁の異なる数値を入力"); int str_input = scan.nextInt(); // 代入 for (int i = 0; i < 4; i++) { input[i] = str_input; } // hit int hit = 0; for (int i = 0; i < 4; i++) { if (input[i] == answer[i]) { hit++; } } // blow int blow = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++){ if (i != j && input[i] == answer[j]) { blow++; } } } if (hit == 4) { System.out.println("4hit"); System.out.println("正解まで " + count + "回"); break; } else { System.out.println("Hit:" + hit + " Blow:" + (blow - hit)); count++; } } } } 数字が4桁で作っているのですが、数字や4桁以上を入力してしまった場合の表示は後にしようとして、先にhitとblowの判定を作ろうとしているのですが、上記で実行したところhitとblowの判定がされずhit:0blow:0と表示されてしまいます。解決策を教えてください。 自分で作ってみたものの、hit blowの判定方法があっているかも自信がないです。
↧
Javaのファイルダウンロードについて
Javaでファイルのダウンロード機能を作成しています。 環境はWebサーバにapache、APサーバにGlassfish、連携としてmod_jk、あとはJava6を使用しています。 InpusStreamでファイルパスから取得しresponse.getOutputStream()に書き込む処理writeにて org.apache.catalina.connector.ClientAbortExceptionが発生してしまいます。 その際にダウンロードのポップアップ(開く、保存、キャンセル)が開きますがExceptionが発生しているため保存できません。 ただしファイルのサイズによっては正常に保存できます。(ファイルサイズが500Mくらいだとダメ) なお、ClientAbortExceptionはキャンセル押したときに発生すると思われますがそのほかにどのような場合に発生するのでしょうか? また、対処方法を知っていましたらご教授ください。
↧
↧
JBOSS+Tomcat にてTomcatのみバージョンアップは可能ですか?
JBOSS4.0.5をRedHat Linux ES3 で動かす事を想定しています。 JBOSS4.0.5をDLすると自動的にTomcat5.5.20がバンドルされていますが JBOSSは4.0.5のまま、Tomcatを6.0.10にしたいのです。 下記のいづれかの方法が思いつくのですが、どちらが良いでしょうか? また、手順がおわかりになればご教示頂きたく。 (1)バンドルされているTomcat5.5.20を6.0.10にバージョンアップする。 (2)バンドルされているTomcat5.5.20を意図的に停止し、別途インストールしたTomcat6.0.10を動かす。 以上、よろしくお願い致します。
↧
EXECLの行を削除
こんにちは 質問があります。 以下のコードのように、 テキストボックスに入力した行数の エクセルの行を削除したいのですが、 何も削除されません。 どなたか解決策を教えていただけないでしょうか よろしくお願いいたします。 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.poifs.filesystem.POIFSFileSystem; class testdel { public static void main(String[] args) { testdel2 test=new testdel2(); } } class testdel2 implements ActionListener { JButton button; JTextField text; testdel2() { JFrame frame=new JFrame(); JPanel panel=new JPanel(); button=new JButton("削除"); text=new JTextField(1); button.addActionListener(this); panel.add(text); panel.add(button); Container ct=frame.getContentPane(); ct.add(panel); frame.pack(); frame.setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource()==button) { int del_row=Integer.parseInt(text.getText()); Delete del=new Delete(del_row); } } } class Delete { Delete(int delrow) { try {System.out.println(delrow); FileInputStream fis = new FileInputStream("c:/sample.xls"); POIFSFileSystem fs = new POIFSFileSystem(fis); HSSFWorkbook wb1 = new HSSFWorkbook(fs); HSSFSheet sheet = wb1.getSheetAt(0); HSSFRow row=sheet.getRow(delrow); sheet.removeRow(row); System.exit(0); } catch(Exception e) { System.err.println(e.toString()); } } }
↧
文字化けについて
(1)画面から(2)画面に遷移するときに1バイト文字は正常に受け渡しできるのですが、2バイト文字は文字化けしてしまいます。 どのように修正したらいいでしょうか? -------------------------------------------------------- (1) <%@page language="java" %> <%@page contentType="text/html;charset=EUC-JP"%> <% String returnPath0 = null; String returnPath1 = null; %> <html> <head> <script language="JavaScript"> <!-- function checkLength(obj, maxlen) { if(obj.value.length > maxlen) { obj.disabled = true; obj.value = obj.value.substring(0,maxlen); } obj.disabled = false; obj.focus(); // BackSpace防止 } function sendRequest(path) { document.fr.action = path; document.fr.submit(); } --> </script> </head> <title>新問処発行</title> <body> <form name="fr" onSubmit="true" method="POST" action="Monsyo_newFileInputData.jsp" > <div align="left"> <h3> 新問処発行</h3> <br> <タイトル>(100文字以内)<br> <textarea rows="5" cols="60" name="title" onkeyup="checkLength(this, 100);" style="ime-mode:active"></TEXTAREA> <br> <% returnPath0 = "sendRequest('/mondai/Monsyo_NewFileInputDataServlet')"; returnPath1 = "sendRequest('/mondai/Monsyo_ToppageServlet')"; %> <br> <input type="submit" value="入力" onClick="<%= returnPath0 %>"/> <input type="submit" value="戻る" onClick="<%= returnPath1 %>"/> </div> </form> </body> </html> ---------------------------------------------------------------- (2) <%@page language="java" %> <%@page contentType="text/html;charset=EUC-JP"%> <% String returnPath0 = null; String returnPath1 = null; %> <html> <head> <script language="JavaScript"> <!-- function checkLength(obj, maxlen) { if(obj.value.length > maxlen) { obj.disabled = true; bj.value = obj.value.substring(0,maxlen); } obj.disabled = false; obj.focus(); // BackSpace防止 } function sendRequest(path) { document.fm.action = path; document.fm.submit(); } --> </script> </head> <title>新問処項目入力</title> <body> <form name="fm" onSubmit="true" method="POST" action="Monsyo_newFileInputDataCheck.jsp"> <div align="left"> <h3>新問処項目入力</h3> <br> <タイトル<br> <%=request.getParameter("title")%> <br> <% returnPath0 = "sendRequest('/mondai/Monsyo_NewFileInputDataCheckServlet')"; returnPath1 = "sendRequest('/mondai/Monsyo_NewFileDateServlet')"; %> <br> <input type="button" value="作成" onClick="<%= returnPath0 %>"/> <input type="button" value="戻る" onClick="<%= returnPath1 %>"/> </div> </form> </body> </html> ---------------------------------------------------------------- (1)でname="title" (2)で<%=request.getParameter("title")%> 上記のようにして入力したものを受け渡そうと思ったのですが文字化けしてしまいました。 どのように変更したらようでしょうか?? ご教授いただけませんでしょうか?
↧
java データベース接続
javaの勉強していまして、質問があります。よろしくお願いします。 javaでデータベースの接続ができなくて迷っております。ずっとネットで調べてもダメでした。 ネットで調べたとおりにやっても、 例外発生:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver このようなエラーがでます。 eclipseを使ってます。windows7 練習にアクセスにつなごうと思ってます。 事前にデータソース(ODBC)の登録はしました。 ドライバーとかインストールするものなのでしょうか? package sample; import java.sql.Connection; import java.sql.DriverManager; public class Hello { public static void main(String args[]) { try { //JDBCドライバのロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //各設定 String url = "jdbc:odbc:SampleDB030"; String user = ""; String pass = ""; //データベースに接続 Connection con = DriverManager.getConnection(url,user,pass); System.out.println("接続成功"); //データベースを切断 con.close(); } catch (Exception e) { System.out.println("例外発生:" + e ); } } }
↧
↧
Javaの全角スペースの正規表現
今、Javaのプログラムをしてるんですが、正規表現で全角スペースをどう表現したらいいのでしょうか? 下記のプログラムを実行して、スペースを埋めて「あいう」と出したいです。 Pattern.compile("正規表現").matcher(" あ い う ").replaceAll(""); 正規表現の\sとか、trim()メソッドを使用するなどだと、半角スペースしか削除することができなかったです。 よろしくお願いします。
↧
メソッドの引数に指定されているインタフェースについて
最近サーブレットをいじっているので例としてサーブレットを扱いますが、一般的な話題として扱っていただければと存じます。 非常に質問を文章化しにくいのですが・・ たとえば、クラスHttpServletには以下のようなメソッドがあります。 doGet(HttpServletRequest req, HttpServletResponse resp) このメソッドの引数に指定されているHttpServletRequest/Responseはいずれもインタフェースなわけですが、メソッドの引数にインタフェースを指定するというのは、具体的にどういうことなのでしょうか? これがたとえばintだったりStringだったりした場合は簡単にイメージできるのですが、インタフェースだとさっぱりわかりません。 質問がわかりにくいかもしれませんが、よろしくお願いいたします。
↧
サーブレットからArrayListにBeanを格納しJSPで使用する方法
はじめまして、以下の問題ですが、わからず困っているので 質問させていただきます。 PCはWindowsXPで Eclipse Version: 3.4.1を使用し Tomcat5.5,jre6を使用しています。 研修の課題なのですが サーブレット内でBeanをArrayListを使って、動的確保したものを JSPに渡し、ArrayListに入ったBeanを取り出し、 そのBeanにsetした値を表示させるというプログラムを作っています。 JSPの部分がまったくわかりません。 JSPに配列はわたったようなのですが、JSPでのArrayListの取り出し方 などが、調べてもまったく解決しません。 もしわかる方がいましたら、教えてください。よろしくお願いします。 内容は以下です。 ///////////サーブレット//////////////////////////// ArrayList<Beans> beansid = new ArrayList<Beans>(); i=0; while(rs.next()){ sid = rs.getInt("sid"); sname = rs.getString("sname"); spass = rs.getString("spass"); Beans inbean = new Beans(); inbean.setsid(sid); inbean.setsname(sname); inbean.setspass(spass); beansid.add(inbean); } request.setAttribute("beansid",beansid); //Beansクラス///////////////////// public class Beans{ private int sid; private String sname; private String spass; public int getsid(){ return sid; } public void setsid(int sid){ this.sid = sid; } public String getsname(){ return sname; } public void setsname(String sname){ this.sname = sname; } public String getspass(){ return spass; } public void setspass(String spass){ this.spass = spass; } } //JSPのコード///////////////////////////////// <%@page contentType="text/html; charset=Shift_JIS" pageEncoding="Shift_JIS" %> <jsp:useBean class="java.util.ArrayList" id="beansid2" scope="request"/> <jsp:useBean class="java.lang.String" id="beansid" scope="request"/> <%@page import="keiji.Beans"%> <%@page import= "java.util.*" %> <%@page import="java.sql.*"%> <%@page import="javax.servlet.*"%> <%--下のclassの所はBeansというのでも試してみました。--%> <jsp:useBean class="java.util.ArrayList" id="beansid2" scope="request"/> <%-- ArrayList beansid = (ArrayList)request.getAttribute("beansid"); --%> <%-- Iterator it = beansid.Iterator(); --%> ArrayList Iteratorと使ってみたのですが、 自分にはわけが分からず、JSPを実行したとき、処理がとまってしまいます。
↧
プログラミングの技術向上について
はじめまして。閲覧ありがとうございます。 私は今年、新卒でITの会社に就職しました。 今までほとんどプログラミングをやったことはないです。 そこで、プログラミングの技術を身に付けたいと思っていたのですが、私はほとんどプログラミングを使わない部署に配属されました。 プログラミングをやらないということはあまり技術は身につかないということなのですけど、やはりIT業界に就職したからには技術を身につけたいですし、もしもの時のためにもプログラミングができるようになっておきたいです。 そこでなのですが、自宅でプログラミングの勉強をしていきたいのですが、自宅で業務でやったくらいに技術が身につく勉強方法はないのでしょうか? ※開発などに異動届を出したいところですが、最低2年は同じ部署にいないといけない感じなのでそれはできません。 ちなみに勉強したい言語はJavaとPL/SQLです。 とりあえず今は、やさしいJavaなどの参考書を使って勉強しており、それを終わると、本を参考に自作のゲーム作りにチャレンジしていきたいと考えています。 しかし、それ以上に効率の良い方法などがあれば教えていただきたいです。 よろしくお願いいたします。
↧
↧
Tomcat + Apache の起動順と logrotate
RedHatLinux 7.2J上でTomcat3.2.4とApache1.3.26を連携させています。 起動時・終了時はいずれも Tomcat -> Apache の順に行うという情報は色々なところで聞いておりますが、Apache って夜中にログをローテートするのでその時再起動がかかっています。Tomcat はログローテートしてないと思うのでそうなると終了時のセオリーが矛盾しているように思うのですが、連携動作には影響無いものなのでしょうか? 実際問題なく動いておりましてlogrotate 後にエラーが出るなどということは無いのですが・・。 逆にいうと Tomcat -> Apache の順に操作する理由がよくわかってないということでもあります。
↧
boolean型を参照渡ししたい
boolean型を引数で参照渡しにするにはどうすればいいのでしょうか。 そんな変な実装はしてはいけない等はわかっています。 参照渡しは可能か、もし可能ならば記述方法を教えて下さい。 よろしくお願いします。 下の例の(1)ようにラッパークラスを使ってみましたが、 (2)の部分では値はfalseのままでした。 public main(){ Entity entity; Boolean flg = false; sub(Entity entity, Boolean.valueOf(saveFlg)); …(1) (2) } public void sub(Entity entity, Boolean flg){ flg = true; return; }
↧
メールで、榊の文字を木辺に神と入力する方法
ウィンドウズ7を使っています、ワードなどでは榊と入力できるようにしたのですが メールを送る時には榊ではなく木辺に示すに申になってしまいます。 メールでも、榊と入力できる方法を教えて下さい。
↧