salsberry の回答履歴
- jexcel使用でエラー
jexcelを使用してエクセルの読み込みをしようとしたのですが、 エラーが発生してしまいます。 jxl.jarはダウンロードしてパスも通してあります。 eclipsを使用して開発しております。 WorkbookSettings ws = new WorkbookSettings(); を書くだけでエラーになります。 WorkbookSettings()をうまく読み込めてないようなのですが 何か対応が足りないのでしょうか。 --------------------ここからエラー---------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)..... 原因 java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class jxl.WorkbookSettings) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1851) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) action.GameLotAction.excelForGameSelect(GameLotAction.java:536) action.GameLotAction.autoDoubles(GameLotAction.java:523)..... --------------------ここまでエラー---------------------- 原因お分かりになられるかたいらっしゃいましたらご教授願います。
- ベストアンサー
- Java
- yamadachan
- 回答数1
- フローチャート
#include <iostream> using namespace std; int main() { int m=48,n=36,t,i; for(i=0;;i++) { cout << "m" << i << " " << m << " n" << i << " " << n << '\n'; if(!(t=m%n)) break; m=n; n=t; } cout << "n" << i << "=" << n << '\n'; return 0; } ユーグリッドの互除法で、最大公約数を求めたプログラムなんですが、本当にお願いします。 テストに同じ問題が出るみたいだから本当に教えてくださいお願いします 始まりと終わり→楕円 処理を行う→四角 判断を行う→ひし形
- ベストアンサー
- C・C++・C#
- noname#127615
- 回答数5
- フローチャート
#include <iostream> using namespace std; int main() { int m=48,n=36,t,i; for(i=0;;i++) { cout << "m" << i << " " << m << " n" << i << " " << n << '\n'; if(!(t=m%n)) break; m=n; n=t; } cout << "n" << i << "=" << n << '\n'; return 0; } ユーグリッドの互除法で、最大公約数を求めたプログラムなんですが、本当にお願いします。 テストに同じ問題が出るみたいだから本当に教えてくださいお願いします 始まりと終わり→楕円 処理を行う→四角 判断を行う→ひし形
- ベストアンサー
- C・C++・C#
- noname#127615
- 回答数5
- productInfo.dllとは何のことですか
パソコン起動時に知らない警告が出る 起動時に、productInfo.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールしなおすとこの問題は解決される場合があります。と必ず表示されます。これを解決する方法をご教示ください。
- 締切済み
- その他(プログラミング・開発)
- jyoutarou
- 回答数1
- javaのクラスなど
現在次のようなクラスを作成していて、自分なりに作ってはみたもののうまく分かりません。 どこが間違っていてどのように修正したらよいのか、詳しく教えてください。 9と10は分かりませんでした。 (1) 次に示す内容を満たすバー(Bar)クラスを作成せよ。 1. バーの右端のx座標(=バーの長さ)、バーの名前を扱う2つのprivateなインスタンス変数を持つ。 2. バーの総数を扱うprivateなクラス変数を持つ。ただし、 ここでいう総数とは、(1)コンストラクタで作成したもの、(2)代入操作で作成したもの、の両方を含む。 3. 引数無しのコンストラクタが呼び出されてバーオブジェクトが作成されると、そのバーのx座標は0以上400未満でランダムに決定され、名前は文字「A」とランダムに決定された0以上10000未満の整数が連接されたものに決定される。 4. バーのx座標を設定するインスタンスメソッドを持つ。 5. バーの名前を設定するインスタンスメソッドを持つ。 6. バーのx座標を取得するインスタンスメソッドを持つ。 7. バーの名前を取得するインスタンスメソッドを持つ。 8. 作成されたバーの総数を取得するクラスメソッドを持つ。 9. 作成されたバーの総数を1増やすクラスメソッドを持つ。 10. 作成されたバーの総数を1減らすクラスメソッドを持つ。 こちらが作ってみたものです。 class Bar{ private int x; private String name; private int count; private Bar(){ x=0; count=0; name=""; } public void Bar(){ x = (int)(Math.random()*400); name = "A" + (int)(Math.random()*10000); } public void setBar(int bx){ x=bx; } public void setName(String nm){ name=nm; } public void getX(int bx){ } public void getName(String nm){ } public void getCount(int c){ } }
- ベストアンサー
- Java
- cute_heroe
- 回答数1
- 最適化したプログラムによる計算時の問題(GCC)
GCC(4.4.1)で曲線を数値積分して長さを求めるプログラムを作っています。 double totalLength; for(j = 1; j < d; j++) { ::: ここでdx,dyを計算 totalLength += sqrt(dx * dx + dy * dy); } printf("%f\n", totalLength); これをOptimize3でコンパイル、実行するとtotalLengthがデタラメで巨大な結果だったので、 以下のようにして細かく分析しようとしました。 for(j = 1; j < d; j++) { ::: ここでdx,dyを計算 totalLength += sqrt(dx * dx + dy * dy); printf("%f\n", totalLength); //for内に入れる。 } このようにすると、他の部分を操作していないにもかかわらず、期待通りのtotalLengthとなりました。 そこで for(j = 1; j < d; j++) { ::: ここでdx,dyを計算 totalLength += sqrt(dx * dx + dy * dy); printf(""); } とすると、やはり期待通りの結果となります。 sqrt関数はどちらの場合も正しい結果を返しているようです。 なぜprintfがないときは正しく加算されず、printfが存在する時は正しい結果となるのでしょうか。 また、Optimize1でコンパイルした場合はprintfしなくても正しい結果となります。 これはGCCのバグですか
- read()メソッドを使ったループの抜け方
通信のプログラムを作っています。 送信側では、指定した数のバイトデータを作成し、送信します。 受信側では、そのバイトデータを受信して、受信にかかった時間を計測します。 送信側では、次のようにしてデータの最後の文字をsとして、作っています。 受信側では、sを読み込んだら、受信完了と見なし、受信処理を終了します。 送信と受信処理のコードを見てください。 送信側(Dataは指定したバイトデータの数値です) for (int i = 0; i < Data-1; i++) { out.write(i); out.flush(); } out.write('s'); out.flush(); 受信側 while((part = in.read(buf,0,buf.length)) != -1) { total += part; } 受信側のコードだと、送信されたバイトがすべて読み込んだらループを抜けるのですが、 そうではなく、sを読み込んだらループを終了させたいのです。 read(buf,int,int)の戻り値を使って受信されたバイト数を確認したいため、 どうしてもread(buf,int,int)を使って受信したいのです。 read(buf,int,int)を使いつつ、送信バイトの最後の文字sを読み込んだら ループを抜けるようにするには、どうすればよいでしょうか? アドバイスをお願いします。 自分で考えたコードを載せます。 読み込んだバイトをbufに入れる。 そして読み込んだバイト数を合計する。 bufの最後の文字がsならループを抜けるというようにしたいのですが、 指定したデータ分を読み込みません。 for(;;){ part = in.read(buf); total += part; if(buf[total] == 's'){ break; } } こちらの方も、指導していただきたいです。
- パスカルの三角形についてのCプログラムの解説をお願いします!
プログラミング初心者です。 先日『nが入力されたときに、n段のパスカルの三角形を出力するプログラムを作成しなさい』という課題が出ました。 まだ理解しきれていないところが多いもので、手元にある資料をマネて、とりあえず動いてくれるように書いてみました。 今消化不良をおこしているのは以下の2点です。 1 一部理解できない箇所がある →解説をいただきたい 2 出力される三角形が、パスカルの三角形ではなくただの『d』の三角形になってしまう →どこが間違っているのかご指摘いただきたい 以下が書いたプログラムです。 #include<stdio.h> int comb(int n, int r) { if (r==0 || r==n) return 1; elese return comb(n - 1, r - 1) + comb(n - 1, r); } main() { int n,i,j; printf("n?"); scanf("%d",&n); for (i=0; i<=n, i++) { for(j=0; j<=i, j++) { printf("d%",comb(i,j)); } printf("\n"); } } ちなみに理解できていない(自分自身で説明できない)箇所は main関数の前、 if (r==0 || r==n) return 1; elese return comb(n - 1, r - 1) + comb(n - 1, r); の二行です。お恥ずかしい話、記号の意味もよくわかってません; どなたかご指導お願いします!!(><)
- 締切済み
- C・C++・C#
- mayaya9156
- 回答数3
- read()メソッドを使ったループの抜け方
通信のプログラムを作っています。 送信側では、指定した数のバイトデータを作成し、送信します。 受信側では、そのバイトデータを受信して、受信にかかった時間を計測します。 送信側では、次のようにしてデータの最後の文字をsとして、作っています。 受信側では、sを読み込んだら、受信完了と見なし、受信処理を終了します。 送信と受信処理のコードを見てください。 送信側(Dataは指定したバイトデータの数値です) for (int i = 0; i < Data-1; i++) { out.write(i); out.flush(); } out.write('s'); out.flush(); 受信側 while((part = in.read(buf,0,buf.length)) != -1) { total += part; } 受信側のコードだと、送信されたバイトがすべて読み込んだらループを抜けるのですが、 そうではなく、sを読み込んだらループを終了させたいのです。 read(buf,int,int)の戻り値を使って受信されたバイト数を確認したいため、 どうしてもread(buf,int,int)を使って受信したいのです。 read(buf,int,int)を使いつつ、送信バイトの最後の文字sを読み込んだら ループを抜けるようにするには、どうすればよいでしょうか? アドバイスをお願いします。 自分で考えたコードを載せます。 読み込んだバイトをbufに入れる。 そして読み込んだバイト数を合計する。 bufの最後の文字がsならループを抜けるというようにしたいのですが、 指定したデータ分を読み込みません。 for(;;){ part = in.read(buf); total += part; if(buf[total] == 's'){ break; } } こちらの方も、指導していただきたいです。
- パスカルの三角形についてのCプログラムの解説をお願いします!
プログラミング初心者です。 先日『nが入力されたときに、n段のパスカルの三角形を出力するプログラムを作成しなさい』という課題が出ました。 まだ理解しきれていないところが多いもので、手元にある資料をマネて、とりあえず動いてくれるように書いてみました。 今消化不良をおこしているのは以下の2点です。 1 一部理解できない箇所がある →解説をいただきたい 2 出力される三角形が、パスカルの三角形ではなくただの『d』の三角形になってしまう →どこが間違っているのかご指摘いただきたい 以下が書いたプログラムです。 #include<stdio.h> int comb(int n, int r) { if (r==0 || r==n) return 1; elese return comb(n - 1, r - 1) + comb(n - 1, r); } main() { int n,i,j; printf("n?"); scanf("%d",&n); for (i=0; i<=n, i++) { for(j=0; j<=i, j++) { printf("d%",comb(i,j)); } printf("\n"); } } ちなみに理解できていない(自分自身で説明できない)箇所は main関数の前、 if (r==0 || r==n) return 1; elese return comb(n - 1, r - 1) + comb(n - 1, r); の二行です。お恥ずかしい話、記号の意味もよくわかってません; どなたかご指導お願いします!!(><)
- 締切済み
- C・C++・C#
- mayaya9156
- 回答数3
- read(buf,int,int)メソッドで1文字取得する
javaを使ってプログラミングを勉強しています。 read(buf,int,int)メソッドで受信したバイトデータをbufに格納していると思うのですが、 格納したバイトの最後の文字を取得する方法が分かりません。 送信側では送信バイトの最後の文字をsにして送信します。 受信側では読み込んだバイトデータの最後の文字がsだったら、 ループを抜けるというようにしたいのです。 どうやって最後の文字を取得するのでしょうか?
- MP5もどきについて
この間オークションでMP5プレイヤーというものを買いましたさっそく開けて写真や音楽を入れたのですが動画だけなぜか入れられません。皆さんの様子によると動画ファイルを交換やらなんとか僕にはよくわかりません。僕も皆さんの方法で試しても動画は一切入りません。一体どうすれば動画が入るのでしょうか?ぜひその手順なんかも教えてくれれば光栄です。よろしくお願いいたします。
- 締切済み
- iPod・ウォークマン・音楽プレーヤー
- tipkouki
- 回答数3
- 出力ストリームへの書き込みでエラー
サーバ側では、クライアントが送信したバイトデータを受信させます。read()の戻り値を利用して、届いたバイトを確認します。 そして、サーバ側がクライアント側に、届いたバイトデータ分だけの バイトデータを送信します。これらにかかる時間も計測するプログラムを作成しています。 サーバ側がバイトデータを受信し、その時間を計測する所までは、動いたのですが、 サーバ側がクライアント側に、バイトデータを送信する処理の、出力ストリームへの書き込みの処理でエラーが生じます。 Xつ目のバイト:書き込みエラーと表示されます。 なぜエラーになってしまうのでしょうか?送信と受信の処理部分のコードを載せるので、おかしな部分を指摘していただきたいです。 ServerSocket server = new ServerSocket(servPort); Socket sock = server.accept(); BufferedInputStream in = new BufferedInputStream(sock.getInputStream()); BufferedOutputStream out = new BufferedOutputStream(sock.getOutputStream()); long startNs = 0; long stopNs = 0; byte[] buf = new byte[1000000]; int total = 0, part; System.out.println("<データ受信処理>"); startNs = System.nanoTime(); // 受信前の時間のナノ秒を返す。 while ((part = in.read(buf)) != -1) { total += part; System.out.println(part); }System.out.println(part); stopNs = System.nanoTime(); // 受信後の時間のナノ秒を返す。 System.out.println("受信完了"); System.out.println("受信されたバイト数:" + total); // 受信スループットを計算する。 ... int count = 0; // write()の回数 System.out.println("<データ送信処理>"); for (int i = 0; i < total; i++) { try { out.write(i); out.flush(); count++; } catch (IOException e) { System.err.println((count + 1) + "つ目のバイト:書き込みエラー"); } } // 結果を表示する。 System.out.println("送信完了"); System.out.println("送信されたバイト数:" + count);
- 文字の数値化 関数化
文字を入力されたとき、数値入力を促す関数を作りたいのですが、 最初の文字が文字ならエラーメッセージがちゃんと出るのですが、 最初の文字が数字ならエラーメッセージが出てくれません。 アドバイスお願いいたします。 tew2 ← エラー出る 2test ← エラー出ない #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> float ss_input(void); int main(){ int i; int pop; printf("何人の入力しますか(3人以内)->"); do{ pop=ss_input(); if(pop >3) printf("3人以内でお願いします\n"); }while(pop<1 || pop>3); return 0; } float ss_input(void){ char p[100]; float st; int i=0; scanf("%s",p); while( p[i] != '\0'){ if(isdigit(p[i])==0){ printf("数値を入力してください->"); scanf("%s",p); continue; } else{ break; } } st=atof(p); return st; }
- MP5もどきについて
この間オークションでMP5プレイヤーというものを買いましたさっそく開けて写真や音楽を入れたのですが動画だけなぜか入れられません。皆さんの様子によると動画ファイルを交換やらなんとか僕にはよくわかりません。僕も皆さんの方法で試しても動画は一切入りません。一体どうすれば動画が入るのでしょうか?ぜひその手順なんかも教えてくれれば光栄です。よろしくお願いいたします。
- 締切済み
- iPod・ウォークマン・音楽プレーヤー
- tipkouki
- 回答数3
- 文字の数値化 関数化
文字を入力されたとき、数値入力を促す関数を作りたいのですが、 最初の文字が文字ならエラーメッセージがちゃんと出るのですが、 最初の文字が数字ならエラーメッセージが出てくれません。 アドバイスお願いいたします。 tew2 ← エラー出る 2test ← エラー出ない #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> float ss_input(void); int main(){ int i; int pop; printf("何人の入力しますか(3人以内)->"); do{ pop=ss_input(); if(pop >3) printf("3人以内でお願いします\n"); }while(pop<1 || pop>3); return 0; } float ss_input(void){ char p[100]; float st; int i=0; scanf("%s",p); while( p[i] != '\0'){ if(isdigit(p[i])==0){ printf("数値を入力してください->"); scanf("%s",p); continue; } else{ break; } } st=atof(p); return st; }
- MP5もどきについて
この間オークションでMP5プレイヤーというものを買いましたさっそく開けて写真や音楽を入れたのですが動画だけなぜか入れられません。皆さんの様子によると動画ファイルを交換やらなんとか僕にはよくわかりません。僕も皆さんの方法で試しても動画は一切入りません。一体どうすれば動画が入るのでしょうか?ぜひその手順なんかも教えてくれれば光栄です。よろしくお願いいたします。
- 締切済み
- iPod・ウォークマン・音楽プレーヤー
- tipkouki
- 回答数3
- TCP通信のプログラム(java)
javaを使ってTCP通信のプログラムを作りました。 そのプログラムは次のような動作をさせたいですが、途中までしか動作確認がとれません。 1. 送信側で指定したバイト数のデータを送信する。それにかかった時間を計測する。 2. 送信されたバイトデータを受信する。届いたバイト数の確認をするとともに、受信にかかった時間を計測する。 3. 受信側は1.で行った処理と同じようにして、届いたバイト数分のデータを返信する。 4. 3.で送信側に送信されたデータを受信して、受信時間を計測する。届いたバイト数を確認する。 2.までは、正常に動作します。正常な動作とは、 送信側は、指定した数のバイトデータを送信して、それにかかった時間を計る。 受信側は、送信されたデータを受信して、それにかかった時間を計り、届いたバイト数を確認する。ちなみにこの2つの時間はほぼ同じになります。 ここまではできています。 ですが、送信側が受信側で届いたバイト数分のデータを送信し、送信側でそのデータを受信してその時間を測るというコード(//*受信処理*//という行から下)を追加するとうまくいきません。 受信側では、//*受信処理*//という行から下を追加すると、うまくいきません。 送信と受信処理のコードを載せます。 送信側(送信バイト数は入力させます) Socket sock = new Socket(host, port); BufferedOutputStream out = new BufferedOutputStream(sock.getOutputStream()); BufferedInputStream in = new BufferedInputStream(sock.getInputStream()); //*送信処理*// // 送信データを送信する。 int count = 0; // write()の回数 System.out.println("<データ送信処理>"); start = System.nanoTime(); // 計測開始時間 for (int i = 0; i < Data; i++) { try { out.write(i); out.flush(); count++; } catch (IOException e) { System.err.println((count + 1) + "つ目のバイト:書き込みエラー"); } } stop = System.nanoTime(); // 計測終了時間 System.out.println("送信完了"); System.out.println("送信されたバイト数:" + count); // 送信スループットを計算する。 // 結果を表示する。 //*受信処理*// // 変数を定義する。 long startNs = 0; // 受信前の時間のナノ秒を返す。 long stopNs = 0; byte[] buf = new byte[1000000]; int total = 0, part; // ストリームの終わりに達し,-1が返されるまで受信する。 System.out.println("<データ受信処理>"); startNs = System.nanoTime(); while ((part = in.read(buf, 0, buf.length)) != -1) { total += part; System.out.println(part); } stopNs = System.nanoTime(); System.out.println("受信完了"); System.out.println("受信されたバイト数:" + total); // 受信スループットを計算する。 // 結果を表示する。 // 出力ストリーム・ソケットをクローズする。 out.close(); sock.close(); 受信側のコードは補足欄に載せます。このコードだと、 送信側の計測結果は表示されますが、受信側で受信時間や受信速度などが表示されません。 送信側で通信を強制終了すると、その後に受信側は、結果を表示します。 データを片道ではなく往復させて、それらの処理時間を計測したいのです。うまくいかないのでアドバイスを頂きたいです。 このコードのおかしい部分が分かる方はアドバイスをお願いします。 コードが見にくくて意味がわからないかもしれませんが、そうならば、データを往復させてその時間を測るためのアドバイスをお願いします。
- java:読み込んだデータの確認
javaを使って通信のプログラムをつくっています。 送信側でバイトデータを作成して送信します。そして受信側でそのバイトデータを読み込みます。 送信側で作ったバイト数が本当に受信側に届いたかのチェックをするには、 どうすればよいでしょうか?下のコードは、自作した受信処理です。 調べると、read(byte[] b,int off,int len)の返り値が読み込んだバイト数ということなので、 これを使うのではないかと思うのですが、どう使えばよいか分かりません。下のコードは、とりあえず、受信したらcount++として受信処理分だけ countを増やして受信したバイトを数えています。 readの返り値で受信したバイト数を取得するには、どうすればよいでしょうか? 御教授お願いします。 送信側 BufferedOutputStream out = new BufferedOutputStream(sock.getOutputStream()); for (int i = 0; i < Data; i++) { for (;;) { try { out.write(i); out.flush(); count++; break; } catch (IOException e) { System.err.println((count + 1) + "つ目のバイト:書き込みエラー>>再書き込み"); } } } 受信側 BufferedInputStream in = new BufferedInputStream(sock.getInputStream()); int ch = 0; // 読み込んだ文字 int Count = 0; // 届いたバイト数のカウンター while (ch != -1) { try { ch = in.read(); Count++; } catch (IOException e) { System.err.println(Count + "つ目のバイトデータ:読み込みエラー"); } }
- ファイル書き込みに関して
FileOutputStream fos = new FileOutputStream("test"); OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8"); out.write("なに"); out.close(); fos.close(); 以上のコードを実行させて、ファイルtestをUTF8で開いたら、文字化けしています。どう直したらいいですか?