Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all 68675 articles
Browse latest View live

Formのデータが欠落することがある

$
0
0
クライアントからFormのsubmitで送られてくるデータ(Formの中のデータ)が欠落(全てnull)する現象が、複数のクライアントで1ヶ月に数回起きています。 このカテゴリでの質問ではないかも知れませんが、Java技術者の方の豊富な経験を頼りにお伺いしました。 原因として考えられること、対策(システム的に、nullの場合もう一度Submitしてもらう機能など)を教えていただきたく存じます。 参考になるサイトのご紹介もよろしくお願いします。

SOAPの引数、返値をXMLで記述したい

$
0
0
SOAP over HTTPを使ったクライアントサーバ間のインターフェース構築を求められています。 クライアントからのリクエスト、サーバからのレスポンスは、情報量が多いためXMLで記述したいと考えているのですが、通常の文字列としてはちゃんと送受信できず、困っています。 具体的には下記の通りです。 (実際に試したものより単純化しています) サーバはjax-wsを利用して下記のように、ただ単にリクエストをエコーするメソッドを公開しました。 ・エンドポイントはhttp://localhost:8080/hello ・namespaceはhttp://jax-test/ @WebService public class Hello { @WebMethod public String echo( String name ) throws Exception { return name; } } クライアントから下記のような形でリクエストを送信しました。 前後のコードは省略しています。 引数はarg0タグで囲まれた "<test>パラメータ</test>" です。 当然返値は "<test>パラメータ</test>" を期待しています。 // Sourceオブジェクトの作成 String request ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + "<ns:echo xmlns:ns=\"http://jax_test/\">" + "<arg0><test>パラメータ</test></arg0>" + "</ns:echo>"; Source requestMessage   = new StreamSource(new StringReader(request)); // Web サービスの実行 Source resultMessage = dispatch.invoke(requestMessage); 返ってきたSOAPオブジェクトのreturnタグ内のデータは空文字です。 サーバのechoメソッドにブレークポイントをかけて引数を確認したところこちらも空文字でした。 そこで、 + "<arg0><test>パラメータ</test></arg0>" を + "<arg0>&lt;test&gt;パラメータ&lt;/test&gt;</arg0>" と変更して実行してところ echoメソッドの引数は "<test>パラメータ</test>" であることを確認できましたが、 返ってきたSOAPオブジェクトのreturnタグ内のデータは "&lt;test&gt;パラメータ&lt;/test&gt;" となっていました。 これは、こういう仕様なんでしょうか? こういうもんだと割り切って、仕様設計すれば問題なくシステム構築は可能なのですが、何か腑に落ちません。 XMLデータを引数、返値で使う場合、別途ファイルを作りそのURLを送ったり、添付ファイルにするとか、いろいろと考えられるのですが、どのような形が望ましいのでしょうか? いい知恵がございましたら、お教えください。

文字列からダブルクオートの削除

