salsberry の回答履歴
- 「import java.el」について その2
別に立ち上げている「はじめてのjavaのソース解析」にて 平行に調査しています。 現在、以下のimport文のAPI群が、見つかりません。 ご存じの方は、教えて下さい。 import javax.el.ELContext; import javax.el.ExpressionFactory; import javax.el.MethodExpression; 丁度、JSF2.0のjavax.faces.context.FacesContextを調査すると、そのメソッドに「javax.el.ELContext」の記述がありましたが、上記のimport文に書かれているものと同じでしょうか。判断がつかないため、ご存じの方、助言を宜しくお願いします。
- DynaactionFormで困っています。
下記のようなエラーが出た場合、主にどのような対処の仕方があるのですか? "org.apache.struts.action.DynaActionForm cannot be cast to action.form.FormA" "org.apache.struts.action.DynaActionForm"を"action.form.FormA"に投げかけられません。としかわからず、なにをしたらいいのか分かりません。お願い致します。
- コマンドライン引数 java
学校で、2進数表記された文字列number1、number2…numberNを数値に変換し、合計を算出し、2進数表記の文字列に変換した結果を出力するプログラムを組む課題が出ました。 java Lesson06 number1 number2 … numberN の形式で受け取ったコマンドライン引数を元に、処理を行います。 ※number1からnumberNは、全て0か1のみで構成されている文字列 * 文字列の加算 * System.outまたはSystem.errのprint系メソッドで、Stringの値を受け取るもの以外 * Integerなどのラッパークラス * DecimalFormatなどの書式変換クラス 上記の機能は使ってはいけません。 ---- class Lesson{ public static void main(String args[]){ int sum; for(int i = 1; i < args.length; i ++) { int len = strlen(args[i]);//※ for(int j = 0; j < len; j ++) { if(args[i][len - j - 1] == "1") {//※ sum = pow(2, j) + sum;//※ } } } } } ---- とりあえず、与えられた二進数を計算する部分まで作ってみたのですが、※の部分でエラーが出てしまいます。 コマンドライン引数もよく分からなくて困っているので、教えていただければ助かります。 以上よろしくお願いいたします。
- Javaでプログラムをコマンドから「プログラム名」だけで起動できる?
普通はコンパイルしてtest.classファイルというファイルを作って >java test と、実行すると思うのですが、C言語でコンパイルした実行ファイルみたいに、Javaで作ったプログラムを >test みたいに実行する方法はあるでしょうか?
- コマンドライン引数 java
学校で、2進数表記された文字列number1、number2…numberNを数値に変換し、合計を算出し、2進数表記の文字列に変換した結果を出力するプログラムを組む課題が出ました。 java Lesson06 number1 number2 … numberN の形式で受け取ったコマンドライン引数を元に、処理を行います。 ※number1からnumberNは、全て0か1のみで構成されている文字列 * 文字列の加算 * System.outまたはSystem.errのprint系メソッドで、Stringの値を受け取るもの以外 * Integerなどのラッパークラス * DecimalFormatなどの書式変換クラス 上記の機能は使ってはいけません。 ---- class Lesson{ public static void main(String args[]){ int sum; for(int i = 1; i < args.length; i ++) { int len = strlen(args[i]);//※ for(int j = 0; j < len; j ++) { if(args[i][len - j - 1] == "1") {//※ sum = pow(2, j) + sum;//※ } } } } } ---- とりあえず、与えられた二進数を計算する部分まで作ってみたのですが、※の部分でエラーが出てしまいます。 コマンドライン引数もよく分からなくて困っているので、教えていただければ助かります。 以上よろしくお願いいたします。
- コマンドライン引数 java
学校で、2進数表記された文字列number1、number2…numberNを数値に変換し、合計を算出し、2進数表記の文字列に変換した結果を出力するプログラムを組む課題が出ました。 java Lesson06 number1 number2 … numberN の形式で受け取ったコマンドライン引数を元に、処理を行います。 ※number1からnumberNは、全て0か1のみで構成されている文字列 * 文字列の加算 * System.outまたはSystem.errのprint系メソッドで、Stringの値を受け取るもの以外 * Integerなどのラッパークラス * DecimalFormatなどの書式変換クラス 上記の機能は使ってはいけません。 ---- class Lesson{ public static void main(String args[]){ int sum; for(int i = 1; i < args.length; i ++) { int len = strlen(args[i]);//※ for(int j = 0; j < len; j ++) { if(args[i][len - j - 1] == "1") {//※ sum = pow(2, j) + sum;//※ } } } } } ---- とりあえず、与えられた二進数を計算する部分まで作ってみたのですが、※の部分でエラーが出てしまいます。 コマンドライン引数もよく分からなくて困っているので、教えていただければ助かります。 以上よろしくお願いいたします。
- アセンブリでプログラムの高速化をするには
アセンブリレベルでのプログラムの高速化ができるようになりたくて、アセンブリを勉強し始めた者です。 質問なのですが、CPUは新しくなるにつれて命令が増えたり、製品によって微妙に違ったりしますよね。そういうCPUの命令の種類を知るにはどう調べたらいいのでしょうか?「core 2 アーキテクチャ」等と調べてみましたが、思うような情報が出てきません。CPUの仕様書みたいな物がメーカーから配布されていたりしますか? また、もし「Windowsパソコンで超高速に処理を行うコンポーネントを作ろう!」と思ったら、Windowsパソコンで使われている様々なCPU(coreとかPentiumとかAMDのCPUとか)に合わせてアセンブリ(アセンブリが対応していない場合は機械語)や命令セットを知り、CPUに特化したプログラムを書いていかなければならないでしょうか。CPUは本当に種類が多いので、それは死ぬほど大変なような気がします。それとも、CPUにはある程度の互換性があって、そこまで細分化してプログラムを書く必要はないですか? 質問は上記の2つです。回答よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- noname#113783
- 回答数3
- 簡易grep関数ができません。助けてください><
はじめまして。 C言語初級者の大学生です。 このたび、大学で出た課題で、Perlで製作した簡易grep関数 プログラムを元に、C言語で同様の内容をプログラミングせよ、 という課題が出題されました。 大半はできたのですが、肝心の文字列検索アルゴリズム(特定のワードを含んだ文章の検出)がわかりません。 やり方教えてください、お願いします>< OS:Mac OS X 10.8.5 エディタ:vi Editor 【参考】 Perlで製作した簡易grep関数 #grep for perl version #usage:mygrep pattern file1,file2,... if(@ARGV<1) {die:"Usage mygrep pattern [file.]\n";} $pattern=shift foreach $file (@ARGV) { open(FILE,$file); $line=1; while(<FILE>){ #--------------------------------------------- print "$file $line:$_" if /$pattern/o; #--------------------------------------------- # ↑この部分をC言語で表したいです $line++;} close(FILE); }
- ベストアンサー
- C・C++・C#
- gun_of_kid
- 回答数4
- c
gnuをc言語に通して時計を作る という課題をやっています ビルドした結果、a、b、theta、のローカル変数は一度も使われておりませんと出てきてしまい、時計の針が出てきません fprintf(gp, "set a=%lf, a"); fprintf(gp, "set b=%lf, b"); fprintf(gp, "set theta=%lf, theta"); と設定したつもりですがどこがどう間違えてるかわかりません お願いします。下にソースファイルのプログラムを載せときました #include "stdafx.h" //この文は通常、不要。単純アプリやHello worldを選ぶと必要。 #include <stdio.h> // はずしても通る #include <stdlib.h> #include <math.h> //数学関数の呼び出しに使用する。 #define GNUPLOT_PATH "C:/FUJITA/gnuplot/bin/pgnuplot" int main(int argc, char* argv[]) { double a,b,theta,k; FILE *gp; gp = _popen(GNUPLOT_PATH, "w"); if(gp == NULL){ fprintf(stderr, "Oops, I can't find %s.", GNUPLOT_PATH); exit(EXIT_FAILURE); } fprintf(gp, "reset\n"); fprintf(gp, "set title Clock \n"); fprintf(gp, "set size square \n"); fprintf(gp, "set key off\n"); fprintf(gp, "unset border \n"); fprintf(gp, "unset xtics \n"); fprintf(gp, "unset ytics \n"); fprintf(gp, "set grid \n"); fprintf(gp, "set parametric \n"); fprintf(gp, "set xrange [-1:1] \n"); fprintf(gp, "set yrange [-1:1.2] \n"); fprintf(gp, "set pi=%lf, pi \n"); fprintf(gp, "set a=%lf, a"); fprintf(gp, "set b=%lf, b"); fprintf(gp, "set theta=%lf, theta"); fprintf(gp, "set grid \n"); for (k=0; k<10; k++){ fprintf(gp,"theta=k \n"); fprintf(gp,"set a=0.5*pi-(theta*pi)/180.0 \n"); fprintf(gp,"set b=0.5*pi-(theta*pi)/(180.0*12.0)"); fprintf(gp,"set arrow 1 from 0.0,0.0 to 0.4*cos(b),0.4*sin(b) front size 0.1,30 lt 5 lw 5 \n"); fprintf(gp,"set arrow 2 from 0.0,0.0 to 0.8*cos(a),0.8*sin(a) front size 0.1,15 lt 5 lw 3 \n"); } fprintf(gp," set arrow 1 from 0.0,0.0 to 0.4*cos(b),0.4*sin(b) front size 0.1,30 lt 5 lw 5\n""0.4*cos(b),0.4*sin(b) \n"); fprintf(gp," set arrow 2 from 0.0,0.0 to 0.8*cos(b),0.8*sin(b) front size 0.1,15 lt 5 lw 3\n","0.8*cos(a),0.8*sin(a) \n"); fprintf(gp,"plot sin(t),cos(t)\n"); fprintf(gp,"pause 100 \n"); return (0); }
- ベストアンサー
- C・C++・C#
- ikeike_200
- 回答数2
- C言語でファイル読み書きを早くしたい。
いつも利用させてもらって助かっています。 あるプログラムを作成しているのですが、ファイル入力の部分がネックとなってしまって、全体が使いものにならない状況に陥っています。 たくさんのデータをfread1回で読み込むことにより、読み込み速度はずいぶんと改善されましたが、まだ圧倒的に遅い状況です。システムコールを使いましたが、ほとんど改善されませんでした。 読み込み/書き込みの速度を改善する方法として,SSDメモリを使ったりする方法があると思いますが,プログラムの観点から改善できるところはないでしょうか? 下に、ファイル読み込みの部分だけ記述したコードを添付させて頂いたので、改善できる点があれば、御指摘頂けると助かります。 なお、前提として, (1)データはスタック領域だと不足するので、ヒープ領域に確保 (2)データファイルは改行無しの一連のデータ とします。 ちなみに、環境は OS : CentOS5.3 memory : 6GB コンパイラ : gcc です。 よろしくお願いします。 //----------------------------------------------------- //通常バージョン #include <stdio.h> #include <stdlib.h> #define SIZE (512*1024*1024) //500MB int main(void) { unsigned long int i; unsigned char *data; FILE *fp; data = (unsigned char *)malloc(SIZE); if(data == NULL) { printf("メモリが確保できません\n"); exit(EXIT_FAILURE); } fp = fopen("filein.dat", "rb"); fread( data, sizeof( unsigned char), (int)SIZE, fp ); fclose(fp); /* //表示 for( i=0; i<SIZE; i++ ){ printf("%2x", data[i]); } puts(""); */ fp = fopen("fileout.dat", "w"); fwrite( data, sizeof( unsigned char), (int)SIZE, fp); fclose(fp); free(data); return 0; } //----------------------------------------------------- //readシステムコールを使ったバージョン #include <stdio.h> #include <stdlib.h> #define SIZE (512*1024*1024) //500MB int main(void) { unsigned long int i; unsigned char *data; data = (unsigned char *)malloc(SIZE); if(data == NULL) { printf("メモリが確保できません\n"); exit(EXIT_FAILURE); } int fd; fd = open( "filein.dat" ); read( fd, data, sizeof(unsigned char)*SIZE); close(fd); /* //表示 for( i=0; i<SIZE; i++ ){ printf("%2x", data[i]); } puts(""); */ FILE *fp; fp = fopen("fileout.dat", "w"); fwrite( data, sizeof( unsigned char), (int)SIZE, fp); fclose(fp); free(data); return 0; }
- 簡易grepコマンドの作成を自作プログラムで作りたいのですが……
簡易grepコマンドの作成を自作プログラムで作りたいのですが…… C言語でです。 C++ではなぃです。 できれば初心者が考えるよぉなプログラムで。 またコメントみたぃにプログラムの意味も詳しくわかりやすくあると助かります。 コンパイルは ./mygrep 検索するもの ディレクトリ/ファイル名 だった気がします。 mygrepはプログラム名です。 おねがぃします。
- 実行ファイルのメモリ上のアドレスについて
実行ファイルのメモリ上のアドレスを以下の様に 書いて確かめましたがこのやりかたであっていますか? (=exeファイルがメモリ上に読み込まれているアドレス) また、実際にアドレスが表示されるのですが、このアドレスをみて 実際のメモリ本体のどこにロードされているかを理解する 必要はあるでしょうか? カーネルのプログラミングをしているときは必要? int _tmain(int argc, _TCHAR* argv[]) { printf("%p\n",_tmain); return 0; }
- SolarisのプログラムをWindows環境でコンパイル
Solaris環境でコンパイルを指定された、c言語で書かれたプログラムを Windows環境でコンパイル・実行するにはどうしたらよろしいでしょうか? 仮想マシン以外でありましたらよろしくお願いします。 makefile CC = gcc -g all: s s : s.o t.o s.o : s.c t.h t.o : t.c t.h clean: -rm s *.o out? core*
- ベストアンサー
- C・C++・C#
- platina205
- 回答数4
- 条件分岐について
Javaの条件分岐のことで質問させていただきます。 入力された値によって、適切なHTMLタグを表示するプログラムを作っています。 「画像の表示」「画像の幅」「画像の高さ」と項目をわけてそれぞれにJTextFieldを設置し、画像の名前や高さなどを入力。画像の高さと幅についてはJCheckBoxを1つ設置し高さと幅を指定する場合はチェックし、指定しない場合はチェックを外す。という方法を考えています。 現在はif文で「画像の表示」に画像ファイル名(拡張子まで)を入力、「画像の高さ」「画像の幅」に高さと幅を数字で入力、 チェックボックスにチェックを入れ、ボタンを押したらJTextAreaに「<img src="画像ファイル名" Width="幅" Height="高さ">」と表示することはできています。 しかし画像の名前のみ入力して、高さと幅を指定しない(チェックボックスのチェックを外す)など、別の処理を行うif文を上記のif文の後に書いても実行することができません。 switch文で処理を分岐させることも考えていますが、式を上手くかけず悩んでいます。 if文などで上手く処理を分岐させるにはどうすればいいでしょうか?
- eclipseでabstractクラスをデバックするには
いつもお世話になっております。 java1.6 eclipse3.3 にてabstractクラスのメソッドを呼び出している手前でブレークポイントを設定し、ステップインしてデバックしていくと、 abstractクラスの方のソースがデバックされます。 abstractクラスを継承している実際に流れているソースをデバックする事はできますでしょうか。 今はソースを追う時、abstractメソッドがきた場合、 そのメソッド名でプロジェクト全体を検索して、どのソースが実行されているのかチェックしていますが、たくさんのソースから継承されている場合、現在流れている処理が、どのソースのロジックかを特定するのが大変です。 簡単に特定する事はできますでしょうか。 よろしくお願いします。
- JVMについて教えてください
こんにちは。 JavaのJVMについて数点教えてください。 JVMは、書籍では、Javaの実行環境とあります。 これは、J2SEでのJRE(Java Runtime Environment)と同義に なるのでしょうか?。 また商用のJ2EEアプリケーションサーバでは、このJVMを複数稼動 できると聞いたことがあります。 JVMを複数稼動する、というのは例えば、業務システム毎にヒープの 割り当てを分けたい、という要件の場合に使用するのでしょうか。 すみませんが教えて頂けますと 大変助かります。
- 締切済み
- Java
- db2_master
- 回答数1
- eclipse で JAVAもC++も開発したい
C++をやっていて、最近JAVAもプログラムするようになったのですが、 JAVAで使うeclipseが非常に便利なので、これをC++で使えないかと思っています。 http://www.eclipse.org/downloads/ を見ると、JAVAを使うためのeclipseとC++を使うためのeclipseは別々に用意されているようなのですが、二つ eclipse をインストールするとディスクがもったいない気がします。 ● eclispe 一つで JAVAとC++の開発は出来ないのでしょうか?
- ベストアンサー
- Java
- white-tiger
- 回答数2
- 再度、スレッドが実行中かどうかの確認
一度質問したことですが、再度質問させていただきます。 過去の質問は以下です。 http://oshiete1.goo.ne.jp/qa5528714.html 過去の質問を参考に、以下のように実装しました。 public class TEST{ public boolean testMe(){ Runnable runnable = /* 省略 */; Thread thread = new Thread(runnable); boolean alive = thread.isAlive(); /* 必ずfalseになってしまう */ if(!alive){ thread.start(); return true; } return false; } } public class TEST2 implements Runnable{ public void run(){ /* 処理 */ } } 上記の通りだと「thread.isAlive()」が必ずfalseで返ってきます。 また、Executorを利用した実装も試しました。 /* 処理を省略 */ ExecutorService executorService = Executors.newSingleThreadExecutor(); Runnable runnable = /* 省略 */; // シャットダウン結果 boolean exeShutdown = executorService.isShutdown(); /* 一度シャットダウンすると、ずっとtrueになってしまう */ if(!exeShutdown){ // 実行 executorService.execute(runnable); // シャットダウン executorService.shutdown(); } 一度は実行されるのですが、 その後は「executorService.isShutdown()」がtrueしか返しません。 なので、一度しか実行できません。 再度、知恵を貸していただければと思います。 よろしくお願い致します
- swfの表示方法
String pic = "<HTML>"+"<img src=file:./img/picture.jpg>"+"<HTML>"のように画像を表示しているのですが同じようにswfを表示したいのですが、どうしたらよいでしょうご教授お願いします。
- 締切済み
- Java
- nyandafull
- 回答数2