さっきeclipseで突然タイトルのエラーが出て、コードが実行できなくなりました。
他のプロジェクトは動くので、クラスパスの設定がおかしくなったのかと思ったのですが、色々見てみたら、binディレクトリからクラスファイルが消えていました(何故)。
それで、プロジェクトをクリーンしてもう一度実行し直したら、無事実行できて、binの中にクラスファイルが復活していました。もしこのエラーで悩んでいたら一度クリーンしてみると良いかもしれません。
ある標準入力に対してエラーをキャッチした時に、リトライするようなコードを書いてみたら、リトライ処理が無限ループしてしまいました。例えばこんなコード。
これで文字などを入力すると、たぶん無限ループすると思います笑
これ、探してみたら知恵袋に上がってましたね。
javaのtry~catchの無限ループ
なるほど、Scannerだとバッファに溜めたままなのか、ふむふむ。
ということで、上のコードは
とすれば良いみたいです。勉強になりました。
Scanner sc = new Scanner(System.in);
while(true) {
try {
System.out.println("数値を入力してください。");
int num = sc.nextInt();
System.out.println(num);
break;
} catch(InputMismatchException e) {
System.out.println("不正な入力です。");
}
}
これで文字などを入力すると、たぶん無限ループすると思います笑
これ、探してみたら知恵袋に上がってましたね。
javaのtry~catchの無限ループ
なるほど、Scannerだとバッファに溜めたままなのか、ふむふむ。
ということで、上のコードは
Scanner sc = new Scanner(System.in);
while(true) {
try {
System.out.println("数値を入力してください。");
int num = sc.nextInt();
System.out.println(num);
break;
} catch(InputMismatchException e) {
System.out.println("不正な入力です。");
sc.next();
}
}
とすれば良いみたいです。勉強になりました。
今までカメラのキャプチャにJMFを使ってたんですけど、何故かカメラデバイスを認識してくれなくて、ManyComとか挟んで色々やってたのですが、先日JavaCVを入れてみました。
参考
OpenCVをJavaから使う
OpenCVをJavaから使う (改訂版)
「OpenCVいらないんだ~簡単だな」とか思って入れたのですが
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_highgui in java.library.path
って出てきました。
参考
Installation of javaCV
そして結局、私のPCは64bitなのですが、jdkは32bit版使ってたので、jarも32bitの方を入れたら問題なく動きました。OSじゃなくてjdk準拠らしいです。紛らわしいけどそりゃそうか!笑
ちなみにOpenCVFrameGrabberでデバイスを選ぶ時、デフォルトの0だと何も反応しないので、JMFの時もこれで色々面倒臭かったのですが、1にしたらちゃんと見つけてきてくれました。このパソコンなんなんだ(笑)でもレスポンスも悪くないし、良いですね。
参考
OpenCVをJavaから使う
OpenCVをJavaから使う (改訂版)
「OpenCVいらないんだ~簡単だな」とか思って入れたのですが
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_highgui in java.library.path
って出てきました。
参考
Installation of javaCV
そして結局、私のPCは64bitなのですが、jdkは32bit版使ってたので、jarも32bitの方を入れたら問題なく動きました。OSじゃなくてjdk準拠らしいです。紛らわしいけどそりゃそうか!笑
ちなみにOpenCVFrameGrabberでデバイスを選ぶ時、デフォルトの0だと何も反応しないので、JMFの時もこれで色々面倒臭かったのですが、1にしたらちゃんと見つけてきてくれました。このパソコンなんなんだ(笑)でもレスポンスも悪くないし、良いですね。