$
0
0
お世話になります、 CSVからデータを取得してDBに書き込む処理を行っているのですが、CSVデータで型が文字のものはダブルクオート(")でくくっています。 (例) "りんご",100,"円" "ばなな",200,"ドル" このままデータをStringTokenizerクラスを使用して取得した場合りんごは("りんご")のようにダブルクオートがついた状態で取得されてしまいます。 ダブルクオートを取り外す方法またはメソッドを教えていただきたいのですが、よろしくお願いします。

MacでのJava開発環境構築(eclipse)

$
0
0
Javaの開発環境を勉強用に構築したくて、eclipseをインストールしようとしたんですが、初回起動すらできません。 MacOSX10.8.5 Eclipse IDE for Java EE Developers MacOSX64bit Java:1.6.0_65 eclipseをダウンロードしてアプリケーションフォルダに解凍し、 そのままeclipse本体を実行してみたんですが、An error has occurred. とエラー表示されて落ちてしまいます。 logを見たら、Could not parse XML contribution for "org.eclipse.wst.server.core//plugin.xml" というのが出力されていたんですが、このエラーの意味すら分かりません。 とりあえず起動して日本語化まで行いたいんですが…

JTableのイベント取得方法

$
0
0
お世話になります JTableにDBからの検索結果を表示させて、そのセルを編集したときに編集したセルに対してアップデート等の処理を行いたいのですが、セルが編集されたときのイベントを取得したいのですがうまくいきません。 具体的なソース等のアドバイスよろしくお願いします。 ---ソース--- TableEditListener lisner = new TableEditListener() tableModel = new AbstractTableModel(vecResult,clmName); tableModel.addTableModelListener(lisner); table = new JTable(tableModel); 内部クラス class TableEditListener implements javax.swing.event.TableModelListener{  public TableEditListener(){ } public void tableChanged(TableModelEvent e){ System.out.println("セルの編集をしました。"); } } 現在以上のようなソースになっています。 よろしくお願いします。

インクリメント演算子の前置(++a)と後置(a++)の違い

$
0
0
こんにちは、Java初心者です。どなたか質問タイトルの件で教えていただけませんでしょうか。 Javaのテキストで下のようなものがあったのですが、違いがテキストの説明ではよくわかりませんでした。この場合はどう違うのですか?初心者向けに、参照、演算の詳細なタイミングを一つ一つ教えていただけないでしょうか?前置の方が2になるのはなんとなくわかりそうなのですが、後置はさっぱりなのです。。。 int x, a=1; x=++a; ⇒xの値は2 int x, a=1, x=a++1; ⇒xの値は1のまま また、実例としてはどんな場合に前置又は後置を使うのですか? よろしくお願いいたします。

eclipseでステップ実行がしたい

$
0
0
eclipseでステップ実行がしたいんですが、どうすればいいんでしょうか? そもそも、ステップ実行=一段階ずつ動作を確認しながら実行する という認識でいいでしょうか? eclipseのデバッガを使ってみたんですが、ブレイクポイントにしか反応しませんよね? 一段階ずつ(あるいは一行ずつ)プログラムの処理を追っていけるような機能はないでしょうか?

JAVA初心者です。JAVAで音を鳴らすプログラム

$
0
0
JAVA初心者です。JAVAでボタンを作り、ボタンをクリックすると音が鳴るというプログラムを作りたいのですが、宣言とか処理とかをどうやって書けば良いのかわかりません…。アドバイスお願いします。

JSPの中にhtmlファイルを埋め込みたい。

$
0
0
Java Servlet/JSPで 動的なページの中に、一部htmlのコードを埋め込みたいのですが どうやって実現すればいいでしょうか。 リクエストが来た時に、htmlファイルを随時読み込んで、JSPの中の一部分に埋め込んで使いたいです。

processingについて

$
0
0
現在、Processingで弾幕ゲームを作っている途中です 現在、自機と敵を三角と四角で表示しています そこで質問なのですが、自機と敵を画像で表示させて動かしたいのですが、 どこにどのようなプログラムを書けばいいのでしょうか? また、今は自機と敵の被弾の表示を色の濃さで表しているのですが、 色の濃さではなく、被弾回数を表示させたいのですがどのようにすればいいのでしょうか? 詳しい方教えて下さい よろしくお願いします ソースは以下です http://pastie.org/8714933

プログラミング(Java)じゃんけんゲーム

$
0
0
こんにちは。 プログラミングでじゃんけんゲームを つくろうとしているのですが、困っています(T_T) import java.util.*; /** * プログラム名: * 作成者: * 作成日: Sat Jan 15 20:02:54 JST 2011 */ public class Jankengame{ //起動処理 public static void main(String[] args) { Jankengame main = new Jankengame(); main.run(); } //メイン処理 public void run() { } } これをベースに作りたいのですが、 じゃんけんゲームをつくった経験のある方、 サンプルなどのデータ提供をお願いします(>_<)

Scanner と BufferedReader

$
0
0
javaでキーボードからの入力を格納するやつがあって、 Scanner と BufferedReaderのやり方がありますが、これはどう違うのでしょうか? それとも全く同じでしょうか? たとえば、 ■一つ目 import java.io.*; class Sample3{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("文字列を入力してください"); String str1=br.readLine(); System.out.println("検索文字を入力してください"); String str2=br.readLine(); char ch=str2.charAt(0); int num=str1.indexOf(ch); if(num !=-1) System.out.println(str1+"の"+(num+1)+"番目に「"+ch+"」が見つかりました"); else System.out.println(str1+"に「"+ch+"」はありません"); } } ■二つ目 import java.util.Scanner; class Sample4{ public static void main(String[] args){ Scanner stdIn=new Scanner(System.in); System.out.println("文字列を入力してください"); String str1=stdIn.nextLine(); System.out.println("検索文字を入力してください"); String str2=stdIn.nextLine(); char ch=str2.charAt(0); int num=str1.indexOf(ch); if(num !=-1) System.out.println(str1+"の"+(num+1)+"番目に「"+ch+"」が見つかりました"); else System.out.println(str1+"に「"+ch+"」はありません"); } } これら2つは全く同じ実行結果が得られると思うのですが、 Scanner と BufferedReader の使い分けるべき場合などあるのでしょうか?

生成したインスタンスを削除する方法

$
0
0
言語:JAVA 生成したインスタンスを削除するにはどのようにすれば良いでしょうか? testData = new TestData(); testDataはセッション内に格納してあります。 また、testDataはNULLのままだったり、実際に値が入っていたりもします。 NULLのままだと不具合があるため、NULLの場合は、インスタンスそのものを削除してしまいたいと考えています。 初歩的な質問ですみませんが、教えてください。 よろしくお願いいたします。

メソッドをstaticにする、しないの基準は何?

$
0
0
こんにちは。Javaをはじめてだいぶ経ちますが、未だにタイトルの疑問が解決しきれません。 staticにした方が呼び出すときに便利なような気がしますが、そうするとstaticにしない理由は何なのでしょうか?基本的な質問かと思いますが、どなたかよろしくお願いします。

bgmをつけるには(java)

$
0
0
いまテトリスのようなゲームをjavaで作ろうとしています。 その件に関して少し前に質問して、まだコンパイルがうまくいかないのですが、それはそれとして今度は別の質問です。 仮にテトリスが遊べるような状態になったとして、ゲームにBGMをつけるにはどのようにすればいいのすか? 乏しい知識で本やネットで調べたところ、AudioClipインタフェースを 使ってどうにかするのかな、と思っています。 どういう感じでやるのかイメージがつかめません。BGMはBGM用にクラスを作って記述するのですか? 以下のようなクラスを作ってコンパイルしても class Audio extends Applet { AudioClip bgm; public void init() { bgm = getAudioClip(getClass().getResource("○○.au")); bgm.loop(); } } シンボルを解決できません。 シンボル: クラス AudioClip 場所 : Audio の クラス AudioClip bgm; と出てしまいます。大まかなイメージでもいいのでゲームにBGMをつけるさいのやり方を教えてください。お願いします。

波線、あるいはWAVEDASH(~)の文字化け

$
0
0
urizakaです さて、現在PostgreSQL+JSPで開発を行っているのですが、「~」(波線、あるいはWAVEDASH)という文字がどうしても文字化けして「?」と表示されてしまいます。 もちろん文字化け対策と呼ばれる方法 「 s = new String(s.getBytes("iso-8859-1"),"Shift_JIS");」 (sが「~」の入ったStringデータ) も試してみたのですが、どうしても「~」が「?」と表示されてしまいます。 psqlで見てみると、PostgreSQLに入ったデータはちゃんと「~」になっているようなのですが…やはりDBに収めるときに別の文字に変換し、JSPに持ってくる時に「~」の文字に直してあげるしかないのでしょうか?  詳しい環境は以下のようです。  ・JSDK1.4.0_01 ・PostgreSQL(WindowsNative版 7.2.1)  ・Windows2000(本番稼動時にはRedHatLinux7.3の予定)  ・ApacheTomcat4.0    すみませんが、よろしくお願いします。

Javaで改行などが出来ないのです。

$
0
0
 Java の事で質問です。     System.out.println("このようにしても\n");  改行できません。    このようにしても\n     と表示されてしまいます。どうしてでしょう。ちなみにOSはMacOS9.1です。なにか関係があるのでしょうか?

任意の文字列をJAVAで画像化

$
0
0
表題にある通り任意の文字列をJAVAで画像化したいと思い 下記サンプルを検索して見つけたのですが作成される画像は 真っ白な画像で文字列は表示されませんでした。 任意の文字列を画像として出力するにはどうすればよいでしょうか。 import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; public class Test5 { public static void main(String[] args) { String str = "abc123"; new Test5().Create(str); System.out.println(str); } public void Create(String str) { int w=60; int h=17; try { //受け取った文字列を画像化 BufferedImage image=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB); Graphics2D g2d=image.createGraphics(); g2d.setBackground(Color.WHITE); g2d.clearRect(0,0,w,h); g2d.setColor(Color.BLACK); g2d.drawString(str,0,0); ImageIO.write(image, "JPEG", new File("c:\\test.jpg")); } catch(Exception e) { e.printStackTrace(); } } }

配列から最大値・最小値

$
0
0
int[ ] ten = {10,20,30,40,50} 例えばこの初期化された配列の中から最大値と最小値を表示させるプログラムを作りたい場合はどのようにすればよいのでしょう? public class aaa {  public static void main(String[ ] args){   int[ ] ten = {10,20,30,40,50};   int 最大値 = ten[0];    for (int i = 0; i< ten.length;i++){ if (最大値 < ten[i]){ 最大値 = ten[i]; } } System.out.println("最大値は" + 最大値 + "です。"); } } これで最大値だけは表示させられるのですが、ここから最小値も表示させるにはどのように加えてけばいいか教えてください。お願い致します。

Javaが途中で止まってしまいます

$
0
0
Javaで音声ファイルを変換するスクリプトなのですが、音声ファイル自体は認識して「ファイルコピー終了」と出るのですが、実際にはコピーされておらず、そこで終わってしまい変換工程まで辿り着かない状態です。 ============================== import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class OnseiFileConvert { /** * @param args */ public static void main(String[] args) { OnseiFileConvert exe = new OnseiFileConvert(); exe.execute(); } /** m = 0x80; for( i=0; i<fsize; i++, m++ ) { if( m == 0xFF ) { m = 0x80; } fread( &t, 1, 1, fp ); t = t^m; fwrite( &t, 1, 1, fp_out ); } */ public void execute(){ String voice_dir_in = "C:\\java\\onsei"; String voice_dir_out = "C:\\output\\onsei"; try { convVoice(voice_dir_in,voice_dir_out); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 音声変換処理 * @throws IOException * @throws InterruptedException */ private void convVoice(String voice_dir_in,String voice_dir_out) throws IOException, InterruptedException{ System.out.println("ディレクトリーコピー開始"); System.out.println("xcopy /T /E \"" + voice_dir_in + "\" \"" + voice_dir_out +"\""); Process proc = Runtime.getRuntime().exec( "xcopy /T \"" + voice_dir_in + "\" \"" + voice_dir_out +"\""); proc.waitFor(); proc.destroy(); System.out.println("ディレクトリーコピー終了"); System.out.println("ファイルコピー開始"); convData(voice_dir_in, voice_dir_out); System.out.println("ファイルコピー終了"); } /** * @param voice_dir_in * @param voice_dir_out * @throws IOException * @throws InterruptedException */ private void convData(String voice_dir_in, String voice_dir_out) throws IOException, InterruptedException { System.out.println(voice_dir_in + "/" + voice_dir_out); File in_file = new File(voice_dir_in); File[] in_files_list = in_file.listFiles(); for(int i = 0; i < in_files_list.length ; i++ ){ File chFile = in_files_list[i]; if(chFile.isDirectory()){ convData(voice_dir_in + "\\" + chFile.getName() ,voice_dir_out + "\\" + chFile.getName() ); } else { String file_name = chFile.getName(); System.out.println(file_name); if(".".equals(file_name.substring(0, 1))){ file_name = file_name.substring(1, file_name.length()-4); File ofile = new File(voice_dir_out + "\\" + file_name); if( ofile.length() == 0 ){ convFile(voice_dir_in + "\\" + chFile.getName(),voice_dir_out + "\\" + file_name); } } } } } /** * ファイル単位に変換を実施する処理 */ private void convFile(String input_file_name,String out_file_name) { //convert FileInputStream fip = null; FileOutputStream fop = null; try { System.out.println("変換開始"); fip = new FileInputStream(input_file_name); fop = new FileOutputStream(out_file_name); long fsize = (new File(input_file_name)).length(); int m = 0x80; for( int i=0; i< fsize; i++, m++ ) { if( m == 0xFF ) { m = 0x80; } int t = fip.read(); t = t^m; fop.write(t); } System.out.println("変換完了" + fsize + "Byte"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { if(fip != null){ fip.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(fop != null){ fop.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ============================== 長時間悩んで書き直したりしたのですが、やはり結果が変わらずお手上げ状態です。 どうぞご助力お願いします。
Viewing all 68675 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>