salsberry の回答履歴
- コンパイル後のハードディスク変更について
Cで記載したCGIをコンパイル中です。 現在テスト環境で500GBのハードディスク上でコンパイルしていますが、本番環境では2TBの環境で構築したいと考えています。 質問です。 コンパイルはマシン毎にやる必要があるということですが、ハードディスクだけ替えてフルコピーした場合(それ以外は同一マシン)は、そのCGIは再度コンパイルしなくても使えますか?
- コンパイル後のハードディスク変更について
Cで記載したCGIをコンパイル中です。 現在テスト環境で500GBのハードディスク上でコンパイルしていますが、本番環境では2TBの環境で構築したいと考えています。 質問です。 コンパイルはマシン毎にやる必要があるということですが、ハードディスクだけ替えてフルコピーした場合(それ以外は同一マシン)は、そのCGIは再度コンパイルしなくても使えますか?
- バッチファイルを作りたい。
こんにちは いまある作業をしていて、どうにか自動化できないかと調べていたら、 バッチファイルというものがあると知りました。 バッチファイルに、ファイルをドロップすると、そのファイルの名前のフォルダが作成され、 そのフォルダの中に、B,Cの2つのフォルダ、さらにフォルダBのなかに B1、B2、B3、B4の4つのフォルダが作成される。 というバッチファイルを作りたいです。 また、一度に複数のファイルをドロップしても、動くようにしたいです。 どなたか詳しい方、教えてください。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- marvel1
- 回答数4
- Javaアプレットについてですが
Javaアプレットでボタンを押したら数字が増えるものを作っているのですがどうもうまく動きません。 ソースは下の通りです。 変更しなければいけないところがあるならお願いします。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Button; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Sample7 extends Applet implements Runnable, ActionListener { Button bt; int num; public void init() { bt = new Button("開始"); add(bt); bt.addActionListener(this); Thread th; th = new Thread(this); th.start(); } public void actionPerformed(ActionEvent ae) { public void run() { try{ for(int i=0; i<11; i++){ num = i; repaint(); Thread.sleep(1000); } } catch(InterruptedException e){} } } public void paint(Graphics g) { String str = num + "です。"; g.drawString(str, 50, 50); } }
- Javaアプレットについてですが
Javaアプレットでボタンを押したら数字が増えるものを作っているのですがどうもうまく動きません。 ソースは下の通りです。 変更しなければいけないところがあるならお願いします。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Button; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Sample7 extends Applet implements Runnable, ActionListener { Button bt; int num; public void init() { bt = new Button("開始"); add(bt); bt.addActionListener(this); Thread th; th = new Thread(this); th.start(); } public void actionPerformed(ActionEvent ae) { public void run() { try{ for(int i=0; i<11; i++){ num = i; repaint(); Thread.sleep(1000); } } catch(InterruptedException e){} } } public void paint(Graphics g) { String str = num + "です。"; g.drawString(str, 50, 50); } }
- JOptionPaneの「いいえ」をEnterで
こんにちは。 現在、JOptionPaneを使って出したダイアログのボタンを エンターキーで選択したときの処理についてこまっています。 「いいえ」のボタンをエンターキーで押すと、 なぜか「はい」を押したときと同じ処理をしてしまうのです。 これを防ぐには、どうすればよいでしょうか? 以下、ソースコードの一部です。 //「はい」「いいえ」の結果を受け取る変数を宣言 int sentaku = 1; //ダイアログボックスを表示する処理 sentaku = JOptionPane.showConfirmDialog (null, "本当にこのイベントを削除しますか?", "削除確認" ,0); //上のダイアログボックスで選択された結果をコンソールに出します。 System.out.println("本当に削除しますか?(0:はい 1:いいえ)→"+sentaku); //ここで、「いいえ」をエンターキーで押すと、sentakuが0を返してしまいます。 //スペースキーで押すと、sentakuは1を返してくれました。
- Javaを使ったチャットシステムについて
はじめまして。 チャットシステムを作ろうと思い他の方が制作されたソースコードを拝見させて頂いたのですがよくわかりませんでした。 よろしければ教えて頂けないでしょうか? よくわからなかったのは読込・書込処理の部分です。 どういう流れで会話のやり取りが行われているのかよくわかりません。 例えば、Aさんが書き込んでBさんがその書き込みを見るまで、のような一連の流れです。 ・読込処理 URL wi_url = new URL(p_url+"chat1.cgi"); URLConnection wi_connect = wi_url.openConnection(); wi_connect.setDoInput(true); wi_connect.setDoOutput(true); wi_connect.setUseCaches(false); OutputStream wo_stream = wi_connect.getOutputStream(); BufferedWriter wo_buffer = new BufferedWriter(new OutputStreamWriter(wo_stream)); wo_buffer.write("read", 0, 4); wo_buffer.flush(); wo_buffer.close(); InputStream wi_stream = wi_connect.getInputStream(); BufferedReader wi_buffer= new BufferedReader(new InputStreamReader(wi_stream)); ・書込処理 URL wo_url = new URL(p_url+"chat2.cgi"); URLConnection wo_connect = wo_url.openConnection(); wo_connect.setDoOutput(true); wo_connect.setDoInput(true); wo_connect.setUseCaches(false); OutputStream wo_stream = wo_connect.getOutputStream(); BufferedWriter wo_buffer = new BufferedWriter(new OutputStreamWriter(wo_stream)); wo_buffer.write(w_data, 0, w_data.length()); wo_buffer.flush(); wo_buffer.close(); InputStream wi_stream = wo_connect.getInputStream(); BufferedReader wi_buffer = new BufferedReader(new InputStreamReader(wi_stream));
- 締切済み
- Java
- ryuichi413
- 回答数2
- Javaを使ったチャットシステムについて
はじめまして。 チャットシステムを作ろうと思い他の方が制作されたソースコードを拝見させて頂いたのですがよくわかりませんでした。 よろしければ教えて頂けないでしょうか? よくわからなかったのは読込・書込処理の部分です。 どういう流れで会話のやり取りが行われているのかよくわかりません。 例えば、Aさんが書き込んでBさんがその書き込みを見るまで、のような一連の流れです。 ・読込処理 URL wi_url = new URL(p_url+"chat1.cgi"); URLConnection wi_connect = wi_url.openConnection(); wi_connect.setDoInput(true); wi_connect.setDoOutput(true); wi_connect.setUseCaches(false); OutputStream wo_stream = wi_connect.getOutputStream(); BufferedWriter wo_buffer = new BufferedWriter(new OutputStreamWriter(wo_stream)); wo_buffer.write("read", 0, 4); wo_buffer.flush(); wo_buffer.close(); InputStream wi_stream = wi_connect.getInputStream(); BufferedReader wi_buffer= new BufferedReader(new InputStreamReader(wi_stream)); ・書込処理 URL wo_url = new URL(p_url+"chat2.cgi"); URLConnection wo_connect = wo_url.openConnection(); wo_connect.setDoOutput(true); wo_connect.setDoInput(true); wo_connect.setUseCaches(false); OutputStream wo_stream = wo_connect.getOutputStream(); BufferedWriter wo_buffer = new BufferedWriter(new OutputStreamWriter(wo_stream)); wo_buffer.write(w_data, 0, w_data.length()); wo_buffer.flush(); wo_buffer.close(); InputStream wi_stream = wo_connect.getInputStream(); BufferedReader wi_buffer = new BufferedReader(new InputStreamReader(wi_stream));
- 締切済み
- Java
- ryuichi413
- 回答数2
- Javaで数独の自動解法プログラム
Javaで次のようなプログラムを作りました。 次に、ここから実行で得られた数独を自動解法プログラムによって、解が「1つ or 複数」かを調べるようにしたいのですが、その自動解法プログラムは新しく作らなければいけないのでしょうか。 import java.util.Random; public class NumberPlace { public static void main(String[] args) { int i, j, k, l, m, n, check=0, count=0, tmp; int a[][] = new int [9][9]; Random rnd = new Random(); int ran; Random rnd1 = new Random(); int ran1; Random rnd2 = new Random(); int ran2; boolean A=false; while(A==false){ A=true; for ( i=0; i<9; i++ ) for ( j=0; j<9; j++ ) a[i][j] = 0; count = 0; for ( i=0; i<9; i++ ) { for ( j=0; j<9; j++ ) { ran = rnd.nextInt(9); tmp = ran + 1; check = 0; //System.out.println(tmp); for ( k=0; k<j; k++ ) //横列に入る数字をチェック if ( a[i][k] == tmp ) check = 1; for ( k=0; k<i; k++ ) //縦列に入る数字をチェック if ( a[k][j] == tmp ) check = 1; for ( k=(i/3)*3; k<(i/3)*3+3; k++ ) //ボックスに入る数字をチェック for ( l=(j/3)*3; l<(j/3)*3+3; l++ ) if ( a[k][l] == tmp ) check = 1; if ( check == 0 ) a[i][j] = tmp; if ( check == 1 ) j--; if ( count > 50000 ){ A=false;break;} count++; } count = 0; } } for ( i=0; i<30; i++ ) { //0を入れる回数 ran1 = rnd1.nextInt(9); m = ran1; ran2 = rnd2.nextInt(9); n = ran2; if ( a[m][n] == 0 ) { //0にしようとした場所が既に0だったら直前に戻る i--; } a[m][n] = 0; } for ( i=0; i<9; i++) { for ( j=0; j<9; j++ ) { if ( a[i][j] < 10 ) { System.out.print(" "); } System.out.print(a[i][j]); } System.out.print("\n"); } } } これを(最初に入れる0の数を30個として)実行すると、次のようになります。 0 7 6 9 4 1 8 2 5 2 0 5 3 7 0 9 4 0 9 0 4 8 2 5 0 3 7 1 0 2 0 0 0 5 0 6 6 9 3 1 0 0 0 8 2 7 0 8 0 0 0 0 1 4 0 0 0 0 0 0 0 0 3 4 3 0 5 6 8 2 7 9 5 2 9 4 3 7 0 0 8 皆さんの回答の程宜しくお願いします。
- 締切済み
- Java
- swallows1987
- 回答数2
- C言語:引数の型だけ異なる関数を一つにまとめる方法
以下の引数の型だけ異なる関数を、どうにかして一つにまとめたいのですが、 何か良い方法はないでしょうか? void funcA(_MNGR_TAG mngr){ 処理X; } void funcB(_COPY_MNGR_TAG mngr){ 処理X; } 補足: ・_NODE_TAGと_COPY_NODE_TAGは構造体です。ただし中身は異なります。 ・(引数名が同じため)funcAとfuncBで行っている処理は全く同じです。 注意事項: 関数テーブルやC++言語を使用する方法は除いて下さい
- ccコマンド時の0711-317エラー
お世話になっております。 AIX上にてC言語のモジュールをコンパイルしようとしているのですが、下記のとおりエラーがでてしまい、コンパイルできません。 実行コマンド cc -o XXX XXX.c エラー ld: 0711-317 エラー: 未定義のシンボル: .YYYY ld: 0711-317 エラー: 未定義のシンボル: .ZZZZ ld: 0711-345 -bloadmap または -bnoquiet オプションを使用して、詳細な情報を得てください。 YYYY関数とZZZZ関数が乗っているヘッダーファイルはXXX.cと同じディレクトリ上に存在しています。 (ヘッダーファイルは某製品についていたものです。) ヘッダーファイルとXXX.cモジュールが同じディレクトリに存在すれば、 リンクの設定等不要とおもっているのですが、間違えているのでしょうか。 また、設定等が不足している場合、その不足している設定をご教示いただけないでしょうか。
- Linux C++ でマルチプロセスプログラミング
Cent OS + Eclipse CDT で C++ プログラミングをはじめたばかりです。 マルチプロセスのアプリを作成したいのですが、C++ での子プロセス作成や その制御方法についてネットで探しても、C言語(の文法)でのやり方は見つかるのですが、 C++でのやりかたは見つかりませんでした。 (C言語を包含してるんだからC言語の文法でもいいじゃんとは言わないでください。。) C++でも fork して子プロセスを作成するということのようですが、 実際のサンプルソースなどが載っているサイトや、 Linux C++ で参考になる書籍があったら教えて欲しいと思います。 よろしくおねがいします。
- Javaで数独の自動問題作成プログラム
Javaで次のようなプログラムを作りました。 import java.util.Random; public class NumberPlace { public static void main(String[] args) { int i, j, k, l, check=0, count=0, tmp; int a[][] = new int [9][9]; Random rnd = new Random(); int ran; boolean A=false; while(A==false){ A=true; for ( i=0; i<9; i++ ) for ( j=0; j<9; j++ ) a[i][j] = 0; count = 0; for ( i=0; i<9; i++ ) { for ( j=0; j<9; j++ ) { ran = rnd.nextInt(9); tmp = ran + 1; check = 0; //System.out.println(tmp); for ( k=0; k<j; k++ ) if ( a[i][k] == tmp ) check = 1; for ( k=0; k<i; k++ ) if ( a[k][j] == tmp ) check = 1; for ( k=(i/3)*3; k<(i/3)*3+3; k++ ) for ( l=(j/3)*3; l<(j/3)*3+3; l++ ) if ( a[k][l] == tmp ) check = 1; if ( check == 0 ) a[i][j] = tmp; if ( check == 1 ) j--; if ( count > 50000 ){ A=false;break;} count++; } count = 0; } } for ( i=0; i<9; i++) { for ( j=0; j<9; j++ ) { if ( a[i][j] < 10 ) { System.out.print(" "); } System.out.print(a[i][j]); } System.out.print("\n"); } } } これを実行すると、次のようになります。 2 5 3 6 8 4 9 1 7 4 7 9 1 3 5 2 6 8 8 1 6 9 2 7 3 4 5 7 3 5 4 1 6 8 9 2 9 2 1 8 5 3 6 7 4 6 4 8 7 9 2 5 3 1 1 9 4 2 6 8 7 5 3 5 6 2 3 7 1 4 8 9 3 8 7 5 4 9 1 2 6 あとは、ここからランダムに50個数字を抜いて数独の問題にしたいのですが、 どうやったらランダムに数字を抜くことが出来るでしょうか? プログラムソースを提示していただくとありがたいのですが。宜しくお願いします。
- 締切済み
- Java
- swallows1987
- 回答数1
- 仮引数の変数をローカル変数に格納する理由について
プログラムの多くは、仮引数のポインタを一度ローカル変数に格納して使っていますが、なぜでしょうか?データが壊れてしまったりするのでしょうか・・・ typedef struct _LIST{ int value; struct LIST *next; struct LIST *prev; }LIST,*LIST_PTR; void func(LIST_PTR list, char *str){ LIST_PTR wk_list; char *wk_str; wk_list = list; wk = str;
- JavaSwingについて分からないとこがあります
ファイル(テキスト、バイナリ、その他)をテキストフィールド上に読み込むときshowOpenDialogによってそれぞれのパソコンの OpenDialogが開かれ、そこから任意のファイルを選択していきますよね?そこでなのですが、その開かれたOpenDialogの下の方にはファイル名とファイルタイプが表示・選択できるようになってますが、そこでファイルタイプのところでテキストファイルを選択したらテキストファイル以外無効になる(色がグレーになるなど)、バイナリファイルを選択すればそれ以外無効になるようにしたいのですが、(選択ファイルタイプはオリジナルです)ファイルタイプの所は自分で作ったボタンやチェックボタンじゃないですからどのように選択してそして選択種類以外は無効にするのか? ActionListenerのほうで JFileChooser fc=new JFileChooser(); fc.setFileFilter(new MyFileFilter()); でファイルフィルタを呼び出し。 class MyFileFilter extends javax.swing.filechooser.FileFilter { public boolean accept(File f) { if(f.isDirectory){ return true; } String fn=f.getName(); if(fn.toLowerCase().endsWith(".bin")){ return true; } return false; public String getDescription() /*メッソドを調べましたが該当しそうなのがこれくらいしかなくこれもテキストし { か返ってこないのでどのようにしようか困ってます*/ return "バイナリファイル"; } } } ファイルタイプを自分で選び、それ以外を無効にするにはどうしたら良いでしょうか?? 教えて下さい><
- 締切済み
- Java
- u_f_o_pech
- 回答数1
- メモリにロードされたクラスの判別方法
javaを勉強し始めてまだ1週間の入門者です。 見当違いの事を書いているかもしれませんが、その場合は指摘下さい。 条件は下記通りです。 AクラスとBクラスがある。 AクラスからBクラスを呼び出す。 AクラスとBクラスには継承関係は無い。 BクラスがjavaVMのメモリ領域にロードされるタイミングは以下のタイミングの認識で宜しいでしょうか? 1.AクラスからBクラスのstatic変数が参照されたとき 2.AクラスからBクラスをインスタンス化したとき 上記認識が正しい場合ですが、プログラム上でBクラスがjavaVMのメモリ上にロードされているかを確認する方法があるかを調べていたのですが良くわかりませんでした。 クラスAを実行させる際に、javaのverboseオプションを使用してクラスがロードされているのを確認する事はできましたが、プログラム上で判定できないかと思いました。 検索サイトで調べてみると、ClassLoaderクラスを使用すれば出来そうな感じがしたのですが、使い方が分からず行き詰ってしまいました。 上記のように任意クラスがjavaVMのメモリ上にロードされているかいないかを判別する手法があるようでしたら、サンプル等がある場所だけでも良いので教えて頂けると助かります。 以上、よろしくお願い致します。
- close()で例外が投げられる理由
最近、Java を勉強しはじめておるのですが、ファイル入出力処理で例えば、out.txt なるファイルを出力するサンプルとして FileWriter out = null; try { wt = new FileWriter("out.txt"); out.write("はろー"); } catch ( IOException e ) { e.printStackTrace(); } finally { try { if (out != null ) out.close(); } catch (IOException e) { e.printStackTrace(); } } という風に、FileWriter オブジェクト out をクローズする時に IOException 例外が投げられる可能性に対処するため、try / catch でこれをつかまえるように、と聞きました。 そして驚くべきことに、close() が例外を投げた時の catch 節には特に書くべき処理はない、というのです。 そこで質問です。 1. 本当に FileWriter#close() の IOException 例外に対処するためのコードは不要なのですか?(常に握り潰しているだけ?) 2. 対処するコードが不要なら、そもそも FileWriter#close() が IOException 例外を投げる必要がないのではないですか? 長文失礼しました。
- ヒープサイズの限界
javaで2の1乘から2の100000000乘までの値のmod n(nは1000ビット)の値をBigInteger型の配列に格納したくて A.java BigInteger a = new BigInteger("2"); BigInteger b = new BigInteger("1"); f[0] = b; for(j=1;j<100000000;j++) f[j]= (f[j-1].multiply(a)).mod(n) ; ・・・ここでエラー のようなプログラムを作成しましたがjava -Xmx1400m A 実行するとjava.lang.OutOfMemoryError: Java heap space というエラーがでます。私のパソコンでは1400mが限界でこれ以上超えるとToo small initial heap というエラーが出ます。なんとかエラーが出ずにプログラムを実行させる方法はないでしょうか?
- javaでビットデータファイル読込み・書込み
javaで、 例えば ファイルから3000bit分のデータを読み込み。 ↓ 指定したビットを反転したりします。 ↓ そして、またそのファイルに処理後のデータを書き込む。 というような処理をしたいのですが、 まず、最初に3000bit分のデータファイル作成するにはどうしたらいいのでしょうか? そして、そのビットデータをファイルに書き込むにはどうしたらよいでしょうか?
- マルチスレッドでのインスタンス変数
http://itpro.nikkeibp.co.jp/article/COLUMN/20070820/279950/ このサイトに以下ような趣旨の記述があり、信じられない気持ちでいっぱいです。 「マルチスレッドのケース(たとえばサーブレットでは、)インスタンス変数はヒープ領域に 保持されるので、複数のスレッドからアクセスされるので情報が書き換えられる場合がある」 信じられないのは、インスタンス変数が書き換えられるということです。 サーブレットではインスタンス変数が共有されるのは理解していますが、 サーブレットから呼ばれるインスタンスで定義されているインスタンス変数も それに該当するのでしょうか。 それとも、サーブレット内だけの話で、サーブレットから呼ばれるインスタンスでは インスタンス変数は独立していると思ってよいでしょうか。 後者の認識ですが、こういう書き方をされると、サーブレットから呼ばれた先でも インスタンス変数が共有されると読めて、怖くて仕方ないです。
- ベストアンサー
- Java
- taiyaki123
- 回答数4