★★Java質問・相談スレッド142★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/11/19(金) 03:05:30JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/ [板をp2で開く]
Webプログラミング http://pc11.2ch.net/php/ [板をp2で開く]
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
★★Java質問・相談スレッド141★★
(p)http://hibari.2ch.net/test/read.cgi/tech/1286354820/
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
(p)http://www.wikiroom.com/java/
0002デフォルトの名無しさん
2010/11/19(金) 03:07:37■ AWT と Swing は --
Java低速GUI Swing 9
(p)http://pc12.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
(p)http://pc12.2ch.net/test/read.cgi/tech/1164877399/
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) ?Part21
(p)http://pc12.2ch.net/test/read.cgi/tech/1276164970/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
(p)ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part6
(p)http://pc12.2ch.net/test/read.cgi/tech/1286555951/
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 69 ★★
(p)http://pc12.2ch.net/test/read.cgi/tech/1267796762/
0003デフォルトの名無しさん
2010/11/19(金) 03:08:30NetBeans Part6
(p)http://pc12.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M29【Java/C++/Ruby/Python/Perl】
※dat落ちしてるのでとりあえずここでどうぞ
統合開発環境Eclipseプラグイン開発QA
(p)http://pc12.2ch.net/test/read.cgi/tech/1081517094/
**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
(p)ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
(p)ttp://java.sun.com/javase/ja/6/
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
(p)ttp://www.java.com/ja
0004デフォルトの名無しさん
2010/11/19(金) 09:36:51Java(TM)6update22ってのがインスコされてるんですけど
JavaやるにはJDKをいれないといけないみたいなんです
jdkいれた場合ってもともとのjava(TM)は消したほうがいいんですか?
0005デフォルトの名無しさん
2010/11/19(金) 12:21:58消さなくてもいいよ
おれなんかふるーいのも合わせて8つ入ってるよ
0006デフォルトの名無しさん
2010/11/19(金) 17:15:41list.set(i, inArray7);を書いてないのに、どうして反映されるんでしょうか?たぶん私が、何か大きな間違いをしていると思うのですけど。
String inStr;
list = new ArrayList<String[]>();
Reader in = new BufferedReader(new FileReader("c:\\wk01.txt"));
while ((inStr = in.readLine()) != null) {
String[] inArray = inStr.split("\\s+");
String[] outArray = new String[15];
for (int i = 0; i < inArray.length; i++) {
ループでinArrayからoutArrayへ編集してセット
}
list.add(outArray);
}
setInfo1(list);
for (String[] chk : list){
for (int i = 0; i < chk.length; i++){
System.out.print("[" + chk[i] + "]" + " "); // ココ2
}
System.out.println("");
}}
private void setInfo1(List<String[]> list) {
String[] inArray7 = null;
int wk = 0;
inArray7 = list.get(0);
...
for (int i = 0; i < list.size(); i++) {
inArray7 = list.get(i);
if (inArray7[8].equals("m")) {
inArray7[11] = Integer.toString(wk); //ココ3
//list.set(i, inArray7); // ココ1
}}}}
0007デフォルトの名無しさん
2010/11/19(金) 17:30:53lisr#get しても新たな配列は作られない。
String[] array = new String[1];
set(array);
System.out.println(array[0]); //くそ と表示される
public void set(String[] a) {
a[0] = "くそ"; //指定された配列につっこむ
//a は呼び出し元の array とまったく同じ存在を指す。
//同じ存在、というのは、同じ値を持つ、という意味ではない。
//メソッドの中と外で、同じものに対する呼び名が変わっているだけに過ぎない。
//この時点における a[0] = "くそ" は、
//呼び出し元で array[0] = "くそ" としたのとおなじこと。
a = new String[1];
//上記以降は、この a は array とはまったく別の存在を指す。
a[0] = "みそ";
//これは呼び出し元の array が指しているものとは違うものを指す。
//なお、この a が指す新たな配列は、このメソッドが終わり次第、
//プログラム上からは一切アクセス不能になる→そのうちメモリからも消える
}
0008デフォルトの名無しさん
2010/11/19(金) 18:10:16listは参照渡しのつもりだったのですが、その要素のString[]も
参照渡しになるのですね?
そうして、
>inArray7[11] = Integer.toString(wk); //ココ3
>//list.set(i, inArray7); // ココ1
これはinArray7[11]に新たにオブジェクトをセットしているけど、
listと紐ついているのは、String[]の参照なので、set不要ということですか?
0009デフォルトの名無しさん
2010/11/19(金) 19:28:09「配列もインスタンスなので、new しない限りはけっして新たに作られない」
といえばわかるかな。
何らかのメソッドの引数で渡しても return で返しても、
ArrayList に突っ込んでから渡したとしても、作られないったら作られない。
0010デフォルトの名無しさん
2010/11/19(金) 19:39:350011デフォルトの名無しさん
2010/11/19(金) 22:36:19byte配列の検索文字と比較しながら検索したいのですがどのような仕方があるでしょうか
0012デフォルトの名無しさん
2010/11/19(金) 23:01:02jdkとjreも入れないといけないんですね
これいれて元のも消さなくていいんでしょうか?
0013デフォルトの名無しさん
2010/11/19(金) 23:57:230014デフォルトの名無しさん
2010/11/20(土) 01:15:58実行環境だけでいいときにはjreのパッケージを入れる。
jdkに付属するjreには2種類あって、
一つは公開jreでこれを入れることはjreのパッケージをインストールするのと同じ。
もう一つはjdk自身が使う実行環境でjdkをインストールしたところに入ってる。
公開jreはインストールするかしないかを選択できるがもう一つの方はjdkを入れれば必ず入ってる。
特に理由が無ければ公開jreもインストールしておいた方がよい。
jdkのインストーラもデフォルトで公開jreを入れるようになっている。
jre update22はたぶん最新のものなので上書きインストールでも問題ないと思われ
0015デフォルトの名無しさん
2010/11/20(土) 17:21:44そんなapiはない。
ダイソーに行って画用紙を買ってアルゴリズムをカンガエルとその答えが見える
100行もいらないよ
0016デフォルトの名無しさん
2010/11/20(土) 17:31:471, どっちも完全に String になおして indexOf
2. 非検索側が大量でなおす時間を節約したいなら ByteArrayInputStream や BufferedReader
3. ちょっとずつ String にして比較
3. はさすがにばかばかしい ソース示せるとは思うけどめんどくせぇ
0017デフォルトの名無しさん
2010/11/20(土) 17:44:45string で直すより
0018デフォルトの名無しさん
2010/11/20(土) 20:01:44st::stringみたいに遅くならなければいいのに
0019デフォルトの名無しさん
2010/11/20(土) 20:05:050020デフォルトの名無しさん
2010/11/20(土) 23:42:090021デフォルトの名無しさん
2010/11/21(日) 10:20:54→JDesktopPane
⇒�@JInternalFrame add(Canvas3D) ←最大化して最奥に表示
⇒�AJInternalFrame add(Swingコンポーネント) ←透過させたい
のような感じで�AのJInternalFrameを透過させて、その奥にある
�@のJava3Dで描画した物体を透けて表示させようとしてます
奥にあるJInternalFrameがSwingコンポーネントで構成された
JInternalFrameであれば正常に透過されるのですが、Java3Dで
描画していた場合なぜか透過されません
�AのJInternalFrameは↓の方法で透過させてます
JInternalFrame jif = new JInternalFrame();
JPanel pnl = new JPanel();
pnl.setOpaque(false);
jif.setContentPane(pnl);
jif.setOpaque(false);
どうにか正常に透過できないでしょうか?
0022デフォルトの名無しさん
2010/11/21(日) 15:48:370023デフォルトの名無しさん
2010/11/21(日) 20:12:52素直にオフスクリーンにしたら?
0024デフォルトの名無しさん
2010/11/21(日) 21:43:560025デフォルトの名無しさん
2010/11/21(日) 23:36:440027デフォルトの名無しさん
2010/11/22(月) 13:07:28になるのって2chのなんかのバグだったよ?
なんだったけ?
0028デフォルトの名無しさん
2010/11/22(月) 14:44:170029デフォルトの名無しさん
2010/11/22(月) 15:01:52よーし、パパ全力で釣られちゃうぞー!
0030デフォルトの名無しさん
2010/11/23(火) 02:54:18ほんの数行のメソッド定義すればいいことですがあればそっちを使おうと思っています。
0031デフォルトの名無しさん
2010/11/23(火) 03:05:03じゃだめなの?
0032デフォルトの名無しさん
2010/11/23(火) 03:20:18ダメではありませんがもっとスマートに書く方法があるのではないかと思って・・・
今回、コード中でboolean→int変換が2箇所で必要となります
同じコードを書きたくないので『int func(boolean b){return b ? 1 : 0;}』とメソッド化して
使おうと思ったのですが、他にメソッドがあればそっちを使ったほうがスマートだと
思い聞きました
どうやら簡単すぎて無いみたいですね
0033デフォルトの名無しさん
2010/11/23(火) 13:27:28無いみたいですね
0034デフォルトの名無しさん
2010/11/23(火) 13:49:21非0値が具体的に何になるかは実装次第で
0035デフォルトの名無しさん
2010/11/23(火) 14:05:21スマートかどうかは主観的なので何とも言えないが、
用意されているメソッドで何とかしろということなら、
Boolean.valueOf(b).hashCode()ならbがtrueで1231、falseで1237。
Boolean.TRUE.compareTo(b)ならbがtrueで0、falseで非零(正数)。
Boolean.FALSE.compareTo(b)ならbがtrueで非零(負数)、falseで0。
0036デフォルトの名無しさん
2010/11/23(火) 14:52:39int numberValue;
・
・
・
public void setStat(int number)
setValue(number);
このようなソースコードがあるんですが、最後の行のsetValue(number)の部分を
→「numberValue=number」にすると実行結果が違ってくるのですが、
setValue(number)とnumberValue=number
この違いがわかりません。どうかお願いします
0037デフォルトの名無しさん
2010/11/23(火) 15:32:54>この違いがわかりません。
私にはまったく違うものにしか見えませんが・・・
違う内容に書き換えたら違う結果になるほうが自然でしょう。
そもそも、setValue と numberValue は何の関係があるの?
関係があると思ったその根拠はなに?
public void setValue(number) {
System.out.println(number);
}
かもしれないし、
public void setValue(number) {
System.exit(0);
}
かもしれない。
関係があるとしても
public void setValue(number) {
numberValue = number * 2;
}
でも実行結果は変わる。
0038デフォルトの名無しさん
2010/11/23(火) 17:55:13自己解決しました。
0039デフォルトの名無しさん
2010/11/23(火) 18:33:43ディレクトリ参照したくて conf の web.xml で
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value> //●
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
にしましたが、
参照できません。かなり以前は既存で参照するヴァージョンでつかってましたが、
久しぶりにさわりましたが、うまくいきません。
0040デフォルトの名無しさん
2010/11/23(火) 20:54:24答えくるかとおもってたらこないなぁ・・・
0041デフォルトの名無しさん
2010/11/23(火) 21:40:57debugの方は取れてるの?
・・・というような39を見れば誰でも思うようなことが、書かれていないからレスがないのでは。
0042デフォルトの名無しさん
2010/11/24(水) 01:00:16うまくいってないことを自分がどのように確認したのかも書かないと。
ここにはド初心者もたくさん来るからね。
さわったことあるようだけど、それだけじゃどうもね。
ちゃんとした経験者は、
設定一個うまくいかないぐらいで、こんなとこにその程度の情報だけ持って聞きに来ないから。
web.xmlの全体はこうで、ファイル構成はこうで、起動手順はこうで、とか。
わざと XML 間違えたりすれば、
再起動してない、読み込まれてない、といった原因を否定できるだろう。
あるいは別の項目において設定が上手く反映されるなら、
listings まわりの動作だけに問題が絞られる。
その辺の確認はやったの?
あと welcome-file が存在するとそっちが優先されるようだけど、その確認はしてるの?
0043デフォルトの名無しさん
2010/11/24(水) 01:38:30Tomcat 自体の設定と挙動というプログラミングに全く関係ない話(板違い)に見えるんだが
0044デフォルトの名無しさん
2010/11/24(水) 02:29:21// imageAはファイルから読み込み済みBufferedImage型
PixelGrabber pgA = new PixelGrabber(imageA, 0, 0, -1, -1, true);
pgA.grabPixels();
int bufA[] = (int[])pgA.getPixels();
//imageBはimageAよりも大きい画像を想定。BufferedImage型 ここではデスクトップのスクショ
PixelGrabber pgB = new PixelGrabber(imageB, 0, 0, -1, -1, true);
pgB.grabPixels();
int bufB[] = (int[])pgB.getPixels();
のようにしたあと、bufAがbufBの中に含まれているかどうかの比較を行いたいんですが、
bufB[0]にはimageBの(0,0)のピクセルデータが、
bufB[x + y * imageB.getWidth()]にはimageBの(x,y)のピクセルデータが格納されているという解釈で合ってますでしょうか?
0045デフォルトの名無しさん
2010/11/24(水) 04:02:57自己解決しました。
0046デフォルトの名無しさん
2010/11/24(水) 17:45:190047デフォルトの名無しさん
2010/11/24(水) 18:53:171万件取得できずにoutofmemoryになります。
Listに溜め込んでいるフレームワークを使用しいるならわかるのですが、jdbcの中で落ちてます。
jdbcのResultSet作成で溜め込んでいる模様・・・なぜ?
ResultSetって内部でカーソルを持っていて、nextしたときにバッファが空ならネットワーク越しに取りにいくと思っていたのですが違うのでしょうか?
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at sun.jkernel.DownloadManager.getBootClassPathEntryForClass(DownloadManager.java:928)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:293)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1270)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1309)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
0048デフォルトの名無しさん
2010/11/24(水) 20:02:51>ResultSet作成で溜め込んでいる模様
どこ見てそれを思ったの?
JDBC の中じゃない。ClassLoaderの中で落ちてるじゃん。
デバッガ使って ClassLoader.java:320 で何が起きてるか見れないかい。
(ソースが無くても変数の値は分かるからね。でも、標準APIのソースくらいは入手しておくこと)
データがあふれてるようにはみえないな。
データがパンパンに膨れ上がった段階で、ClassLoader がとどめさしたのかもしれないけど、
起動時のヒープサイズ設定を変えても起こるようなら JDBC関係ないと思う。
ドライバ内のクラスをロードする作業?
あるいは例えばDB側の列定義からJava側の型に変換する作業?
そういうところで失敗してるように見える。
0049デフォルトの名無しさん
2010/11/24(水) 20:45:37メモリエラーの場合は落ちている場所とか関係ないです。
実行毎に落ちるところが違うから。
明らかにprocessResultsの問題でしょ。
一目瞭然。
0050デフォルトの名無しさん
2010/11/24(水) 21:03:09自己解決しました。
0051デフォルトの名無しさん
2010/11/24(水) 21:54:26じゃぁprocessResultsも関係ないじゃん
0052デフォルトの名無しさん
2010/11/24(水) 22:16:19>ResultSet作成で溜め込んでいる模様
どこ見てそれを思ったの?
JDBC の中じゃない。ClassLoaderの中で落ちてるじゃん。
デバッガ使って ClassLoader.java:320 で何が起きてるか見れないかい。
(ソースが無くても変数の値は分かるからね。でも、標準APIのソースくらいは入手しておくこと)
データがあふれてるようにはみえないな。
データがパンパンに膨れ上がった段階で、ClassLoader がとどめさしたのかもしれないけど、
起動時のヒープサイズ設定を変えても起こるようなら JDBC関係ないと思う。
ドライバ内のクラスをロードする作業?
あるいは例えばDB側の列定義からJava側の型に変換する作業?
そういうところで失敗してるように見える。
0053デフォルトの名無しさん
2010/11/24(水) 22:40:01<A>
<B />
<B />
<B />
<C>
<D>
<E>XXX< /E>
<E>XXX< /E>
<E>XXX< /E>
< /D>
<D>
<E>
YYY
< /E>
<E>YYY< /E>
<E>YYY< /E>
< /D>
のようになっているXMLのうち、Dタグを1オブジェクトとしてマッピングしたいと思っています。
DocumentクラスからNodeを取得して、ノードをたどる形で実装しようと思ったのですが、ホワイトテキストノードの関係でゴチャゴチャになってしまいます。
テキストノードをスルーしようとすると、<E>タグの改行がうまく処理できないのですが、なにか手はありますでしょうか?
0054デフォルトの名無しさん
2010/11/24(水) 22:52:24005553
2010/11/25(木) 00:12:06以下ソース抜粋です。
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(XMLファイル);
Node A = doc.getFirstChild(); //Aノード取得
while(A != null || A.getNodeType() == Node.TEXT_NODE){
A = A.getgetNextSibling();
}
if(A == null || "A".equals(A.getNodeName())){
// エラー処理
}
Node B = A.getFirstChild(); //Bノード取得
while(B != null || B.getNodeType() == Node.TEXT_NODE){
B = B.getgetNextSibling();
}
if(B == null || "B".equals(B.getNodeName())){
// エラー処理
}
//Cノードを探索
while(B != null || B.getNodeType() == Node.TEXT_NODE && "C".equals(B.getNodeName())){
B = B.getgetNextSibling();
}
Node C = B
Node D = C.getFirstChild(); //Dノード取得
while(D != null || D.getNodeType() == Node.TEXT_NODE){
D = D.getgetNextSibling();
}
if(D == null || "D".equals(D.getNodeName())){
// エラー処理
}
---以下続く---
005653
2010/11/25(木) 00:16:07XMLElement item = new XMLElement()
Node E = D.getFirstChild(); //Eノード取得
while(E != null || E.getNodeType() == Node.TEXT_NODE){
E = E.getgetNextSibling();
}
if(D == null || "D".equals(D.getNodeName())){
// エラー処理
}
item.e1 = E..getFirstChild();
以下同様にe2,e3を取得してマッピングするつもりで作成していましたが、YYYの一番上の部分がうまく取れないなぁと思って悩んでいます。
何か根本的に間違っている気がします。
0057デフォルトの名無しさん
2010/11/25(木) 00:17:41ファイルの読み取りもできませんでした。何が原因なのでしょうか??
ちなみにエクリプスでやってます
package shoshinsha;
import java.io.*;
class WriteText {
public static void main(String[] args){
try{
FileWriter out=new FileWriter("math.txt");
int a=10,b=5;
out.write("kaho:");
out.write(a + " + " + b + "=" +(a+b));
out.close();
}catch(Exception e){
System.out.println(e);
}
}
}
0058デフォルトの名無しさん
2010/11/25(木) 05:09:47XMLからやりなおせ。それと1JAXBつかえ。
>>57
ファイルが作成できないときはコンストラクタかflushがIOException投げるから握りつぶしてるんじゃないの?
005957
2010/11/25(木) 08:08:58ありがとうございます。
えと、初心者であんまりよくわからないのですが、コンストラクタがIOException投げる
ってことはファイルの入出力でなんらかのエラーがあるってことでいいんですか?
一応
catch(IOException ie){
System.out.println("no File");
っていう文を足しても何もならず、
out.close();
の前にprintlnで文字を表示してみたらそれはできました。
もしかしてエクリプスの設定とかに問題あったりしますか?
0060デフォルトの名無しさん
2010/11/25(木) 08:47:15フルパスで指定しろ
0061デフォルトの名無しさん
2010/11/25(木) 10:26:25ここで質問した俺が馬鹿だった。
クエリの結果でメモリエラーだけでよくここまで脱線するは・・・
結果セットで貯めすぎて落ちる以外に何があるってんだい?
問題解決能力0
メモリの使い方、メモリで落ちる意味を良く考えるべき。
クラスローダーってあんた、結果のBeanをnewするためのところで限界が発生ってことでしょ。
いやー久しぶりに笑った
0062デフォルトの名無しさん
2010/11/25(木) 10:26:290064デフォルトの名無しさん
2010/11/25(木) 11:17:31ここにはもう来ないでいいよ
0065デフォルトの名無しさん
2010/11/25(木) 11:46:17やってみたら math.txt 出来たよ
探すディレクトリ間違ってるんじゃね?
0066デフォルトの名無しさん
2010/11/25(木) 11:49:32それなら「マイクロソフト・ウインドーズ」しかないですよね?!
0067デフォルトの名無しさん
2010/11/25(木) 12:34:49Eclipse のパッケージエクスプローラで、
プロジェクトを右クリックして「更新」してみてください
0069デフォルトの名無しさん
2010/11/25(木) 20:20:18はiisみたく
http://localhost:8080/javabook/
と入力すると
javabookの下のファイル参照できないかということです。
そうすれば、そのファイル名をクリックして、動作確認できるからです。
007057
2010/11/25(木) 21:57:380071デフォルトの名無しさん
2010/11/25(木) 23:04:00これ dx2 とかが幅じゃなくて第二の座標となってるけど
実際幅16のものを dx1+15 でなく dx1+16 としないとちゃんと表示されなかった
例えばdx1を0、dx2を0とすると1ドットは描かれるはずなのに
dx2を1にしないとそうならなかった
どうしてだろう?
0072デフォルトの名無しさん
2010/11/25(木) 23:22:30>例えばdx1を0、dx2を0とすると1ドットは描かれるはずなのに
なぜそう思うの?
> dx2 とかが幅じゃなくて第二の座標となってる
自分で答え書いてるじゃん
0073デフォルトの名無しさん
2010/11/25(木) 23:31:11座標なら(0-15)で16ドット分
じゃないの?
0074デフォルトの名無しさん
2010/11/25(木) 23:48:35誰か分かる人いらっしゃいませんかぁ
0075デフォルトの名無しさん
2010/11/26(金) 00:01:58>>71
その x,y はドット数ではなく、2次元平面上の座標だから。
ドット数だと考えるのはPCの液晶画面などをイメージしてるからこそなんだろうけど、
Java の API等においては、あくまで座標としては平面上の点を指定し、
デバイスがドットに置き換える。
(ちなみに、プリンタに draw する場合は座標幅なんかよりももっと緻密に描かれる)
つまり x方向0ドット目,y方向0ドット目の、ドットを表す四角形の、
左端上端が平面座標上の (0,0)、右端下端が平面座標上の (1,1) に相当する。
平面座標上の(16,16) に相当するのは dx+16ドット目の左端上端。
dx+15ドット目の左端では幅が足らん。
方眼紙の線のところに平面座標、線と線のちょうど真中にドット座標を書いて数えてごらん。
0076デフォルトの名無しさん
2010/11/26(金) 00:02:160077デフォルトの名無しさん
2010/11/26(金) 00:08:12詳しくありがとうございます
0078デフォルトの名無しさん
2010/11/27(土) 02:49:08真円描いたのに楕円に成ってたりとか。
0079デフォルトの名無しさん
2010/11/27(土) 09:20:37実行時に、使用されたクラスやメソッドのみを抽出する方法はないですか?
0080デフォルトの名無しさん
2010/11/27(土) 14:30:470081デフォルトの名無しさん
2010/11/27(土) 18:57:23Servlet関連でいい本ありませんか?
0082デフォルトの名無しさん
2010/11/28(日) 00:47:12実際の業務でJava+MySQLの組み合わせで開発することは
あるのでしょうか?
Java+OracleやPHP+MySQLは多いと思っていますが。
0083デフォルトの名無しさん
2010/11/28(日) 00:48:340084デフォルトの名無しさん
2010/11/28(日) 03:18:30vb.net+mdbとかvb.net+sqlserverで済ませちゃうかも。
0085デフォルトの名無しさん
2010/11/28(日) 11:54:550086デフォルトの名無しさん
2010/11/28(日) 13:40:40出来ない
0087デフォルトの名無しさん
2010/11/29(月) 12:35:39WEB-INF/classes/META-INF/persistence.xmlがどうしても見つからない
なにか直接指定するような方法ない?
0088デフォルトの名無しさん
2010/11/29(月) 16:14:22というプログラムを作成しています
なにか良い方法はありますでしょうか?
0089デフォルトの名無しさん
2010/11/29(月) 17:11:34インスタンス生成式にくっついているブロックは何ですか?
初期化でしょか?
だするとこれはランタイムでメソッドをオーバーライドということなのでしょうか?
0090デフォルトの名無しさん
2010/11/29(月) 17:14:110091デフォルトの名無しさん
2010/11/29(月) 18:10:33「クリックした座標」が自分のウィンドウ内かそうでないかによって答えが異なる
>>89
匿名内部クラス
0092デフォルトの名無しさん
2010/11/29(月) 21:03:15>>88です
自分のウインドウ内のスクリーン座標を取得し
その座標のRGB値を読み込むというものです
例えば、bmp画像を画面に表示させて、その画像をクリックするとRGB値が得られる
というものです
言葉足らずですみません
0093デフォルトの名無しさん
2010/11/29(月) 21:12:08全部ここに書けるほど簡単ではない
0094デフォルトの名無しさん
2010/11/29(月) 21:30:17public class MyComponent extends JComponent implements MouseListener {
public static void main(String[] args) throws IOException {
JFrame frame = new JFrame("test");
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(new MyComponent(), BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
private BufferedImage img;
public MyComponent() throws IOException {
img = ImageIO.read(getClass().getResource("unagi.bmp"));
setPreferredSize(new Dimension(img.getWidth(), img.getHeight()));
addMouseListener(this);
}
public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
}
public void mousePressed(MouseEvent ev) {
int argb = img.getRGB(ev.getX(), ev.getY());
System.out.println(Integer.toHexString(argb));
}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
うなぎ画像でテスト済み
0095デフォルトの名無しさん
2010/11/29(月) 21:54:04ありがとうございます。
非常に参考になりました。
ただ、コンパイルをした際に
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
at MyComponent.<init>(MyComponent.java:38)
at MyComponent.main(MyComponent.java:28)
とのエラーが出ました。
読み取りたい画像がないという内容だとは思うのですが
これはどのようなエラーなのでしょうか?
38行目は
img = ImageIO.read(getClass().getResource("test..bmp"));を行っております
ファイルの名前は自分が表示させたい「test.bmp」に変え
test.bmp自体は、MyComponent.javaがあるファイルと同じ所
さらにMyComponent.javaがあるフォルダの1つ上にも置いてあります
0096デフォルトの名無しさん
2010/11/29(月) 21:55:51ただしくは
img = ImageIO.read(getClass().getResource("test.bmp"));
です
ドットが2つになってました
すみません
0097デフォルトの名無しさん
2010/11/29(月) 22:22:42class ファイルと同じところに入れて下さい
Eclipse 使ってる場合は java ファイルと同じ場所でいいです
にも関わらずちゃんと動かないときは設定が悪いのかも
0098デフォルトの名無しさん
2010/11/29(月) 22:57:27ありがとうございます
無事表示できました
r,g,b成分をそれぞれ表示させる方法はありますでしょうか?
r = 255
g = 255
b = 255
などです
0099デフォルトの名無しさん
2010/11/29(月) 23:07:540100デフォルトの名無しさん
2010/11/30(火) 00:05:05>r,g,b成分をそれぞれ表示させる方法はありますでしょうか?
あるよ
0101デフォルトの名無しさん
2010/11/30(火) 01:22:060102デフォルトの名無しさん
2010/11/30(火) 09:17:57ルータに繋がれている3台のPCでそれぞれ起動しているクライアントA・B・CのうちAにだけメッセージを送りたい場合は
どのような処理手順・通信手順を行う必要があるのでしょうか?
NAT越えというものを実装しなければいけないのですか?
0103デフォルトの名無しさん
2010/11/30(火) 12:46:19クライアント間の通信がルータを経由するかしないかが問題なんだが
ルータにケーブル指して3台繋いでますってんなら単なるHub
0104デフォルトの名無しさん
2010/11/30(火) 13:27:59Aにサーバを立ててメッセージを受け取る
0105デフォルトの名無しさん
2010/11/30(火) 14:32:25public void mouseMoved()
のような割り込み以外の取得方法ないですか?
割り込みだと負担が大きくなるので。
それかこの割り込みを一時的に無効にする方法ありますか?
0106デフォルトの名無しさん
2010/11/30(火) 14:35:11A・B・Cがそれぞれサーバを立て同時にクライアントでもある構成
メッセージの中にあて先情報も組み込んで UDP でばらまくのもよし
0107デフォルトの名無しさん
2010/11/30(火) 14:42:12前者
public void mouseMoved(MouseEvent ev) {
log.setLastPoint(ev.getPoint());
}
private class Log implements Runnable {
private Point lastPoint;
public void setLastPoint(Point p) {
lastPoint = p;
}
public void run() {
while (true) {
//1秒間に最大10回しか処理しないったらしない
//もしくは Timer 使う
Thread.sleep(100);
}
}
}
後者
public void mouseMoved(MouseEvent ev) {
if (disabled) return;
}
0108デフォルトの名無しさん
2010/11/30(火) 14:47:36リスナーを remove すればもう飛んでこなくなるよ
0109デフォルトの名無しさん
2010/11/30(火) 14:55:00removeですね やってみますありがとう。
0110デフォルトの名無しさん
2010/11/30(火) 18:07:490111デフォルトの名無しさん
2010/11/30(火) 18:09:320112デフォルトの名無しさん
2010/11/30(火) 18:11:150113デフォルトの名無しさん
2010/11/30(火) 18:21:230114デフォルトの名無しさん
2010/11/30(火) 19:12:27* Apache Derby
* Oracle
* Sybase
* DB2
* SQLServer
* Postgresql
* MySQL
* Axion
* HSQL
0115デフォルトの名無しさん
2010/11/30(火) 19:33:580116デフォルトの名無しさん
2010/11/30(火) 23:52:45何を持ってシェアとするの?
Android流行ればSQL系じゃね?
0117デフォルトの名無しさん
2010/12/02(木) 16:00:06public static void main(String[] args){
int i;
for(i=1; i<11; i++){
System.out.println(i+"コイン");
}
if(i % 3 ==0){
System.out.println(i+"コイン"+" "+"クリア!");
}
System.out.println("終了!");
}
}
どこが間違ってますか?
思うような結果にならないのです。。
0118デフォルトの名無しさん
2010/12/02(木) 16:00:48です。申し訳ない
0119デフォルトの名無しさん
2010/12/02(木) 16:01:37public class Game
です
0120デフォルトの名無しさん
2010/12/02(木) 16:06:490121デフォルトの名無しさん
2010/12/02(木) 16:17:33質問の仕方
0122デフォルトの名無しさん
2010/12/02(木) 16:26:290123デフォルトの名無しさん
2010/12/02(木) 16:32:31for文 の { 〜 } の範囲を見直してみるといいかもね
0124デフォルトの名無しさん
2010/12/02(木) 16:59:24解けました。ありがとうございます
0125デフォルトの名無しさん
2010/12/02(木) 17:51:59わざわざやんなくても、JavaやってC#できないんだったら
それはJavaもできてないってこと
0126デフォルトの名無しさん
2010/12/02(木) 18:26:54あっそ
0127デフォルトの名無しさん
2010/12/02(木) 20:42:35Webアプリですか?
アンドロイドアプリ?
その他?(何々をか書いてくれ)
集計したい
0128デフォルトの名無しさん
2010/12/02(木) 21:33:48osはlinuxでブラウザはfirefoxを使用してます。
具体的なサンプルソースなどがあればありがたいんですが。。。
0129デフォルトの名無しさん
2010/12/02(木) 22:34:370130デフォルトの名無しさん
2010/12/02(木) 22:35:050131デフォルトの名無しさん
2010/12/03(金) 02:02:09ttp://yshibata.blog.so-net.ne.jp/2009-08-15-1
をざっと読んだ限りだと、入門レベルなら知らなくても問題ない箇所が拡張されてるような機がするんですが・・・
0132デフォルトの名無しさん
2010/12/03(金) 04:59:58ジェネリクス、Enum、ボクシングなしでコーディングとか、もはやマゾいとかいうレベルを超えてる。
「入門レベル」が「プログラミング自体の初心者」と言う意味ならそれほど意識しなくてもいいかもしれんが。
それとJava2 ってバージョン1.2からだろ。
0133デフォルトの名無しさん
2010/12/03(金) 16:24:38Java2って、Java1.5以降のことを言うのだと思っていました。
入門レベルというのは、プログラミング未経験者という意味です。
0134デフォルトの名無しさん
2010/12/03(金) 16:28:03死ねよ糞ゴミ
0135デフォルトの名無しさん
2010/12/03(金) 16:35:150136デフォルトの名無しさん
2010/12/03(金) 17:51:53java1.2以降をjava2と言うんだけど、
>>131 の本ではjava 1.5 のことを Java2 Standard Edition 5.0 と呼んでいる。
ところが、1.5で大きく文法が変わったため、ここからは普通はJava5と呼ぶ。
で、java5でのさまざまな不具合を取ったのがJava6なので、常識で考えたらJava6を勉強すべき。
ただ、Java5とJava6の違いは入門書レベルだとあまり変わらないので、Java5以降の入門書を遣うべし。
0137デフォルトの名無しさん
2010/12/03(金) 19:46:00フリーので頼む
0138デフォルトの名無しさん
2010/12/03(金) 20:08:250139デフォルトの名無しさん
2010/12/03(金) 21:29:140140デフォルトの名無しさん
2010/12/03(金) 21:35:170141デフォルトの名無しさん
2010/12/04(土) 02:50:38わかりました。いろいろ誤解していたようです。
どうもありがとうございました。
0142デフォルトの名無しさん
2010/12/04(土) 17:08:34msflexgridみたいなコントロールってあったりしますか?
Javaだと、GridLayoutとかで頑張るのでしょうか
0143デフォルトの名無しさん
2010/12/04(土) 17:20:05軽いし、キーマクロ使えるし。
http://www.altech-ads.com/product/10002451.htm
0144デフォルトの名無しさん
2010/12/04(土) 17:26:31JTableはどうだろうか
0145デフォルトの名無しさん
2010/12/04(土) 17:32:160146デフォルトの名無しさん
2010/12/04(土) 18:50:44二次元配列の型制約を与えることって出来ますか?
0147146
2010/12/04(土) 20:31:51class C<U,T extends ArrayList<ArrayList<U> > >
0148デフォルトの名無しさん
2010/12/04(土) 21:29:28プログラムをコンパイルしたら「Example1の書き込み中にエラーが発生しました。Example1.class(アクセスが拒否されました。)」
というエラーが出ました。
これはどうしたら解決できるのでしょうか?おねがいします
0149デフォルトの名無しさん
2010/12/04(土) 22:50:36CD-ROMの上で実行してるとか
0150デフォルトの名無しさん
2010/12/04(土) 23:54:040151デフォルトの名無しさん
2010/12/05(日) 00:42:210152デフォルトの名無しさん
2010/12/06(月) 12:52:060153デフォルトの名無しさん
2010/12/06(月) 14:38:000154デフォルトの名無しさん
2010/12/06(月) 17:39:43public class Sample<E> {
E i;
Sample(E i){
this.i=i;
}
@Override
public String toString() {
return i;
}
}
SampleTester.java
public class SampleTester {
public static void main(String[] args) {
int i=5;
Sample t=new Sample(i);
System.out.println(t);
String s="2ch";
Sample t2=new Sample(s);
System.out.println(t2);
}
}
上記のプログラムのようにSampleの方でtoStringをオーバーライドして出力しようとしているのですが
エラーが出ます。どうすればいいのでしょうか
0155デフォルトの名無しさん
2010/12/06(月) 17:46:27return i.toString();
または
return String.valueOf(i);
もしくはダサイけど
return "" + i;
0156デフォルトの名無しさん
2010/12/06(月) 18:43:17GNU LESSER GENERAL PUBLIC LICENSE Version 2.1
↓で調べてみました。
http://sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_Library_or_Lesser_General_Public_License
その義務は以下の通りと読み取ったのですが、曖昧な表現が多く合っているかわかりませんでした。
・配布時にライセンスの本文を含める
・ソースコードがLGPL下であればソースコードを含めて配布する
・該当部分(ソースコードまたはバイナリ)がLGPL下にあることを明示する
・著作権表示機能を持つ場合、LGPLのライブラリの著作権表示を含める
・バイナリのリバースエンジニアリングと改変を許可する
・スタティックリンクの場合、再リンクに必要なファイルを添付する
このLGPLライセンスを商用製品で使用する場合、商用製品のソースをオープンにしなければいけないのでしょうか?
マニュアルにLGPLライセンスのライブラリを使用してますと明記するくらいでは駄目なのでしょうか?
0157デフォルトの名無しさん
2010/12/06(月) 18:53:07どうしても必要なら怠けないで自分で再実装するしかない。
0158デフォルトの名無しさん
2010/12/06(月) 18:57:05ありがとうございました。
""+iとする方法はおもいついていたのですが、
さすがにスマートじゃなく別な方法ないかなーと思い聞いた次第です。
ありがとうございました
0159デフォルトの名無しさん
2010/12/06(月) 19:03:180160デフォルトの名無しさん
2010/12/06(月) 19:14:04javacが存在しないコマンドうんたらでコンパイルできなくなった
\(^o^)/
0161デフォルトの名無しさん
2010/12/06(月) 19:50:07サイトによってはtext/htmlまでしかとれないのですが、どうすれば全部取れますか?
0162デフォルトの名無しさん
2010/12/06(月) 20:10:41サイト側の好みで charset を付けたり付けなかったりできますので、そのサイト管理者が charset を付けないのが好みだったら、付きません
0163デフォルトの名無しさん
2010/12/06(月) 21:00:240164デフォルトの名無しさん
2010/12/06(月) 21:28:29Vector はできない
0165デフォルトの名無しさん
2010/12/07(火) 12:57:31実質的な違いはない
0166デフォルトの名無しさん
2010/12/07(火) 15:46:33Date/Timeに相当するクラスを自作するならば
それぞれが内部にカレンダーを持つ必要があるわけですよね
なんかメモリが勿体ないように思うんですが他にやりようはありますか
0167デフォルトの名無しさん
2010/12/07(火) 15:49:30暦の変換が必要でないなら、好きに作れるだろ。
0168デフォルトの名無しさん
2010/12/07(火) 16:04:55FTPサーバからファイルを受信してストリームに
書き出しているんですが、ダウンロードせずに
直接ファイルを開くことはできますか?
0169デフォルトの名無しさん
2010/12/07(火) 17:41:25タイトルバーや周りの枠の部分だけずれてるようでグラフィックの座標を直接取れませんでした。
上左からどれだけずれているか取得したいのですがどのような関数を使えばいいですか?
0170デフォルトの名無しさん
2010/12/07(火) 17:50:020171デフォルトの名無しさん
2010/12/07(火) 17:50:53宣言見ればすぐ気づくだろ。
0172デフォルトの名無しさん
2010/12/07(火) 17:56:01ArrayListとLinkedListの違いみたいに内部構造からくる各処理速度の問題?
0173デフォルトの名無しさん
2010/12/07(火) 18:00:17重複要素のないコレクションです。
Map
キーを値にマッピングするオブジェクトです。
0174デフォルトの名無しさん
2010/12/07(火) 18:09:190175デフォルトの名無しさん
2010/12/07(火) 18:15:070176デフォルトの名無しさん
2010/12/07(火) 18:17:590177デフォルトの名無しさん
2010/12/07(火) 18:19:14VectorとLinkedListとかArrayListじゃなくて???
順序無いのがSetとでも答えれば満足?
0178デフォルトの名無しさん
2010/12/07(火) 18:22:17LinkedList 配列を扱います。挿入・削除が高速です。
Vector 配列を扱います。パフォーマンスが悪いため現在ではあまり推奨されない古いクラスです。
Set系 HashSet 値の重複を許さない順不同の要素集合を扱います。
TreeSet 値の重複を許さないソートされたの要素集合を扱います。
Map系 HashMap キーと値の組からなる要素の集合を扱います。
TreeMap キーと値の組からなる要素の集合を扱います。キーでソートされています。
0179デフォルトの名無しさん
2010/12/07(火) 22:09:43ウィルス入ったりします?
0180デフォルトの名無しさん
2010/12/07(火) 22:29:250181デフォルトの名無しさん
2010/12/07(火) 23:01:04やっぱテキストエディタ使ったほうがいいな
Eclipseアンインストールするか・・・
0182デフォルトの名無しさん
2010/12/07(火) 23:07:240183デフォルトの名無しさん
2010/12/07(火) 23:52:060184デフォルトの名無しさん
2010/12/08(水) 06:57:22Tomcatみたいにクライアントからの問い合わせを受け付けるようなデーモンを作りたいのですが
Webコンテナ(というかサーバ)を建てるよりもっとコンパクトな方法はないのん・・?と思いまして。
もちろん、いちいちJVMを立ち上げるような作りなら実装は簡単なのですが。
0185デフォルトの名無しさん
2010/12/08(水) 08:47:220186デフォルトの名無しさん
2010/12/08(水) 17:48:15したいのですがどうやればいいのでしょうか。
0187デフォルトの名無しさん
2010/12/08(水) 17:53:540188デフォルトの名無しさん
2010/12/09(木) 00:13:110189デフォルトの名無しさん
2010/12/09(木) 11:32:31どういうものがあるでしょうか?
自分で考えたのは
関数の最初と最後で
System.gc()をして空きメモリをログファイルに出力する
っていうのを全関数に埋め込んで
ログをチェックするっていうのなんですが
どうでしょうか?
0190デフォルトの名無しさん
2010/12/09(木) 11:47:330191デフォルトの名無しさん
2010/12/09(木) 13:06:27でpから標準出力のストリーム取得してるんだけど、
どうもコマンドのプロセスが途中で止まってる。
バッファがいっぱいになるとバッファ空くまで待っちゃうから
別プロセスで取得するってのはわかるんだけど、
ほんとにそこまでしなきゃ駄目なの?
コマンド渡せば終了コードも標準出力も簡単に返してくれるような
お手軽ライブラリは公開されてないですかね?
0192デフォルトの名無しさん
2010/12/09(木) 13:20:29数行で済むようなコードだと思いますが
「ほんとにそこまでしなきゃ」っていうほどのことではないかと
0193デフォルトの名無しさん
2010/12/09(木) 15:42:500194デフォルトの名無しさん
2010/12/09(木) 17:32:380195デフォルトの名無しさん
2010/12/09(木) 18:16:11Javascriptは正直初めてですが、ググりながら以下の様にしたのですが
Firefox ですと最初の画像が表示されたまま次へ移動しません。またIE8
だと最初の画像すら表示しません。どなたか回答をお願い申し上げます。
表示したい画像はhtmlと同じフォルダにあるimg01.gif〜img16.gifです。
<html>
<head>
<script language="JavaScript"><!--
num = 0;
function change()
{
num++;
num %= 16;
document.MyIMG.src = "img0"+num+".gif;
}
// --></script>
</head>
<body>
<a href="javaScript:change()">
<img src="img01.gif" name="img" border="0"><br>
</a>
</body>
</html>
0196デフォルトの名無しさん
2010/12/09(木) 18:18:050197デフォルトの名無しさん
2010/12/09(木) 18:37:35num++;
num %= 16;
document.MyIMGsrc="img0"+num+".gif";
}
最後にダブルクォーテーションが抜けてる
FFは勝手に補正読みする
スレ違い死ね
0198デフォルトの名無しさん
2010/12/09(木) 19:02:32pの標準エラー出力がパンクしてるんじゃないか?
ProcessBuilder使えば標準出力と標準エラー出力をひとつにまとめられたはず。
0199デフォルトの名無しさん
2010/12/09(木) 19:29:38pの標準エラー出力がパンクしてるんじゃないか?
0200デフォルトの名無しさん
2010/12/09(木) 19:58:340201デフォルトの名無しさん
2010/12/09(木) 20:25:15public class ProcessRunner {
public static String execute(String cmd) throws IOException, InterruptedException {
Process proc = Runtime.getRuntime().exec(cmd);
InputStream stdout = proc.getInputStream();
InputStream stderr = proc.getErrorStream();
byte[] iobuf = new byte[1024];
ByteArrayOutputStream bout = new ByteArrayOutputStream(8192);
while ( isAlive(proc) ) {
if ( stdout.available() != 0 ) {
int len = stdout.read(iobuf);
if ( len == -1 ) break;
bout.write(iobuf, 0, len);
}else if ( stderr.available() > 0 ) {
stderr.read(iobuf);
}else {
Thread.sleep(15L);
}
}
return new String(bout.toByteArray());
}
private static boolean isAlive(Process proc) {
try {
proc.exitValue();
}catch ( IllegalThreadStateException e ) { return true; }
return false;
}
}
0202デフォルトの名無しさん
2010/12/09(木) 21:39:542010年抱かれたい男GP優勝!!!アッーーー!
0203デフォルトの名無しさん
2010/12/09(木) 21:42:19エラーは全く出てないはず...
仮に出ててもちょろのはず...
0204デフォルトの名無しさん
2010/12/09(木) 22:57:400205デフォルトの名無しさん
2010/12/09(木) 23:02:030206デフォルトの名無しさん
2010/12/09(木) 23:07:350207デフォルトの名無しさん
2010/12/10(金) 05:20:400208デフォルトの名無しさん
2010/12/10(金) 05:53:33呼ぶコマンド自体は"dir"だけみたいなものなので、
仮にエラー出ても数文字...とりあえず試しはします。
あざす!
0209デフォルトの名無しさん
2010/12/10(金) 08:54:06なんかデプロイがファイルコピーだけで済むのって
魅力的なんですが。
0210デフォルトの名無しさん
2010/12/10(金) 10:56:55趣味でやる個人サイトなら好きにすればいいんじゃね。
俺が客なら納品物がそれだったら二度と連絡よこすなって言うけど。
0211デフォルトの名無しさん
2010/12/10(金) 11:02:03画面文言を1文字直すだけでも全ロジックの試験エビデンス要求して虐めてみるのも面白いかもなw
0212デフォルトの名無しさん
2010/12/10(金) 11:04:39でもそれってその分の費用貰いますよ
0213デフォルトの名無しさん
2010/12/10(金) 11:16:52契約内容によるだろ。
0214デフォルトの名無しさん
2010/12/10(金) 11:55:210215191
2010/12/10(金) 13:01:15while ( isAlive(proc) ) {
だとタイミング悪いと最後が切れちゃうようなので、
while ( isAlive(proc) || stdout.available() != 0 ) {
にして使わせていただくお。
本当にありが�d(癶∀癶✿)
0216191
2010/12/10(金) 14:31:45eclipseからTomcat起動だとイケるんだけどな。
サービス起動してるTomcatにデプロイした場合は駄目。
同様にバッファ空き待ちで待ち続けてる。
そういえば最初もそうだったな...。
Tomcat側のconfの違いだろうけど本番用confイジるわけにはいかない環境だから、
やっぱThread継承するなりして別プロセスから吸い出してあげないと駄目。
標準出力抜くだけなのにめんどいなぁ。
0217デフォルトの名無しさん
2010/12/10(金) 16:54:53javaではポインタ渡しがないので、ある関数に渡した引数を
関数側で変更する方法として参照渡しがありますよね
これは自前のクラスや配列なら、ポインタと同様に使えるのですが
どうやらIntegerなどのプリミティブのラッパー系はimmutableのため
使えないようです。(ちょっとここもあいまい)
でも実際に
boolean func1(Integer a){
a = 0;
}
boolean func2(Integer a,Integer b){
a = 1;
b = 10;
}
のように戻り値としてbooleanで統一、引数側でなんとかしたい
場合があると思います。
このような場合、javaではどのように書けばよいのでしょうか?
Integerを自作のMyIntegerクラスなどに変えて呼び出し先変更用の
クラスを引数として渡す、ということは考えたのですが、
演算子のオーバーロードもできないし、いろいろ不都合もあるので
どうしようか悩んでます。
0218デフォルトの名無しさん
2010/12/10(金) 17:01:180219デフォルトの名無しさん
2010/12/10(金) 17:04:18C#ならありますが、、、
0220デフォルトの名無しさん
2010/12/10(金) 17:11:560221デフォルトの名無しさん
2010/12/10(金) 17:12:100222デフォルトの名無しさん
2010/12/10(金) 17:16:33いじっても、呼び出し元の変数は変わりませんよね
コーディング構想をそもそも代えないとダメなのかな?
0223デフォルトの名無しさん
2010/12/10(金) 17:27:500224デフォルトの名無しさん
2010/12/10(金) 17:37:530225デフォルトの名無しさん
2010/12/10(金) 17:49:55int[]渡すとか。
0226デフォルトの名無しさん
2010/12/10(金) 17:51:290227デフォルトの名無しさん
2010/12/10(金) 18:13:240228デフォルトの名無しさん
2010/12/10(金) 18:16:54一部の特殊なクラス(Integerとか)を除いては、
内部的にはポインタ渡しと同様だが。
0229デフォルトの名無しさん
2010/12/10(金) 19:35:16Javaではプリミティブ型は値渡し、それ以外(何かのクラスのインスタンス)
はポインタの値渡し。引数で受け取ったオブジェクトが持っている、
内部状態を更新するメソッドを呼ぶと、呼び出し元から見えるオブジェクトの
内容が変わるが、「引数 = new なんとか();」のように変数が参照している。
ちなみにJavaでは配列は全部クラスと一種とみなされる。だからbyte[]もchar[]も
オブジェクトであり、メソッドの引数に渡した瞬間に、配列のコピーが作られる
わけではない。
オブジェクトを摩り替えても呼び出し元に作用しない。
0230デフォルトの名無しさん
2010/12/10(金) 19:36:530231デフォルトの名無しさん
2010/12/10(金) 19:39:180232デフォルトの名無しさん
2010/12/10(金) 19:41:51おまえはじゃ無理
0233デフォルトの名無しさん
2010/12/10(金) 19:43:48訂正。
「引数 = new なんとか();」のように変数が参照しているオブジェクトを別のインスタンス
に向けても、呼び出し元が参照しているオブジェクトのインスタンスは昔のまま。
したがって、
public static void main(String[] args) {
java.lang.Integer ival = new Integer(1);
sub1(ival);
System.out.println(ival.toString());
}
private static void sub1(Integer anValue) {
anValue = new Integer(2);
}
上のコードを実行すると、コンソールに「1」が表示される。引数で受け取った
anValueが参照していたIntegerのインスタンスは、sub1メソッド内では新しい「2」オブジェクトを
参照するように摩り替わっているが、だからといって呼び出し元が参照していた「1」が「2」を
参照するように書き換わるわけではない。
0234デフォルトの名無しさん
2010/12/10(金) 19:43:55javalangならそれで依存はないけど、c99的にはツッコミどころが多分にある
0235デフォルトの名無しさん
2010/12/10(金) 19:44:49javalangならそれで異論はないけど、c99的にはツッコミどころが多分にある。
0236デフォルトの名無しさん
2010/12/10(金) 19:46:45次に、更新可能なオブジェクトのメンバーを変更するケース。
public static void main(String[] args) {
java.util.ArrayList<Integer> list = new java.util.ArrayList<Integer>();
list.add(Integer.valueOf(1));
list.add(Integer.valueOf(2));
sub2(list);
for ( int i = 0; i < list.size(); i++ ) { System.out.println(list.get(i)); }
}
private static void sub2(java.util.ArrayList<Integer> list) {
list.add(Integer.valueOf(3));
}
上のコードを実行すると、「1\n2\n3\n」が表示される。引数で受け取った
listの参照に対して「3」という値を持つIntegerを追加したのでこのようになる。
さらにおまけで、sub2を次のように書き換えると、「1\n2\n」と表示される。
private static void sub2(java.util.ArrayList<Integer> list) {
list = new java.util.ArrayList<Integer>(); // <=この行追加。
list.add(Integer.valueOf(3));
}
0237デフォルトの名無しさん
2010/12/10(金) 19:50:020238デフォルトの名無しさん
2010/12/10(金) 19:50:08int a,b
}
かint[]で良いだろ
0239デフォルトの名無しさん
2010/12/10(金) 23:33:17先ほどpleiadesを導入したんですがホバーが英語のままで日本語化できません
googleで解決法を検索し、試して見たのですが解決できず未だにホバーは英語のままです
日本語化する方法があったら教えてください
0240デフォルトの名無しさん
2010/12/11(土) 08:44:58結局、
MyInteger {
public int value;
}
にしました。
他のオブジェクト同様にIntegerとかに更新メソッドつけてくれれば良い話なんですが、
なんでimmutableなクラス仕様があるのかな?
0241デフォルトの名無しさん
2010/12/11(土) 08:48:020242デフォルトの名無しさん
2010/12/11(土) 08:56:32理解が浅いと何をやってみても今回のように何も出来ない。
0243デフォルトの名無しさん
2010/12/11(土) 09:10:20お前みたいに返り値boolean固定するアホが出ないようにだろうw
0244デフォルトの名無しさん
2010/12/11(土) 09:16:010245デフォルトの名無しさん
2010/12/11(土) 09:57:410246デフォルトの名無しさん
2010/12/11(土) 11:34:31似たような関数群だからなるべく似たような使い方に
統一したかったんだよね
>242さん
よかったらどんな対処があるか教えてください
0247デフォルトの名無しさん
2010/12/11(土) 11:57:470248デフォルトの名無しさん
2010/12/11(土) 12:04:13MyInteger持ってこられたらレビューでフルボッコにするよねwww
0249デフォルトの名無しさん
2010/12/11(土) 12:19:50でどんな改善案になるの?
戻り値毎にクラス作るのもめんどくさいし
関数10個あって、それぞれの関数で戻したい値が1個〜10個、
んな場合の設計ってどうします?
戻り値用クラス10個作って、null or クラスで返す?
0250デフォルトの名無しさん
2010/12/11(土) 12:29:02248ではないが、ケースによるが配列やコレクションをつかうんじゃね?
というかstaticメソッドとも限らないわけで設計がまずいんじゃね?
設計もまずくないならメソッド毎の戻り値のクラス作ればいいんじゃね?
0251デフォルトの名無しさん
2010/12/11(土) 12:31:300252デフォルトの名無しさん
2010/12/11(土) 12:33:310253デフォルトの名無しさん
2010/12/11(土) 12:39:400254デフォルトの名無しさん
2010/12/11(土) 12:52:32(つд⊂)ゴシゴシ
引数10個のメソッドを作るように読めるぞw
0255デフォルトの名無しさん
2010/12/11(土) 12:54:570256デフォルトの名無しさん
2010/12/11(土) 12:57:420257デフォルトの名無しさん
2010/12/11(土) 13:26:230258デフォルトの名無しさん
2010/12/11(土) 13:30:570259デフォルトの名無しさん
2010/12/11(土) 14:56:270260デフォルトの名無しさん
2010/12/11(土) 18:09:58Mergedoc使え
Mergedoc でjava 付属のsrc.zipを日本語化して
それを使うようにする
0261デフォルトの名無しさん
2010/12/11(土) 18:43:42BigDecimal bi = new BigDecimal("0.00392156862745098");
System.out.println(bi);
System.out.println("切り捨て:" + bi.setScale(3, RoundingMode.FLOOR));
double result = bi.setScale(3, RoundingMode.FLOOR).doubleValue();
System.out.println(result);
としたところ
0.00392156862745098
切り捨て:0.003
0.0030
となってしまいます
望みの結果としてはresultが小数第3位までの「0.003」となって欲しいのですが、
少数第4位の「0」が余計です
改善方法または原因はなんでしょうか?
0262デフォルトの名無しさん
2010/12/11(土) 19:16:20doubleValue で double 値に変換する場合、その BigDecimal の値が double として正確に表現できなければ、最も近い double の値になる
つまり近似値でしかない (しょせん double は誤差を含む型だから、小数を正確に表現できるとは思わない方がいい)
正確に第4位切り捨ての値で扱いたければ最初から最後まで BigDecimal のまま扱う
double にした時点で誤差が生じる可能性があるのだから、いったん double にしてから文字列にしたって当然誤差を含むので、
誤差のない文字列を得たいなら BigDecimal から直接 String に変換する
0263デフォルトの名無しさん
2010/12/11(土) 23:01:36例が悪いですね、すみません
さすがに10個は厳しいですね
どんな理由でも6個くらいが許容限界かな
0264デフォルトの名無しさん
2010/12/11(土) 23:17:13もう来るな死ねよ
0265デフォルトの名無しさん
2010/12/12(日) 01:55:31答えは自明。
暇だからヒントをあげるとね「戻り値には意味があり、型はそれを使うべくして使う」ということ。
じゃあ、MyIntegerの意味はなんだろう、そしてその型を使う理由はなんだろう。
それはシステムのコンポーネントとして存在すべくして存在するのではなく、
「よくわかんないから作ってみた自作Integer」というだけのシステムとして無意味なものだね。
> 関数10個あって、それぞれの関数で戻したい値が1個〜10個、
> んな場合の設計ってどうします?
> 戻り値用クラス10個作って、null or クラスで返す?
オブジェクトにできないほど関連性の薄いまとまってないデータを10個も受け渡すという事が、
そもそもメソッド分けすらまともにできてない何よりの証拠だね。
上記のケースを例に出してくるあたり、どんなレベルかは察しがついちゃう。
一律booleanで返したいってきっと正常/異常を結果で返したいんだろうけど、
だとしたら、そうする必然性(設計思想)はなんだろう?
適切な例外を投げるでは何故だめなのか?
そういうそもそもの部分を考えもしないで「でどんな改善案になるの?」とか言っちゃうからまともに相手にされないの。
といわれても考えようとしない教えて君なら、凡庸な1年目の新人さん未満だな。
以上、もうレスはいらないよ。
0266デフォルトの名無しさん
2010/12/12(日) 01:58:47は
「パラメータには
に読み替えてくれwww
飲み過ぎワロタww
0267デフォルトの名無しさん
2010/12/12(日) 02:29:15引数が16個以上必要なメソッドとか平気で作るけど、君はクラス設計をしたこともないしそういう世界も知らないでしょう?
0268デフォルトの名無しさん
2010/12/12(日) 02:36:06Graphics.drawImageなんか要求している引数個数は多いけどまったくに適切な設計のメソッドだなあと思うよ。
0269デフォルトの名無しさん
2010/12/12(日) 02:36:21引数9個のメソッド作っちまった
あやうく10個に達するところだった
あぶねーあぶねー
なんか、配列渡すのに開始位置と長さもセットにしなきゃいけないのがここ最近の俺の引数増を招く主な原因だな・・・
これは言語仕様が悪いよな
そうだ俺は悪くない
0270デフォルトの名無しさん
2010/12/12(日) 05:31:57あなたのつくるメソッドは、intやStringの引数がとても多そう
0271デフォルトの名無しさん
2010/12/12(日) 06:10:370272デフォルトの名無しさん
2010/12/12(日) 07:45:410273デフォルトの名無しさん
2010/12/12(日) 07:54:38なぜいまだに世の中のJavaで書かれたソフトウェアの多くがint型を使っているのでしょうか?
intとIntegerで性能差も無視できるレベルだと思いますが。
0274デフォルトの名無しさん
2010/12/12(日) 07:56:300275デフォルトの名無しさん
2010/12/12(日) 08:06:280276デフォルトの名無しさん
2010/12/12(日) 10:05:50を
class hogeclass {
public int x;
public int y;
public boolean hoge() {
return true;
}
}
ってすればいいんだよね?
0277デフォルトの名無しさん
2010/12/12(日) 12:15:51ろくな設計ができないカスしかいない世界のことですね、わかりますww
0278デフォルトの名無しさん
2010/12/12(日) 12:48:450279デフォルトの名無しさん
2010/12/12(日) 12:48:49Intergerで加算をすると、intと比べるとものすごーく遅い
0280デフォルトの名無しさん
2010/12/12(日) 16:11:58;
0281デフォルトの名無しさん
2010/12/12(日) 18:46:00改行コード(\r\n)込みで一行が一定バイトを超えている場合
複数行に分けるという処理を書こうとしてるんですが
こういう場合どういう処理を行うのが効率的でしょうか
「あ」は3バイトありますし
substringしてgetBytes("UTF8").lengthを地道にループだと
重そうですし
0282281
2010/12/12(日) 20:23:390283デフォルトの名無しさん
2010/12/12(日) 21:19:020284デフォルトの名無しさん
2010/12/12(日) 21:49:470285デフォルトの名無しさん
2010/12/12(日) 22:39:12時*3600+分*60+秒を表示
0286デフォルトの名無しさん
2010/12/12(日) 23:40:41ググってもTomcatとかWebサーバ関連ばっかり。
スタンドアローンで単発起動のJavaオブジェでもJNDIって使用出来るんですか?
0287デフォルトの名無しさん
2010/12/13(月) 00:03:060288デフォルトの名無しさん
2010/12/13(月) 00:35:28できるよ
0289デフォルトの名無しさん
2010/12/13(月) 01:08:37??
0290デフォルトの名無しさん
2010/12/13(月) 04:42:40ありがとうございました
0291デフォルトの名無しさん
2010/12/13(月) 09:41:130292デフォルトの名無しさん
2010/12/13(月) 09:48:24よくわかってないんだと思う
0293デフォルトの名無しさん
2010/12/13(月) 09:51:22おおおぉぉぉ!
とか出てきてたサイトが見当たらないんですが
閉鎖しちゃったんでしょうか?
0294デフォルトの名無しさん
2010/12/13(月) 10:19:21http://www.whitehouse.com/は閉鎖されちゃったね。
0295デフォルトの名無しさん
2010/12/13(月) 10:39:13ありがとう、レスいらないようだけど
オブジェクト指向はやりすぎると無駄な階層化、get/setの嵐で
細かいクラスたくさんできて難読化もしてしまうので
自分ではある一線で旧来のスタイルも混ぜてます
その辺すでに設計おかしいのかな
例外はありだと思うけど、頻繁に発生しうる状況なので
今回は使いにくいです(センサーの連続データ処理なので)
いろいろな考えあって勉強になりました
0296デフォルトの名無しさん
2010/12/13(月) 11:07:270297デフォルトの名無しさん
2010/12/13(月) 11:19:35MyInteger使うか迷うレベルの人間が設計云々言ってる時点で炎上確定しとらんか?
設計というより人員配置の方に欠陥があるような。
0298デフォルトの名無しさん
2010/12/13(月) 11:38:23「Java で Hello, world!」なら閉鎖したと思う。
0299デフォルトの名無しさん
2010/12/13(月) 11:43:49えぇぇぇぇ
ショックーーー!!
0300デフォルトの名無しさん
2010/12/13(月) 12:05:16もう来なくていいよ
0301デフォルトの名無しさん
2010/12/13(月) 19:05:12へーお世話になったのにもったいない。
でも脱初心者した辺りから全然行かなくなったからな、ああいうサイトって割りに合わないんだろうな。
0302デフォルトの名無しさん
2010/12/13(月) 19:10:31ときて
「うっせぇな、だからなんだよ糞」
と思うようになったら初心者卒業だな。
0303デフォルトの名無しさん
2010/12/13(月) 19:32:440304デフォルトの名無しさん
2010/12/13(月) 19:34:54ライブラリ等をつかっているとライセンス違反になります。作り直しです。
また、これから、ApacheプロジェクトのものをJavaで使ってはいけなくなるそうです。
(≧▽≦)< 頑張ってください!
0305デフォルトの名無しさん
2010/12/13(月) 20:34:050306デフォルトの名無しさん
2010/12/13(月) 21:41:00プリミティブな処理をまとめたクラスを用意するのは、
Facadeパターンだと言って良いと思う?
0307デフォルトの名無しさん
2010/12/13(月) 22:47:16親父がPC買ってインターネットしたいといいだしたんで、
自分でブラウザを作ってあげようとおもっているんですが、
自分はGUIを作ったことがあるのが、Javaだけです。
Javaのブラウザを調べたんですが、いまいち、MS製の言語よりも
遅れているみたいです。それは、やはり本当なんでしょうか?
C#でも覚えてC#で作ったほうがよろしいでしょうか?
0308デフォルトの名無しさん
2010/12/13(月) 23:02:250309デフォルトの名無しさん
2010/12/13(月) 23:06:33なんにもできないじゃ、かわいそうだし。。
IEはむずかしすぎるっていってたんで・・
0310デフォルトの名無しさん
2010/12/13(月) 23:16:15そんなあなたにw3m
これ以上見た目が簡単なブラウザは存在しないと思う
0311デフォルトの名無しさん
2010/12/13(月) 23:21:34ありがとうございます。一応、そう難しくないページとかなら見れそうなので、
ためしに作ってみます。アドレスバーとお気に入りしか機能をつけようとおもっていないんです。
なれてきたころに、グーグルの検索ボックスだけ追加しようとおもいます。
w3mというのも、あとでググッてみますね。ありがとう。
0312デフォルトの名無しさん
2010/12/13(月) 23:25:33見た目シンプルなChromeや最近のバージョンのOperaとかで
ホームをYahooに設定して渡せばそれで解決しない?
作るとしたらjavaじゃないがIEコンポーネントとか。
検索したら最低限のブラウザ機能ぐらいならサンプル落ちてるし
0313デフォルトの名無しさん
2010/12/13(月) 23:29:140314デフォルトの名無しさん
2010/12/13(月) 23:57:000315デフォルトの名無しさん
2010/12/14(火) 00:29:16いいかわかんない・・・
たとえばwavファイル読み込み→パワースペクトルなど抽出?みたいなことはできるんですか?
0316デフォルトの名無しさん
2010/12/14(火) 00:34:14JavaはダメでC#ならいいわけ?アパッチなのに?
0317デフォルトの名無しさん
2010/12/14(火) 00:39:01タイムゾーンの扱いについて詳しい人いたら教えてください
TimeZone.getAvailableIDs()では自分の環境では608個とれますが
olson DBのzone.tabでは400個ほどです
これはおそらく前者がPSTみたいな省略記法のIDを返すからだと思いますが
そもそもこれは同じIDを参照しているのでしょうか
(同じっぽくは見えますが・・IDは何らかの標準化がなされてるんでしょうか?)
APIDOCにはその辺「サポートされているタイムゾーンID」程度にしか記述がありません
0318デフォルトの名無しさん
2010/12/14(火) 00:40:34ググったらそれらしいサイトあったよ
wavからサンプリング情報+サンプリングデータをテキストで取り出すフリーソフトがあるらしいんで
javaではそれを読み込んでフーリエ変換して対数に直す処理をすれば出来る
0319デフォルトの名無しさん
2010/12/14(火) 03:25:11なぜ、これが必要なのか分かりません。
教えてください宜しくお願いします。
try{
}catch(IOException e){
}
0320デフォルトの名無しさん
2010/12/14(火) 03:58:320321デフォルトの名無しさん
2010/12/14(火) 04:22:490322デフォルトの名無しさん
2010/12/14(火) 04:29:45319です。
ありがとうございました。
0323デフォルトの名無しさん
2010/12/14(火) 07:17:40List list2 = new ArrayList<String>();
Hashtable<String, String> ht = new Hashtable<String, String>();
ht.put("111", "11111");
ht.put("222", "22222");
list1.add(ht);
list2.add(ht.clone());
ht.clear();
System.out.println(list1.toString());
System.out.println(list2.toString());
----
上記を実行したら、lits1だけクリアされました。
cloneはシャローコピーですが、list2はクリアされないのでしょうか?
[{}]
[{222=22222, 111=11111}]
0324デフォルトの名無しさん
2010/12/14(火) 07:24:200325デフォルトの名無しさん
2010/12/14(火) 07:46:53参照のコピーだから、同じオブジェクト(Hashtable)をListは持っていると思います。
なぜ同じオブジェクトを見ているのに、cloneしたらクリアされないのかわからなかったのです。
0326デフォルトの名無しさん
2010/12/14(火) 08:01:52ハッシュテーブルのコピーを作成します。ハッシュテーブルの構造自体はすべてコピーされますが、キーおよび値は複製されません。これは、比較的負担の大きい操作です。
とあるんだけど。
0327デフォルトの名無しさん
2010/12/14(火) 08:11:240328デフォルトの名無しさん
2010/12/14(火) 12:21:44>>315ですが、ありがとうございます
ちゃんと調べてみます、すいません
あと音処理においてのjavaのおススメの書籍があったら、お願いします
0329デフォルトの名無しさん
2010/12/14(火) 12:38:450330デフォルトの名無しさん
2010/12/14(火) 19:18:52基本ステータスを入力して成長後の基準値を出すところまではできたが
その成長後の基準値に倍率を掛ける方法がわからない
今日初めてjava触っているのでどこを調べるべきか
A,B、C、D、Eを入力
↓
F,G,H,I,J・・・10種類程度の基準値表示
↓
パターン選択ボタンまでは完成
↓
パターンα選択時 倍率F*105%、J*104%
β選択時 倍率F*110% G*105%
・
・
・
↓
最終的には基準値を出さずに
選択したパターンに応じて修正値だけを表示したい
0331デフォルトの名無しさん
2010/12/14(火) 19:23:05f *= 1.05;
とすればいいけど、そういうことじゃなくてか?
もうちょっと詳しく
0332デフォルトの名無しさん
2010/12/14(火) 19:30:17{
frm1.hp.value = (frm1.tai.value * 5 + frm1.atk.value * 4
+ frm1.w2k.value * 2.5 + frm1.agl.value * 5.1 + frm1.min.value * 6.5);
frm1.mp.value = (frm1.tai.value * 4.9
+ frm1.atk.value * 6.5 + frm1.w2k.value * 7 + frm1.agl.value * 5.6 + frm1.min.value * 6);
こんな感じで出した数値にAパターンを選んだらHP*105%だけ
BパターンでHP*110% 攻撃力*120%のような修正を加えたい
frm2.hp.value = (frm1.hp.value * 1.05)
とかやってるんだけど反応しないので詰まった
0333デフォルトの名無しさん
2010/12/14(火) 19:38:09このプログラムではうまく読み込めていないようです。
どこが問題でしょうか?
また文字列が混在しているファイルの場合、
どうしたらいいでしょうか、ご教示願います。
import java.io.*;
public class Readfile {
public static void main(String arg[]){
try{
BufferedReader f = new BufferedReader(new FileReader("test.txt"));
int c=0;
int a[][]; a = new int [2][3];
int i=0;
while((c=f.read()) != -1){
System.out.print((char)c);
for(i=0;i<a.length;i++) a[0][i] = (char)c;
}
f.close();
}catch(IOException e){
System.out.println(e);
}
}
}
0334デフォルトの名無しさん
2010/12/14(火) 19:44:09それはひょっとしてJavaじゃなくてJavascriptじゃね
0335デフォルトの名無しさん
2010/12/14(火) 19:46:07JavaとJavaスクリプトは別なの?
0336デフォルトの名無しさん
2010/12/14(火) 19:47:19具体例としてどういう内容のテキストファイルを
どういう結果になるように読み込みたいのか (配列のどこにどの値を入れたいのか)
を説明してください
0337330
2010/12/14(火) 19:48:57Javaスクリプトであることも知らなかった
反省している
お騒がせしました
0338デフォルトの名無しさん
2010/12/14(火) 19:51:35Javaスクリプトじゃなくて「Javascript」な
念のため伝えておくとあなたの行先はWeb制作板
0339デフォルトの名無しさん
2010/12/14(火) 19:55:52Javascriptじゃなくて「JavaScript」な
0340デフォルトの名無しさん
2010/12/14(火) 19:59:03最終的には
1 2
1 3
1 4
のようなファイルと
1 a s
2 d f
3 g h
4 h j
5 k l
のようなファイルがあったとしたら、
1個目のファイルの2列目にない要素で2個目のファイルにある要素(この場合は5)
の行を削除した3個目のファイル
1 a s
2 d f
3 g h
4 h j
を作成したいです。
0341デフォルトの名無しさん
2010/12/14(火) 20:15:412 d f
3 g h
4 h j
を作成したいです。
の間違いでは?
0342デフォルトの名無しさん
2010/12/14(火) 20:41:37動作確認すらしてないけどこんな雰囲気でいいんじゃね?
https://gist.github.com/740304
0343デフォルトの名無しさん
2010/12/14(火) 22:32:53http://www.dotup.org/uploda/www.dotup.org1299507.java
これは大学のjavaの授業で作ったプログラムですが、これはどのような形態(main()のJavaアプリケーション、Applet、Servlet)などでいうとどれに当たりますか?
それともどれにもあてはまらずその他の分類になりますか?もしそうでしたら詳しく教えてください。
あとawtとあるのでGUIだと思いますがあっていますか?
javaは大学でまだ一ヶ月と少し程度しかやっていないのでよくわからないのです。
初歩的なことかもしれませんがどうか教えてください。
0344デフォルトの名無しさん
2010/12/14(火) 22:39:280345デフォルトの名無しさん
2010/12/14(火) 22:51:200346デフォルトの名無しさん
2010/12/14(火) 23:14:25答えていただいたプログラムをコンパイルして実行しようとしたら、
exception in thread main java.lang.nosuchmethoderror main
とエラーが出てきました。
どうやら
public static void main(String[] args)
これをいれれば直るらしいのですがどこにいれればいいですか?
0347デフォルトの名無しさん
2010/12/14(火) 23:15:11まちがいました。
すみません
0348デフォルトの名無しさん
2010/12/14(火) 23:21:21皆さんは全てちゃんとプレビューされますか?
0349348
2010/12/15(水) 00:10:060350デフォルトの名無しさん
2010/12/15(水) 08:34:17通話自体はJavaSoundAPIとRTPを用いて実装できました
これに通話内容を録音する機能を追加したいです
どのような手法を用いればよいでしょうか?よろしくおねがいします。
0351デフォルトの名無しさん
2010/12/15(水) 10:46:090352デフォルトの名無しさん
2010/12/15(水) 11:55:19ありがとうございます、
これを元にがんばってみます。
0353デフォルトの名無しさん
2010/12/15(水) 23:08:00最近JavaでWebアプリケーションが作れると聞いたのですが、普通にプログラムを組むだけではだめだと思うのですが、一体どうすればHTMLとして吐き出す?PHPとかPerlみたいなことが
出来るのでしょうか?
全くわかってなくて見当違いだったらごめんなさい
0354デフォルトの名無しさん
2010/12/15(水) 23:16:300355デフォルトの名無しさん
2010/12/15(水) 23:20:57解決しました
ありがとうございました
0356デフォルトの名無しさん
2010/12/16(木) 17:53:370357デフォルトの名無しさん
2010/12/16(木) 17:55:520358デフォルトの名無しさん
2010/12/16(木) 19:53:250359デフォルトの名無しさん
2010/12/16(木) 19:55:260360デフォルトの名無しさん
2010/12/16(木) 22:43:27下記方法にて処理を行った場合、ネットワークへの接続開始と切断はどのどのタイミングで行われますでしょうか。
// 接続
URLConnection uc = new URL("http://www.google.com/").openConnection();//・・・�@
// HTMLを読み込む
BufferedInputStream bis = new BufferedInputStream(uc.getInputStream());//・・・�A
BufferedReader br = new BufferedReader(new InputStreamReader(bis, "Shift_JIS"));//・・・�B
String line;
while ((line = br.readLine()) != null) {//・・・�C
/* lineを処理 */
}
//・・・�D
初回の�Cの時点で接続が開始され、�Dに到達直前にて終了するという認識はあっていますでしょうか?
参考したサンプル:
http://d.hatena.ne.jp/n_euler666/20070919/1190189499
よろしくおねがいします。
0361デフォルトの名無しさん
2010/12/16(木) 22:46:32http://x68000.q-e-d.net/~68user/net/java-http-url-connection-1.html
0362デフォルトの名無しさん
2010/12/16(木) 23:08:25マルチプラットフォームと言いながら、
OS同じでもバージョン変わっただけで動かなくなるのは何故でしょうか?
0363デフォルトの名無しさん
2010/12/16(木) 23:58:43getInputStream で接続開始
keep-alive が切れたら切断
0364デフォルトの名無しさん
2010/12/16(木) 23:59:41ありがとうございます。
そちらを参考にして検証した結果
・�Aの時点で通信は開始され、bisのバッファサイズまで取得を行う。
・4で読み込まれ、バッファに空きが出来次第bisのバッファサイズまで取得する。
・・と理解しました。
lineの処理が重く、取得するデータが巨大な場合で
本格的に効率的な逐次処理を行う場合は
マルチスレッド化が必要そうですね
ありがとうございました。
0365デフォルトの名無しさん
2010/12/17(金) 16:54:300366デフォルトの名無しさん
2010/12/17(金) 17:04:33}catch (IOException e){
e.printStackTrace();
}finally{
try {
in.close();
out.close();
}catch (IOException e){
e.printStackTrace();
}
}
return isOK;
}
フィルコピーの部品を作って、それを読んだときにリターンで成功したか失敗したかを
判断したいのですけど、成功の場合はtrueが戻りますが失敗のときに
finallyでファイルのクローズをしたいために、リターンfalseをどこに記述したらいいのか
わかりません。catchに書くと無視されるし、finallyに書くとfinally句が完結してないと
警告メッセージが出ます。失敗の場合はfalseは戻らないけど、呼び元でtrueじゃない、
という聞き方をすればいいのでしょうか。こういう場合、どのような対処をしていますか。
0367デフォルトの名無しさん
2010/12/17(金) 17:10:11bool isOK = true;
try {
} catch {
isOK = false;
} finally {
}
return isOK;
}
0368デフォルトの名無しさん
2010/12/17(金) 17:14:54それやってみたんですけど、falseが戻ってこないんですよ。
0369デフォルトの名無しさん
2010/12/17(金) 17:15:110370デフォルトの名無しさん
2010/12/17(金) 17:17:56かいてもfinallyは実行されると思うけど。
0371デフォルトの名無しさん
2010/12/17(金) 17:20:01それだったら
void hoge() {
bool isOK = false;
try {
//入出力処理
isOK = true;
} catch {
} finally {
}
return isOK;
}
の方がよくね?
0372デフォルトの名無しさん
2010/12/17(金) 17:20:18fainallyに書いたら、うまく行くのですが、fainally句が完結してないと
警告メッセージが出るんです。いきなりリターンするので最後のカッコを
閉じてないから警告が出ると思うのですけど、なんだか気持ちが悪いです。
0373デフォルトの名無しさん
2010/12/17(金) 17:21:540374デフォルトの名無しさん
2010/12/17(金) 17:25:32public static boolean TextFileCopy(String inFile, String outFile){
BufferedReader in = null;
PrintWriter out = null;
String inStr = null;
boolean isOK = false;
try {
//入力ファイル
in = new BufferedReader(new FileReader(inFile));
//一時出力ファイル
out = new PrintWriter (new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(outFile))));
//入力データを読んで出力ファイルへ出力する
while ((inStr = in.readLine()) != null) {
out.println(inStr);
}
isOK = true;
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally{
try {
in.close();
out.close();
}catch (IOException e){
e.printStackTrace();
}
}
return isOK;
}
}
0375デフォルトの名無しさん
2010/12/17(金) 17:29:29boolean b = Convertor.TextFileCopy(inFile, outFile);
0376デフォルトの名無しさん
2010/12/17(金) 17:29:380377デフォルトの名無しさん
2010/12/17(金) 17:31:00最後の}はクラスのか
0378デフォルトの名無しさん
2010/12/17(金) 17:33:040379デフォルトの名無しさん
2010/12/17(金) 17:34:040380デフォルトの名無しさん
2010/12/17(金) 17:38:36実行してみたらコンソールでみたら例外が出ています。
でもfalseは戻りません。どうすればfalseを戻せるか教えて下さい
0381デフォルトの名無しさん
2010/12/17(金) 17:40:27するしかないのでしょうか。
0382デフォルトの名無しさん
2010/12/17(金) 17:41:45public boolean hoge() {
try {
return true;
} catch (Exception e) {
return false;
} finally {
try {
} catch (Exception e) {
}
}
}
0383デフォルトの名無しさん
2010/12/17(金) 17:51:36in.close() out.close() でぬるぽ
ぬるぽキャッチしてないから false 返らず例外が返る
inとoutのnullチェックするべし
0384デフォルトの名無しさん
2010/12/17(金) 18:30:32nullチェックしたらfalseが返るようになりました。
気が付きませんでした。どうもありがとうございました。
0385デフォルトの名無しさん
2010/12/17(金) 19:04:13他にもこういう便利機能はありますか?
どこかに一覧が書いてあるか、どうやって調べればいいですか?
0386デフォルトの名無しさん
2010/12/17(金) 19:26:410387デフォルトの名無しさん
2010/12/17(金) 19:34:24「falseが戻ってこない」は、そうエスパーするのか
なるほど
0388デフォルトの名無しさん
2010/12/17(金) 19:46:430389デフォルトの名無しさん
2010/12/17(金) 19:49:52メニューバー > Window > Preferences > Java > Editor > Templates
0390デフォルトの名無しさん
2010/12/17(金) 19:51:100391デフォルトの名無しさん
2010/12/17(金) 21:42:54Javaコンソールのログに一行ごとに処理時刻表示する方法ありませんか?
0392デフォルトの名無しさん
2010/12/17(金) 22:29:36作っています。でも例外処理が難しいなと感じています。
例えば、複数の部品を作りましたが、チェック例外のものは
try-catchして、非チャック例外のものは、そのまま無チェックし
してる箇所もあります。コンソールで見ながらメインを起動するときは
例外が発生するとコンソールに表示されるので分かるのですが、
SWINGの画面上では、何も無かったかのように静寂です。
いまのままではSWINGアプリをjarで起動したときには例外が発生しても
処理がおかしくなるだけで使う側はどこでエラーが起きたのか判断が
できません。やっぱりSWING画面上にエラーが起きた事を知らせる必要が
あると思うのですが、そういう場合、部品は全て、例外が発生したら、
スローをして、一番上位のSWING画面側で、catchしないといけないのかなと
思っているのですが、こういう例外処理はどういうのが良いのでしょうか。
教えて下さい。
0393デフォルトの名無しさん
2010/12/17(金) 22:38:500394デフォルトの名無しさん
2010/12/17(金) 23:22:18スローしないとコンパイルが通らないですよね。でも部品はコンソール付き
でも使用したいし、SWINGでも使用したいし、その部品のリターンが
特定の値の時は、truefalseを返せないですよね、そうなると、
同じ仕様で、try-catchしたものと、しないものを2つ作らないと、
いけなくなり変だと思うのです。他の方たちは、こういう問題を
どのように切り抜けているのでしょうか。
0395デフォルトの名無しさん
2010/12/18(土) 02:13:22部品は例外中立で作っとけ
エラー時の処遇は部品を呼び出す側に決めさせろ
0396デフォルトの名無しさん
2010/12/18(土) 09:28:430397デフォルトの名無しさん
2010/12/18(土) 11:21:420398デフォルトの名無しさん
2010/12/18(土) 12:44:35ttp://www.oracle.com/technetwork/jp/java/javase/overview/index.html
中国語で表示されてしまいます…。ブラウザを買えても同じ。
皆さんの環境からはどうでしょうか?
上記のページの Downloads タブを開いても↓何もない…
ttp://www.oracle.com/technetwork/jp/java/javase/downloads/index.html
0399デフォルトの名無しさん
2010/12/18(土) 12:50:480400デフォルトの名無しさん
2010/12/18(土) 12:52:060401デフォルトの名無しさん
2010/12/18(土) 19:58:31class A<T>{
private final Map<T, MYTYPE<T>> tbl = new HashMap<T, MYTYPE<T>>();
//略
public T[] get(){ return tbl.toArray(new T[0]);}
}
このget()の定義だとcannot create generic array of Tと怒られるのですが
どうすれば良いのでしょうか
0402デフォルトの名無しさん
2010/12/18(土) 20:24:52Object の配列にしておくか、どこかから Class<T> を手に入れて Array.newInstance するか・・・
一番無難なのは toArray と同じように T[] を外から受け取ることだ
public T[] get(T[] a){ return tbl.keySet().toArray(a); }
これで何の問題もない
0403デフォルトの名無しさん
2010/12/18(土) 20:31:170404デフォルトの名無しさん
2010/12/18(土) 21:24:560405デフォルトの名無しさん
2010/12/18(土) 21:24:570406デフォルトの名無しさん
2010/12/19(日) 04:32:20どうすればコンパイルエラーを防げますでしょうか?よろしくお願いします。
c:\test>javac -d . B.java
c:\test>javac -cp ./bbb A.java
A.java:1: パッケージ bbbは存在しません。
A.java:7: Bにアクセスできません。
クラスファイル .\bbb\B.classは不正です。
クラスファイル bbb.Bに不正なクラスがあります。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
ディレクトリの構成構造
c:\test(カレントディレクトリ)
LA.java
LB.java
Lbbb
LB.class
(A.java)
import bbb.*;
public class A
{ public static void main(String[] args){
B b=new B();
b.methodB(); }
}
(B.java)
package bbb;
public class B
{ public void methodB(){ System.out.println("class B"); }
}
0407デフォルトの名無しさん
2010/12/19(日) 12:55:28dir コマンドを覚えるとか
0408デフォルトの名無しさん
2010/12/19(日) 13:56:050409406
2010/12/19(日) 17:05:34説明が足らずというかわかりにくくて申し訳ありません。
-dオプションでB.classはbbbというディレクトリに移動してあります
c:\testにあるもの
・A.java ・B.java ・bbb
c:\test\bbbにあるもの
・B.class
0410デフォルトの名無しさん
2010/12/19(日) 18:32:460411デフォルトの名無しさん
2010/12/19(日) 18:34:53まずはjavacとかjarコマンドを叩く所からやらせるか、
いきなりEclipse使わせるかどっちが良いかな…
結局はどっちもできないと駄目なんだけどね。
0412デフォルトの名無しさん
2010/12/19(日) 19:22:07サーバ側で1MB程度のテキストファイルがあり、
それを手元のPCで受信して適当に読みたいです。
最も手軽にプログラムできて、高速な方法は何ですか?
できればサーバ側に送信プログラムは置きたくなくて、
クライアント側で処理したいです。
0413デフォルトの名無しさん
2010/12/19(日) 19:26:29Windowsならファイル共有かリモートデスクトップ
Unix系のOSならtelnetやSSHとかでログインして読めばいいと思う
0414412
2010/12/19(日) 19:33:47その発想はなかったです。ありがとうございます。
ファイル共有すればローカルのファイルと同じ扱いになるんですかね。
環境依存が面倒なんで、できればUDPとかで同じ方法で引っ張ってこれたらいいかなぁ
と思ってるので、引き続き案を募集します。
0415412
2010/12/19(日) 19:35:59サーバ側でhttpデーモンとかは動いてないのです。
0416デフォルトの名無しさん
2010/12/19(日) 19:37:05わからない用語はつかわないほうがいいよ。
0417デフォルトの名無しさん
2010/12/19(日) 19:38:37UDPでやりたいならUDPで特定のポートで待ち受けるプログラムをサーバに起動しておき
そこと通信するクライアントのコードを書く
0418デフォルトの名無しさん
2010/12/19(日) 19:40:04処理1
else{
処理2
}
で、処理1で50行、処理2で50行あったとして、そのうち30行のかたまりが
処理1と処理2で同一だったときに、その部分について、
メソッドにしたりしますか?それともそのまま書いたほうがいいですか?
どちらが正しい方法なんでしょうか
0419デフォルトの名無しさん
2010/12/19(日) 19:41:19というのを見たのですけど、nullと""の違いがわかりません。教えて下さい。
0420デフォルトの名無しさん
2010/12/19(日) 19:43:39個人的には、速度が重要でない限り、別メソッドにするのが常に正しいと思う
バグがあったときに、同じコードがある箇所を探して全部修正しないといけなくなるよ
0421デフォルトの名無しさん
2010/12/19(日) 19:44:210422412
2010/12/19(日) 19:48:30>>416
プログラミングはできるけど、ネットワークプログラミングは(やるとしたら)初めてです。
基本的にわかってません。
>>417
サーバ側はhttpはダメですが、sshdは動いてるしポートによっては開いています。
ftpとかscpとかは遅い印象があって、もっと原始的なのでいいよなぁ、と。
UDPもよく分かってないですが、やっぱサーバ側も必要なんですね。
クライアント側でやりたいことはかなり単純で、
for (file in server:/dir) {
open(file)
read(file)
close(file)
}
的なことです。(javaコードにもなってないが・・・)
ファイル共有するのはたしかに的を得ている。
0423デフォルトの名無しさん
2010/12/19(日) 19:49:580424412
2010/12/19(日) 19:51:22>>417
読み違えてました。
たぶん何らかのdeamonは動いています。
それから受信するプログラム書けばOKということですよね。
何が動いてるかチェックすればいいのですか?
0425デフォルトの名無しさん
2010/12/19(日) 19:54:240426デフォルトの名無しさん
2010/12/19(日) 19:57:24サーバでsshdしか動いてないのならscpでしかファイルをとってくる手段は無いよ。
シェルスクリプトでscpを叩いてデータを取得後にデータを処理するのが正解じゃないかな。
それかJavaでscpクライアントかきますか?
0427デフォルトの名無しさん
2010/12/19(日) 20:08:18"aiueo" + boolArg;
とやったとき、34132がちゃんと文字列のアドレスになってたら、
2行目ちゃんとうまく動きますか?
そういうようなコードを見たのですが。
0428427
2010/12/19(日) 20:12:580429412
2010/12/19(日) 20:17:31いろいろありがとうございました。
0430デフォルトの名無しさん
2010/12/20(月) 13:54:070431デフォルトの名無しさん
2010/12/20(月) 14:53:56元々publicなメソッドをオーバーライドする場合とか
インタフェイスのメソッドを実装する場合は
必要
0432デフォルトの名無しさん
2010/12/20(月) 17:42:04連続した範囲を範囲選択したいです
例えばこれで3を選択した状態で下にドラッグすると
1 2 3 4 5
6 7 8 9 10
3 4 5 6 7 8が選択されて欲しいです
こういうのはデフォルトで提供されてる方法で可能ですか?
それとも自分で何かオーバーライドして作らないとダメでしょうか
0433デフォルトの名無しさん
2010/12/20(月) 18:06:120434デフォルトの名無しさん
2010/12/20(月) 18:40:08JTableの選択モデルでは無理ですので自分で実装する必要があるでしょう
それか JList の HORIZONTAL_WRAP オプションを検討してみては
0435デフォルトの名無しさん
2010/12/20(月) 18:41:34InputStream はバイト列 (byte) を読み込むクラス
Reader は文字列 (char) を読み込むクラス
0436デフォルトの名無しさん
2010/12/20(月) 19:04:01JListはよさそうなので調べてみます
0437デフォルトの名無しさん
2010/12/20(月) 19:10:13なるほどども
0438デフォルトの名無しさん
2010/12/20(月) 23:52:44その場合、shortの16ビット以上の値が切り捨てられるような気がしますが、それについて
正式な情報はありますでしょうか?
Javaの公式なドキュメントはどこを見ればいいのでしょうか?
0439デフォルトの名無しさん
2010/12/20(月) 23:56:07仕様書はWebでどっかから落とせた気がする
0440デフォルトの名無しさん
2010/12/21(火) 00:03:13探してみます。
0441デフォルトの名無しさん
2010/12/21(火) 02:28:590442デフォルトの名無しさん
2010/12/21(火) 17:33:59サイトで調べるとjavaのバグとかって書いてあるのですが、いまだに対応されていないのでしょうか?
そもそもjavaのバグ?kannnaのバグ?
0443デフォルトの名無しさん
2010/12/21(火) 17:57:03serializeの解説も頼む
0444デフォルトの名無しさん
2010/12/21(火) 18:12:21変換候補ウィンドウがアプリのウィンドウの外に表示される以外は不自由ないけどな。
それ以外ならそっちの環境がおかしい。
変換候補ウィンドウはJava側が対応してないのが直接的な原因だが、
LinuxでIM関連フレームワークが乱立しまくってるのが解消されないと難しいだろうね。
0445デフォルトの名無しさん
2010/12/21(火) 20:24:13なんとかしようとして追加したはいいが、
結局攻撃が防ぎ切れないことが分かってゴミとなったものとか
(writeUnsharedとか)あるし
ぱっと見、標準ライブラリに含まれるHashSetとかも
readObjectNoDataとかちゃんと書ききれてないので壊すことが可能
0446デフォルトの名無しさん
2010/12/21(火) 22:37:45System.currentTimeMillis() ってUNIX時間というかGMTですよね?
素朴な疑問なんですが、
物理的に異なる地域にあるAというサーバとBというサーバがあるとして
これは必ず同じ時間を表しますか?
電波時計でもないのに時刻がなぜズレないのかわかりません
0447デフォルトの名無しさん
2010/12/21(火) 22:46:370448デフォルトの名無しさん
2010/12/21(火) 22:49:350449デフォルトの名無しさん
2010/12/21(火) 22:53:18まあntp動いてないならズレズレだが。
0450446
2010/12/22(水) 02:19:51System.currentTimeMillis()ってオフラインでも使えるじゃないですか
なのになぜ別々のPCでそれぞれ実行しても同じ時間を示すんですか?
それともOSの設定次第でズレるものですか?
0451デフォルトの名無しさん
2010/12/22(水) 02:45:04それって、家の時計と学校の時計がなぜ合っているかとかいうのと同じ質問?
0452デフォルトの名無しさん
2010/12/22(水) 04:02:15そうじゃなくて、System.currentTimemillis()で取得するUNIX時間は、
ネットで同期しなくても一致するものなの?
(1)一致するとしたらどういう仕組みでそうなるの?
なんで一致するの?
(2)一致しないのだとしたら、その時間はどこを基準で取得しているの?
OSの設定?マザーボードの電池で動いてる時計?
ついでにこの場合、複数のAPサーバでJavaアプリケーションを運用するとして、
DBに保存する更新日時とかをJavaのプログラムで取得するなら、
必ず基準とするサーバに同期して使わないと齟齬が発生するからダメってこと?
0453デフォルトの名無しさん
2010/12/22(水) 06:42:21俺もそれなったけど結局対応できなくて部署ごと死んだ。
0454デフォルトの名無しさん
2010/12/22(水) 06:46:540455デフォルトの名無しさん
2010/12/22(水) 07:09:260456デフォルトの名無しさん
2010/12/22(水) 08:41:18一致しない
システム時間やシステム時刻でググれ
一般的にシステム時刻はOS依存だ
よく覚えておきな
0457デフォルトの名無しさん
2010/12/22(水) 08:49:30ついでに言っておくわ
JAVAだろうがDBだろうがそいつがあるのはサーバなんだからデータの日時も全てサーバのシステム時刻になる
サーバアプリでローカルのデータと同期を取るような処理があってもサーバアプリは
前のデータの時刻をサーバのシステム時刻で判断するからクライアントのシステム時刻を意識する必要はない
0458デフォルトの名無しさん
2010/12/22(水) 11:09:03質問者が理解できるかどうかは怪しいな
0459デフォルトの名無しさん
2010/12/22(水) 11:34:310460458
2010/12/22(水) 15:53:490461デフォルトの名無しさん
2010/12/22(水) 18:28:11普通に考えて別のコンピュータのローカルクロックが見えるわけがないって分からない?
JVMに人知を超えたテレパシーをやり取りする機能がついてない限り、サーバーと端末で時
刻が勝手に同期されたりするわけないし、セキュリティ上の事情でそんな内部データが
リモートコンピュータから見えなくされているくらい分からないか?
0462デフォルトの名無しさん
2010/12/22(水) 19:14:01質問者はプログラミング初めて間もないかわいい女子高生だと仮定して回答すること。
0463デフォルトの名無しさん
2010/12/22(水) 22:20:330464452
2010/12/22(水) 23:09:00「UNIX時間」の計算とはなんか特殊なやり方でPC問わず必ず一致するようなものなのかと
勘ぐってたんだよ
ちなみに>>457の話は常識として知っている
0465デフォルトの名無しさん
2010/12/22(水) 23:45:39>「UNIX時間」の計算とはなんか特殊なやり方でPC問わず必ず一致するようなものなのかと
>勘ぐってたんだよ
普通に考えろよ
0466デフォルトの名無しさん
2010/12/23(木) 00:05:340467デフォルトの名無しさん
2010/12/23(木) 03:15:30プログラム内で判別する何かいい方法はないでしょうか?
OSを問わない一般的な方法があるといいのですが、ないなら
せめてWindows Exprolerからのダブルクリックからの
起動か、それ以外かだけでも判別できればいいのですが・・・。
0468デフォルトの名無しさん
2010/12/23(木) 06:38:14俺はGUI用のmainとCUI用のmainを分けている。
0469デフォルトの名無しさん
2010/12/23(木) 16:19:54JList調べてみたところ
setVisibleRowCountはあるのに
setVisibleColumnCountはないため
希望の動作は実現できませんでした
やはり自力で実装するしか無いみたいですね
0470デフォルトの名無しさん
2010/12/23(木) 19:41:43魔法の世界じゃねえかwww
時間ってどういうものか知ってるのか?って突っ込まざるを得ない
0471デフォルトの名無しさん
2010/12/23(木) 20:24:270472デフォルトの名無しさん
2010/12/23(木) 21:46:20どうやって振り分けてるのでしょうか?
CUI向けとGUI向けにmainだけ変えてjarを作るという意味でしょうか?
0473デフォルトの名無しさん
2010/12/23(木) 21:54:120474デフォルトの名無しさん
2010/12/24(金) 01:28:01▼で月のカレンダーが出るような感じのコントロールって
もしかして自作しないと無いのでしょうか?
0475デフォルトの名無しさん
2010/12/24(金) 08:24:25Javaアプレット?
0476デフォルトの名無しさん
2010/12/24(金) 08:31:57Javaアプレットじゃなく、スタンドアロンのアプリですけど
アプレットかどうかで違うんですか?
.NetだとDateTimePickerみたいなやつです
0477デフォルトの名無しさん
2010/12/24(金) 08:38:23やっぱC#マンセーだな
0478デフォルトの名無しさん
2010/12/24(金) 11:43:16ユーザーにも嫌われるし
0479デフォルトの名無しさん
2010/12/24(金) 14:58:40と保証されているのでしょうか?
というのもよくある producer-consumer の例で次のお約束文がありますが、
while(buf.size() <= 0) {
lock.wait();
}
このwaitで複数スレッドが停まっている状態においてlock.notifyAllすると停まっ
ていたスレッドが一斉に走り出してwhileバリアを抜ける場合もあるのでは?と疑
問に思う次第です。
実際にはキチンと動作するので、複数一斉に実行状態になるのではなく、1本に制
約される仕組みが入っているのだと思うのですが、これは言語規約などで保証され
てる動作なのでしょうか?
0480デフォルトの名無しさん
2010/12/24(金) 15:02:460481デフォルトの名無しさん
2010/12/24(金) 15:08:510483デフォルトの名無しさん
2010/12/24(金) 15:57:120484デフォルトの名無しさん
2010/12/24(金) 16:37:37言語規約がどうなのか気になるのならそれを調べればいいだけじゃないでしょうか
このへんでしょうか
http://java.sun.com/docs/books/jls/third_edition/html/memory.html
> Only one thread at a time may hold a lock on a monitor.
> Any other threads attempting to lock that monitor are blocked until they can obtain a lock on that monitor.
0485479
2010/12/24(金) 17:10:46ポインタありがとうございます。
どうやらwait抜けた後でスレッド間でロックの争奪戦があって、それに勝ち抜いた
スレッドだけが実際に動く=synchronized の中は1スレッドのみ実行状態。になる
ようですね。
したがって、>>479は安全と。
0486デフォルトの名無しさん
2010/12/24(金) 21:46:32自分で実装するとなると、方針としてはどうすれば良いんでしょうか
comboboxにこんな感じのセルレンダラつけてみたもののダメそうでした
public Component getListCellRendererComponent(JList arg0, Object arg1,int arg2, boolean arg3, boolean arg4) {
if(arg3){ setText("hogefuga"); return this; }
else{ setText("mogemoge"); return this; }
}
0487デフォルトの名無しさん
2010/12/24(金) 21:48:36データ一つだとisSelectedなデータと▼をクリックして出てくるデータは
同じ方法でレンダリングされるのでダメだったってことです
0488デフォルトの名無しさん
2010/12/24(金) 22:26:58SwingXにJXDatePickerってのがあったような。
自前で実装したくなければググって好きなの使えば良いんじゃね?
他にも作ってる人居るだろうし。
0489デフォルトの名無しさん
2010/12/24(金) 22:45:09ありがとう、swingxって初めて知りました
準公式ぐらいの位置づけのライブラリっぽいですね
悪羅苦留もっとちゃんと保護してやれよって感じ
とりあえず自分で実装出来そうか
これのソースコードを眺めてみます
0490デフォルトの名無しさん
2010/12/24(金) 22:45:560491デフォルトの名無しさん
2010/12/25(土) 13:45:53Javaで例えば次のようなダイアログを作るとき、
どういうレイアウトを使うのが良いですか?
ttp://download.oracle.com/docs/cd/E16440_01/doc.1013/B53277-01/tux_adp_ex.htm
ttp://www.shinsuke.com/2008/07/17/edit-frame-dialog-box/
一つのフレーム(枠線)内にあるコンポーネントはパネルに入れて
管理したほうが良いんですよね
画面の端っこにパディング的なものを持たせたいときとか
BorderLayout.Centerだと大雑把ですよね
gridbaglayoutとかで細かい幅を管理するのでしょうか
0492デフォルトの名無しさん
2010/12/25(土) 14:00:260493デフォルトの名無しさん
2010/12/25(土) 17:50:180494デフォルトの名無しさん
2010/12/25(土) 19:13:45親クラスの参照をとる方法ってないんでしょうか
closebutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
this.setVisible(false); //これだとActionListenerのthisになる
}});
0495デフォルトの名無しさん
2010/12/25(土) 19:18:06setVisible(false); と書けばよいが
親のクラス名.this.setVisible(false); と書いてもよい
0496デフォルトの名無しさん
2010/12/25(土) 19:38:20クラス名.thisなんて出来るんですね、これはイイ
0497デフォルトの名無しさん
2010/12/25(土) 22:08:03クラス追加するウィザードでmainメソッドを付けなかった場合
何を設定すれば良いのでしょうか
0498デフォルトの名無しさん
2010/12/25(土) 22:09:01特に何も設定はいりません
0499デフォルトの名無しさん
2010/12/25(土) 22:09:340500デフォルトの名無しさん
2010/12/25(土) 22:15:570501デフォルトの名無しさん
2010/12/25(土) 22:41:030502デフォルトの名無しさん
2010/12/26(日) 04:44:460503デフォルトの名無しさん
2010/12/26(日) 17:11:260504デフォルトの名無しさん
2010/12/26(日) 21:41:09UUIDといえば普通version 1でしょう?
何を考えてこうなってるんでしょう?
代わりに別のライブラリを使いましたけど。
0505デフォルトの名無しさん
2010/12/27(月) 00:09:190506デフォルトの名無しさん
2010/12/27(月) 01:02:22縦は固定幅
というレイアウトがしたいのですがうまくいきません
今のところ一番近いのはBoxLayoutにY_AXISを指定するというものですが
これだと横幅が親ボックスの幅になってくれません
何か良い方法ってありますでしょうか?
0507デフォルトの名無しさん
2010/12/27(月) 09:59:040508デフォルトの名無しさん
2010/12/27(月) 14:28:11システム変数 ANT_HOME C:\Program Files\Apache Software Foundation\apache-ant-1.8.1;
システム変数 Path %ANT_HOME%\bin;
コマンドプロンプト上でpathと打てば反映されているようなんですが、分かりません
vistaです
0509デフォルトの名無しさん
2010/12/27(月) 14:42:41ファイル名にスペースが入っている場合は””が必須なんでしたっけ?
0510デフォルトの名無しさん
2010/12/27(月) 15:02:150511デフォルトの名無しさん
2010/12/27(月) 15:46:250512デフォルトの名無しさん
2010/12/27(月) 17:10:39これまで作った奴全部捨てて作り直しだわ
0513デフォルトの名無しさん
2010/12/27(月) 17:24:35C:\Users\admin\Desktop\Javacode\ant>ant
Files\Apache の使い方が誤っています。
って出る
調べた感じだと””が2重になっててうまくいってない云々・・・なのか知らんがよう分からん
0514デフォルトの名無しさん
2010/12/27(月) 17:41:34まああからさまにスペースが理由だわな
0515デフォルトの名無しさん
2010/12/27(月) 17:44:00pathいじるたびに半角スペースの扱いに困る・・・
お騒がせしました
0516デフォルトの名無しさん
2010/12/27(月) 18:01:100517デフォルトの名無しさん
2010/12/27(月) 18:16:130518デフォルトの名無しさん
2010/12/27(月) 20:03:330519デフォルトの名無しさん
2010/12/27(月) 20:07:08むろん、経験・WIN=WIN・実績がものを言うのはわかっているのですが、あえて・・・
と、いうのも、これからSEになるのですが、理工系ではあるものの情報系は疎くこまっていまして
なにか、よい本がございましたら、ご紹介ください
0520デフォルトの名無しさん
2010/12/27(月) 20:10:000521デフォルトの名無しさん
2010/12/27(月) 20:43:34ありがとうございます。
まずは、デザインパターン入門からはいったのですが、なかなか難儀しておりまして
本屋さんにいってみます
0522デフォルトの名無しさん
2010/12/27(月) 20:50:210523521
2010/12/27(月) 20:57:22アダプター、テンプレートなどなど、がんばってみればわかるものの、応用できる気がまったくしないです・・・
0524デフォルトの名無しさん
2010/12/27(月) 21:09:22パターンありきで応用を考えるってのは典型的やっちゃダメなこと
パターンは一つの方法でしかない
0525デフォルトの名無しさん
2010/12/27(月) 21:12:34つ head first Java
>>524
お前デザインパターン知らないだろ
0526デフォルトの名無しさん
2010/12/27(月) 21:13:24デザパタってのはPGの工夫がワンパタ化してきたものに世界共通の名前を付けただけだからな。
応用が先で名前が後だ。
0527デフォルトの名無しさん
2010/12/27(月) 21:16:460529521
2010/12/27(月) 21:21:08面白そうな本ですね
正月休みに読んでみます
>>526
ちょっと背伸びして、抽象的な世界から入ってみようなどとおもったのが誤算だったようです・汗
0530デフォルトの名無しさん
2010/12/27(月) 21:32:21ミジンコ程度の脳味噌じゃ何やっても無理無理(笑)
0532デフォルトの名無しさん
2010/12/27(月) 21:51:50>>519がなぜデザパタ入門から始めたのか激しく気になる
0533デフォルトの名無しさん
2010/12/27(月) 21:57:450536デフォルトの名無しさん
2010/12/27(月) 22:14:430537デフォルトの名無しさん
2010/12/28(火) 00:04:38「プログラミング言語Java」
これの第一章だけでも完全に理解すれば基礎は大丈夫なはず。
0538デフォルトの名無しさん
2010/12/28(火) 01:00:550539デフォルトの名無しさん
2010/12/28(火) 01:07:48ざっと読んでみて「まぁ普通はそうなるわな」という感覚で読めないと身についていないし、使うことすらできない。
「デザパタを勉強してデザパタを使ってプログラムを書こう!」という発想は順番が逆で、
そういう人はデザパタを今あえて勉強するような技術レベルではないことが多い。
0540デフォルトの名無しさん
2010/12/28(火) 01:10:410541デフォルトの名無しさん
2010/12/28(火) 01:13:16「ここはObserverパターンで作ってますんで」
「なるほどね」
それだけで意思疎通できる。
0542デフォルトの名無しさん
2010/12/28(火) 01:17:39オライリー本の洋書買ったわー
俺、オライリー本の洋書買ったわー
Effective Javaくらい読んでおけよー
お前、Effective Javaくらい読んでおけよー
0543デフォルトの名無しさん
2010/12/28(火) 01:47:12かーっ!やっぱりHappy Hacking Keyboardは使いやすいわー
めっちゃ押しやすいわー!(スコスコ)
0544デフォルトの名無しさん
2010/12/28(火) 01:52:160545ミジンコ界の神
2010/12/28(火) 08:12:29文法もそれとなくわかります
ただ、オブジェクト思考やらインスタンスがよく分からないっす
やらしいJAVAは読んだんですがパッとしないです
何か良い本ないですかね
0546デフォルトの名無しさん
2010/12/28(火) 08:15:59あたって砕けろ
最近マニュアル人間が多すぎる
0547デフォルトの名無しさん
2010/12/28(火) 08:23:40ウンコみたいなコードが多すぎる
0548デフォルトの名無しさん
2010/12/28(火) 12:14:210549デフォルトの名無しさん
2010/12/28(火) 12:46:000550デフォルトの名無しさん
2010/12/28(火) 13:32:48なんと…
現状、LinuxデスクトップでSwingアプリケーションは日本語入力できない可能性が強い
を意識しながら構成を考えなければならない、ということですか。
ん〜プラットフォームに依存しないからで作ったが、えらいことになった…
0551デフォルトの名無しさん
2010/12/28(火) 13:34:19配布したり会社で使ったりしないこと
0552デフォルトの名無しさん
2010/12/28(火) 18:35:49自演乙
0553デフォルトの名無しさん
2010/12/28(火) 19:17:19「メモリには、スタックとヒープと静的領域があって、、、」
という絵を書いて説明するといいと思うのだが、
そういうものを自習できる本ってあるのかな。
どんな本があるか全然知らずに言っているんだが。
0554デフォルトの名無しさん
2010/12/28(火) 20:32:110555デフォルトの名無しさん
2010/12/28(火) 20:43:25知らなくていいというわけではない。
0556デフォルトの名無しさん
2010/12/28(火) 20:47:31たまに返ってくる値がマイナスになってしまいます。
考えられる理由としてどういうものがありますか?
よろしくおねがいします。
0557デフォルトの名無しさん
2010/12/28(火) 20:51:540558デフォルトの名無しさん
2010/12/28(火) 20:54:090559デフォルトの名無しさん
2010/12/28(火) 21:06:46メソッドの開始〜終了の経過時間を計算したら負の数になったってことですか?
System.nanoTime()はlongですがオーバーフロー時に値がゼロリセットされたり
することがありますよ。
0560デフォルトの名無しさん
2010/12/28(火) 21:52:44仕様
0561556
2010/12/28(火) 21:57:32値の確認の時だけintにキャストしたものをさらにstringにして確認してます。
Integer.toString((int) System.nanoTime())+" systemNS";
みたいな。
ただしこれは値を確認する時だけです。
それ以外の時は
long hoge;
みたいにグローバル変数として最初に定義したものを、
メインの関数内で
hoge = System.nanoTime();
としてまず値を取得。
それをスレッドのrun()内で
long threadHoge;
while(true){
threadHoge = System.nanoTime()-hoge;
//処理
}
みたいにして使ってます。
これがオーバーフローというやつにつながるんでしょうか…。
0562デフォルトの名無しさん
2010/12/28(火) 22:12:55何度も呼ばれてhogeの中身が再設定されるので、
>>557さんが言われたことに近いのかな。
そのメインの中で取得したhogeの中身を、スレッド内から
Integer.toString((int) System.nanoTime())+" systemNS";
という風にstringにして確認すると中身が-2065724334とかになっちゃう時がある、という話です。
(常にそうなるというわけではない)
って、わかりやすく追記しようとして余計にわかりづらくなってしまったかも知れません。
0563デフォルトの名無しさん
2010/12/28(火) 22:42:492.14...秒以上経過してからthreadHogeが更新される可能性があるにもかかわらず、
intの精度で出力してんなら当然負の値も出てくるわな。
0564デフォルトの名無しさん
2010/12/28(火) 23:30:02なるほど、大変よくわかりました。
String.valueOf(System.nanoTime();
って形でstringにキャストするとマイナスの値が出ることはなくなりました。
ありがとうございます。
0565デフォルトの名無しさん
2010/12/29(水) 00:06:190566デフォルトの名無しさん
2010/12/29(水) 00:07:28ウンコみたいなコードってたとえば?
0567デフォルトの名無しさん
2010/12/29(水) 16:07:00public byte[] readFile(File f) throws IOException {
byte[] data = new byte[(int)f.length()];
new FileInputStream(f).read(data);
return data;
}
ストリーム閉じてない。サイズ不明なファイルの全体をサイズ
チェックしないで全部読み出すので、たとえば4GBのファイルを
読むにはヒープが4GB以上の64bitVMが必要。
それにAPIドキュメントの記載を読んだ限りでは、上のコードでは
ファイル全体を読み出さない可能性がある(実際は全体を読んで
くれるみたいだ)
0568デフォルトの名無しさん
2010/12/29(水) 16:08:36ていうか2GB以上のバイト配列って作れないですね。
0569デフォルトの名無しさん
2010/12/29(水) 16:13:01確かにこれはうんこだな。
性能が低いだけでなく、バグ有りで、コードも芋臭い。
その場で辞表かかせるレベル。
0570デフォルトの名無しさん
2010/12/29(水) 16:57:07ウンコなのはおまえw
0571デフォルトの名無しさん
2010/12/29(水) 18:29:35antです
コードのclientをproject/clientのように指定したい場合どうすればいいですか?
0572デフォルトの名無しさん
2010/12/29(水) 18:30:060573デフォルトの名無しさん
2010/12/29(水) 18:33:23>>567は常に対象のファイルが数GBのサイズであることを想定してコード書いてるの?
バイナリファイル読むときにread(buffer, 0, 4)で実際には3バイト以下しか読み込まれないかもしれないと考えるの?
0574デフォルトの名無しさん
2010/12/29(水) 20:33:280575デフォルトの名無しさん
2010/12/29(水) 21:04:410576デフォルトの名無しさん
2010/12/29(水) 22:55:480577デフォルトの名無しさん
2010/12/29(水) 23:16:21unko.move();
0578デフォルトの名無しさん
2010/12/29(水) 23:33:28でも、コードアシストが表示されません
なぜでしょう?
0579デフォルトの名無しさん
2010/12/29(水) 23:52:210580デフォルトの名無しさん
2010/12/30(木) 00:13:36かな漢字変換が動いちゃうから?
0581578
2010/12/30(木) 00:44:30ibusのご機嫌が悪かったみたいで、うまく動かなかったのかも
0582デフォルトの名無しさん
2010/12/30(木) 03:36:01しかし、画面を最大化するとちゃんと描画されるのですが
repaint()が動かない原因として考えられそうな原因ってありますか
該当部分はこんな感じです
removeAll(); //全部コントロールを削除
add(panel); //panelは新しくコンポーネントを追加したパネル
repaint();
0583デフォルトの名無しさん
2010/12/30(木) 10:24:300584デフォルトの名無しさん
2010/12/30(木) 10:28:28JComponent#repaint(Rectangle) とか使ってもダメ?
0585デフォルトの名無しさん
2010/12/30(木) 11:28:36それを、eclipseでやりたいのですがどうすればいいのですか?
1.ctrl + spaceでコードアシストを表示
2.矢印キーの代わりにtabキーでリストを移動
0586デフォルトの名無しさん
2010/12/30(木) 11:53:330587デフォルトの名無しさん
2010/12/30(木) 12:00:01JComponent#repaint(Rectangle) とか使ってもダメ?
0588デフォルトの名無しさん
2010/12/30(木) 12:14:11「それ」ってなに?
0589デフォルトの名無しさん
2010/12/30(木) 12:15:57そちらは動きませんでした(指定矩形のみグレーになる)
0590デフォルトの名無しさん
2010/12/30(木) 12:48:32多くのLinuxではCtrl+SpaceがIMEのON/OFF切り替えキーになってるのでIME側のショートカットキーを
無効化するのがいい。
0591デフォルトの名無しさん
2010/12/30(木) 16:35:44本でも何でもいいがオススメ頼む
早く働きたいぜ・・・
0592デフォルトの名無しさん
2010/12/30(木) 16:40:540593デフォルトの名無しさん
2010/12/30(木) 16:50:55System.out.println("1:10秒 2:20秒 3:30秒");
Scanner scanner = new Scanner(System.in);
int len = 10*scanner.nextInt();
long start = System.currentTimeMillis();
scanner.nextLine();
scanner.nextLine();
long end = System.currentTimeMillis();
int result = (int)((end - start)/1000);
System.out.print(result + "秒 : " + (result == len ? "あたり!" : "はずれ!"));
scanner.close();
}
}
質問は、これでコンパイルができずに、「NewClass java15';'がありません。
long start = syste.current Timemills();]
⌒
になってしまうことです。「;」は入力されているはずなのに…
どうしたらよいでしょうか
0594デフォルトの名無しさん
2010/12/30(木) 16:58:530595デフォルトの名無しさん
2010/12/30(木) 17:05:13じゃあ自分のjavaがおかしいのか…
まったくコンパイル通らないorz
0596デフォルトの名無しさん
2010/12/30(木) 17:14:03エラーメッセージの
syste.
とか
Timemills
とかは上のソースにはないようだが、ソースにないものが出るはずはない
どちらかが正しく書き写されていない
0597デフォルトの名無しさん
2011/01/01(土) 01:56:40と
MyClass mc = new MyClass();
の違いって何ですか?
0598デフォルトの名無しさん
2011/01/01(土) 02:47:56変数名と変数型と変数の所属
0599デフォルトの名無しさん
2011/01/01(土) 22:34:55例えば晴れの絵文字はバイナリでF89Fですから、次のようにコードを書きました。
FileOutputStream o = new FileOutputStream("test.html");
o.write("<html><meta http-equiv=\"Content-Type\" content=\"text/html;charset=Shift_JIS\" /><body><p>".getBytes("MS932"));
o.write((byte) 0xF8);
o.write((byte) 0x9F);
o.write("</p></body></html>".getBytes("MS932"));
o.close();
ですが、正しく絵文字が表示されません。
なにか勘違いしているでしょうか?
0600デフォルトの名無しさん
2011/01/01(土) 23:27:260601デフォルトの名無しさん
2011/01/01(土) 23:52:06Java の文字列の内部コードって UTF-16 じゃなかったっけ?
0602デフォルトの名無しさん
2011/01/01(土) 23:55:06ファイル自体はShift_JIS表示で
0000 3C68746D 6C3E3C6D 65746120 68747470 <html><meta http
0010 2D657175 69763D22 436F6E74 656E742D -equiv="Content-
0020 54797065 2220636F 6E74656E 743D2274 Type" content="t
0030 6578742F 68746D6C 3B636861 72736574 ext/html;charset
0040 3D536869 66745F4A 49532220 2F3E3C62 =Shift_JIS" /><b
0050 6F64793E 3C703EF8 9F3C2F70 3E3C2F62 ody><p></p></b
0060 6F64793E 3C2F6874 6D6C3E ody></html>
と出力されてました(バイナリエディタで確認)
>>600さんの言うとおり、タグの問題では?
0603デフォルトの名無しさん
2011/01/01(土) 23:57:39getByteで文字コード指定すれば、
通常の文字であればString型の文字列が
UTF-16→指定した文字コード
で変換されます
0604デフォルトの名無しさん
2011/01/02(日) 00:03:28後、勿論ブラウザがその文字コードに対応していないと表示はされません
0605599
2011/01/02(日) 01:24:46headタグは忘れていたのでつけてみましたが変わらず・・・
ttp://mobile.hatena.ne.jp/
などは期待通りに表示されているのでなんらかの原因があるとは思うのですが。
0606599
2011/01/02(日) 01:29:010607デフォルトの名無しさん
2011/01/02(日) 04:48:16かれこれ4時間ぐらいここで躓いてるので、誰か助けて下さい><
Image [] image = new Image[6];
image[0]=Toolkit.getDefaultToolkit().getImage("image/migi_true.gif"));
image[1]=Toolkit.getDefaultToolkit().getImage("migi_false.gif");
image[2]=Toolkit.getDefaultToolkit().getImage("migi_double.gif");
image[3]=Toolkit.getDefaultToolkit().getImage("hidari_true.gif");
image[4]=Toolkit.getDefaultToolkit().getImage("hidari_false.gif");
image[5]=Toolkit.getDefaultToolkit().getImage("hidari_double.gif");
0608デフォルトの名無しさん
2011/01/02(日) 04:51:182行目の("image/migi_true.gif")) は ("migi_true.gif") です。
申し訳ありません。
0609デフォルトの名無しさん
2011/01/02(日) 05:43:440610607
2011/01/02(日) 05:57:28とりあえず、他の部分さえ正しければ、607のようなプログラムで動くんでしょうか?
それが分かるだけでも大分ありがたいのですが…
0611デフォルトの名無しさん
2011/01/02(日) 06:24:35>>607自体は文法的に何の問題も無い。
0612デフォルトの名無しさん
2011/01/02(日) 08:08:09ありがとうございます。
また色々とやってみます。
0613デフォルトの名無しさん
2011/01/02(日) 10:35:14でもこんな書き方のほうがオススメだ。
Toolkit tk = Toolkit.getDefaultToolkit();
Image [] image = {
tk.getImage("image/migi_true.gif"),
tk.getImage("migi_false.gif"),
tk.getImage("migi_double.gif"),
tk.getImage("hidari_true.gif"),
tk.getImage("hidari_false.gif"),
tk.getImage("hidari_double.gif")
};
0614デフォルトの名無しさん
2011/01/03(月) 03:31:570615デフォルトの名無しさん
2011/01/03(月) 07:33:140616デフォルトの名無しさん
2011/01/03(月) 08:46:24どれぐらいの間隔までならダブルクリックとみなすのでしょうか?
検索しても、それらしき記述は見あたりませんでした
0617デフォルトの名無しさん
2011/01/03(月) 11:33:080618デフォルトの名無しさん
2011/01/03(月) 17:59:31継承すればクラスのアノテーションとして取得できる?
void test(){
..@Name(name="Hello")
..Hoge value = new Hoge(){
....void aaa(){}
..};
..
..Class<?> clazz = value.getClass();
..Annotation[] clazz.getAnnotations();
}
0619デフォルトの名無しさん
2011/01/03(月) 18:17:51こうだとしたらキモいな
Hoge hoge = new @Name(name="Hello") Hoge implements IHoge(){
void hello(){}
};
0620デフォルトの名無しさん
2011/01/03(月) 21:07:34下記で「未チェックまたは安全ではありません。」警告を回避することは可能?
※ArrayWrapperはプリミティブ方も扱いたいので、ジェネリクスを付けるのは無しで
class ArrayWrapper {
private Object arr;
private int arrLength;
public ArrayWrapper(Object arr){
this.arr = arr;
arrLength = Array.getLength(arr);
}
public void forEach(VoidFunc func){
for( int i=0; i<arrLength; i++ )
func.exec(Array.get(arr, i));
}
}
interface VoidFunc<T> {
public void exec(T elem);
}
0621デフォルトの名無しさん
2011/01/03(月) 21:38:02どうせarrがObjectなら無意味なんだから
0622デフォルトの名無しさん
2011/01/03(月) 22:41:48ジェネリクスでもオートボクシングされるからプリミティブも扱えるだろ
0623デフォルトの名無しさん
2011/01/03(月) 23:03:43どうすればいいんですか?
0624デフォルトの名無しさん
2011/01/03(月) 23:06:40プルダウンから選択
0625620
2011/01/04(火) 09:15:19interface VoidFunc {
public <T> void exec(T elem, int i);
}
>>621
何とかしてキャストを省略したかったんだ
>>622
やってみたけど警告出たままだった…
0626デフォルトの名無しさん
2011/01/04(火) 18:34:29こんな感じでprintさせて、IDによって設定出来るかどうかを決められるような
Debugクラスを作りたい
ただ、
public static final boolean debug = true;
if(debug){ System.out.println(...);}
こういう感じにするとコンパイル後デバッグコードが消えるらしいので
これと組み合わせたい
こういうことは可能ですか?
0627デフォルトの名無しさん
2011/01/04(火) 19:26:41java.util.logging.Logger じゃ不満?
0628デフォルトの名無しさん
2011/01/04(火) 20:05:180629デフォルトの名無しさん
2011/01/04(火) 20:57:030630デフォルトの名無しさん
2011/01/04(火) 23:48:16Android 開発を行ってますが、Android には関係ないと思うのでここで質問させて頂きたいです。
画像ファイルが複数入っている zip ファイルから、
指定のファイル(ファイル名で指定)のみを取り出して表示させようと思ってます。
FileInputStream fis = new FileInputStream(〜);
ZipInputStream zis = new ZipInputStream(fis);
for (ZipEntry ze = zis.getNextEntry(); ze != null; ze = zis.getNextEntry()) {
// もし指定のファイルなら表示して break
}
これで動作はするのですが、zip ファイルには3万を超えるファイルが入っており、
たまたま後ろの方にあるファイルを指定した場合、非常に時間がかかってしまいました。
そこで、C言語で言う ftell および fseek を使えば、
起動時に ftell でファイル名⇔ファイル位置のハッシュを作っておき(時間がかかりますが起動時に1回だけなので許容範囲としてます)、
表示時は fseek で一発で取り出せるのでは?と考えました。
ただ、ZipInputStream に fseek の代わりになりそうな skip というメソッドは見つかったのですが、
現在のポインタ位置を取得する ftell に当たるメソッドが見つかりません。
RandomAccessFile というクラスも見つけましたが、zip に使う方法が分からず…。
何かいい方法はないでしょうか。
長文で申し訳ありませんが、よろしくお願いします。
0631デフォルトの名無しさん
2011/01/05(水) 00:04:31ZipFileクラスでファイルを開いて、getEntry(String)でファイルを見つけ、
getInputStream(ZipEntry)でファイルを取り出す。
0632デフォルトの名無しさん
2011/01/05(水) 00:29:25おおお、あっさり行けました!!
ありがとうございます!!見つけれなかった自分が恥ずかしいです…精進します!
0633デフォルトの名無しさん
2011/01/05(水) 01:20:48Jarファイル内からclassファイルを探すにしてもFQCNからclassファイルの場所は解るんだからインデックスなんていらないですよね?
META-INF/INDEX.LISTって本当に意味有るんですか?
これに関する性能調査とかの記事とかありますか?
0634デフォルトの名無しさん
2011/01/05(水) 01:43:26class HogeClass implements Runnable {
public static final int N = 50000;
public static boolean[] f = new boolean[50000];
private int p;
public HogeClass(int p){
this.p = p;
}
public void run(){
for(int i=3;i*p<N;i+=2){
f[i*p]=true;
}
}
public static void main(String[] arg){
for(int i=3;i<N;i+=2){
if (f[i]==false){
(new Thread(new HogeClass(i))).start();
}
}
int k=0;
for(int i=3;i<N;i+=2){
if (f[i]==false){
k++;
System.out.print(i+",");
}
}
System.out.println("\n素数="+k+"個");
}
}
スレッドの使い方を勉強してるんですが、素数を求めるプログラムをスレッド使って作ってみたんですけど
私初心者なんでこれで問題のある部分あったら教えていただけないでしょうか
0635デフォルトの名無しさん
2011/01/05(水) 03:11:05INDEX.LISTは複数のjarから構成されたアプリケーションであるclassをロードするときにどのjarから探せばいいかを示すためのもののはず
jarが1個なら意味ない
0636デフォルトの名無しさん
2011/01/05(水) 03:14:00startしたスレッドが結果表示時に完了している保証がない
0637デフォルトの名無しさん
2011/01/05(水) 03:56:03> for(int i=3;i<N;i+=2){
↓
> public static void main(String[] arg){
> for(int i=3;i*i<=N;i+=2){
0638デフォルトの名無しさん
2011/01/05(水) 18:36:30mysqlばかりでsqliteがないのは何か理由があるのでしょうか
JDBCがsqliteに対応してないとか?
0639デフォルトの名無しさん
2011/01/05(水) 18:41:20そりゃSQLの文法の違いとかあるけどさ。
0640デフォルトの名無しさん
2011/01/05(水) 18:52:170641デフォルトの名無しさん
2011/01/05(水) 18:56:14sqlite2以下が切り捨てられてるから?
0642デフォルトの名無しさん
2011/01/05(水) 19:13:350643デフォルトの名無しさん
2011/01/06(木) 19:11:01Strutsで構成したWebシステムで、
ユーザーにテキストファイルをアップロードさせて、
サーバー側の処理で、その内容が
・UTF-8または半角ASCIIのみの文字列→OK
・それ以外の文字コードやバイナリファイル→エラー
というロジックを作りたいです。
byte[]型を自動判別してUnicodeに変換しString型に格納するといった系の処理は出てくるのですが、
あるファイルのバイト配列から、『この文字コードは「」である』といった結果を取得する方法が見つかりません。
何かいい方法はありませぬか?
0644デフォルトの名無しさん
2011/01/06(木) 19:23:02onMalformedInput と onUnmappableCharacter で例外を投げるように設定すればエラーを検出できるんじゃない
0645デフォルトの名無しさん
2011/01/06(木) 20:17:36外部のライブラリがどこにあるのかを指し示すパスなのでしょうか?
IDE以外で開発をしたことがないのですが、特にそのへんを気にしなくても外部ライブラリを使うことができました
これは、IDEが勝手にクラスパスを設定してくれたというで間違えていませんか?
長文スマソ
0646デフォルトの名無しさん
2011/01/06(木) 20:35:29間違えていません
ただしJRE自身と jre/lib/ext にインストールしたライブラリはクラスパスで指定しなくても参照してくれます
0647645
2011/01/06(木) 20:54:50レスありがとうございます
クラスパスを設定した時どのようなメリットがあるのか理解できないので、クラスパスがいまいちわかりません
java jp/google/www/hellow とすれば実行できるのに、
なぜクラスパスを設定する必要があるのですか?
0648デフォルトの名無しさん
2011/01/06(木) 20:59:210649645
2011/01/06(木) 21:02:37結局、IDEを使えばクラスパスは自動で設定してくれるので、
特に気にする必要はないってことでおkなのでか
class pathを使うと*.classに全然関係ないディレクトリにいてもらくらく実行できるってことで間違いないですか?
$pwd → /opt/virtualbox
$java Main →"Hellow world"
ってことかな...
0650デフォルトの名無しさん
2011/01/06(木) 21:03:510651デフォルトの名無しさん
2011/01/06(木) 21:16:26IDEで、このプロジェクトではその外部ライブラリを参照するよ、ってな設定をしたんなら
そこにクラスパスが通った状態で実行してくれる
>class pathを使うと*.classに全然関係ないディレクトリにいてもらくらく実行できるってことで間違いないですか?
おk
PATH と同じよ
0652デフォルトの名無しさん
2011/01/06(木) 22:12:580653デフォルトの名無しさん
2011/01/06(木) 22:17:040654デフォルトの名無しさん
2011/01/06(木) 22:22:18全然プログラム組めるようになってない
cmdで動くjavaファイルしか作れるようになってないし、アプレットの作り方なんて全然分からん
上の二つの参考書読んだくらいのレベルで消化できるアプリ開発とかの本があったら教えて
0655645
2011/01/06(木) 22:48:04クラス jp.co.google.www.hellow.Main.class を実行する時は
cd /home/user/;java jp/co/google/www/hellow/Mainとやらないと
*.classを実行することができない(IDEでやってたので知らなかった..)
でも、それじゃ面倒なので
java jp.co.google.www.hellow.Mainで実行すると、↑と同じことをやってくれるってことですね
jp.co.google.www.hellowって入力するの、ちょっと面倒ですね
これで、クラスパスはOKでしょうか
0656デフォルトの名無しさん
2011/01/06(木) 22:49:19もしかして、javaからプログラミングやり始めた人間?
.netの方がスラスラとプログラムを作っていくことができるよ
0657デフォルトの名無しさん
2011/01/06(木) 23:00:200658デフォルトの名無しさん
2011/01/06(木) 23:05:050659デフォルトの名無しさん
2011/01/06(木) 23:11:48それ、誰に行ってるの?
0660デフォルトの名無しさん
2011/01/06(木) 23:14:38結局何が違うわけですか?
どっちもtomcatは必須ですか
0661デフォルトの名無しさん
2011/01/07(金) 00:15:54そうなのか
じゃあ.Netもやってみるよ
ただwebのサイトを作りたいと思ってるからjavaも勉強した方がいいよね?
アプリケーションでもアプリでもいいから初歩から始められる本があればいいんだけど・・・
しかしjavaの本は皆高いな
図書館にも置いてないし
0662デフォルトの名無しさん
2011/01/07(金) 00:19:04とっくに終わった技術だよ
0663デフォルトの名無しさん
2011/01/07(金) 00:28:13こんな感じのサイト
javaじゃ駄目かな?
0664デフォルトの名無しさん
2011/01/07(金) 00:43:560665デフォルトの名無しさん
2011/01/07(金) 00:54:47書き方。
書き換えが必要なところだけを効率よくかけるようにしたのがjsp
PHPでもHTMLをはき出すのは同じなんだけどな。
tomcatが必須なわけじゃない、サーブレットコンテナとよばれるものがあれば。
ほかにもJettyやらResinとかがある。
0666デフォルトの名無しさん
2011/01/07(金) 02:05:53jspは初回アクセス時にコンパイルされて
servletに変換されてるぞ
workを覗いてみれ
0667デフォルトの名無しさん
2011/01/07(金) 09:50:37この選択は間違ってないのだろうか
0668デフォルトの名無しさん
2011/01/07(金) 10:05:18PHPのほうがハードルが低いのは確かだろうけど
0669デフォルトの名無しさん
2011/01/07(金) 11:27:13とはいえ、それに見合った速度は出るはずだが。
昔はサーブレット動かそうとすると、専用サーバぐらいしか選択肢がなかったが、
GAE/JとかVPSとかで安く出来るようになったから嬉しい限りだ。
0670デフォルトの名無しさん
2011/01/07(金) 13:10:43時代遅れ
webと言えばJavaなのはサーバー側の話。アプレットはクライアント側。
アプレットなんてJREが入ってないと動かないから嫌われるよ
0671デフォルトの名無しさん
2011/01/07(金) 16:18:18FlexのほうがFlashプラグインだけで済むから楽だな。
HTML5で行くっていうてもあるな。iphoneでもできると宣伝できる。
0672デフォルトの名無しさん
2011/01/07(金) 17:00:57マークアップ言語とそれようのスクリプト言語、ブラウザを自作したいぜ
0673デフォルトの名無しさん
2011/01/07(金) 17:11:0302|{
03| // final が付いていないメソッド宣言たくさん、抽象メソッドたくさん
04|}
05|
06|public class Concrete extends ManyMethods
07|{
08| public int get(){} // オーバーライドしたくないメソッド
09|}
このような場合に
Concrete#get() のメソッド名が衝突していると
警告やエラーを発してくれる
キーワードやアノテーションってありますか?
ManyMethods の方はライブラリになってて final を付けたりできず
またオーバーライドされる事を想定したメソッドもあったりして
ManyMethods を変更せずに何とかしたいです
御教授よろしくお願いします
0674デフォルトの名無しさん
2011/01/07(金) 17:58:28間にもうひとつクラスを挟む
public abstract class ManyMethods {
...
}
public abstract class ManyFinalMethods extends ManyMethods {
public final int get() { return super.get(); } // オーバーライドしたくないメソッド
}
public class Concrete extends ManyFinalMethods {
...
}
0675デフォルトの名無しさん
2011/01/07(金) 19:06:230676デフォルトの名無しさん
2011/01/07(金) 19:33:260677デフォルトの名無しさん
2011/01/07(金) 19:45:520678デフォルトの名無しさん
2011/01/07(金) 21:40:31eclipseのメソッド補完中に出てくるコメントとか、しょうがなくhtmlのjavadoc読んで、
その結果遅いわけだろ?
IDEとの連動性とかその他の再利用性を考えるとXML+XSLTとか、いっそjson+html
の方が断然有意義なはずなのに。
0679デフォルトの名無しさん
2011/01/07(金) 22:00:490680デフォルトの名無しさん
2011/01/08(土) 08:42:10異なるメソッドで定義されたインナー・クラス内で非 final 変数 a を参照できません
となるのですがfinalだと参照できるというのがよくわかりません。
どういうことなんでしょうか?
0681デフォルトの名無しさん
2011/01/08(土) 09:02:39その変数の値を内部クラスの中にコピーして保持おけば、そのコピ−の方は参照できるが、代入とかして変更しても当然コピー元は変更されない
非finalな変数をこのように暗黙のうちにコピーして保持すると代入したときにこのような見ため矛盾が生じるのでそのようなことは出来なくした
finalな変数なら代入できないから矛盾は発生しないのでそのようなことを出来るようにした
0682デフォルトの名無しさん
2011/01/08(土) 09:11:13ありがとうございました
0683デフォルトの名無しさん
2011/01/08(土) 17:54:54(1) List<String> getNames();
(2) List<String> getNameList();
メソッド名に返り値の型名まで入れるのは野暮な気がするので、(1)かなぁと思
いつつも、もしString[]を返すメソッドも欲しくなった場合を考えると区別す
るために(2)かなぁとも思うんですが。
(2) List<String> getNameList();
(2') String[] getNameArray();
0684デフォルトの名無しさん
2011/01/08(土) 17:59:30受け側でたまたま配列が欲しいからってクラスの方に追加するのはよくないと思う
List<String>で受け取った後で自分で変換するべき
0685デフォルトの名無しさん
2011/01/08(土) 18:10:32気分で決める
だけど
> もしString[]を返すメソッドも欲しくなった場合を考えると
そんな無駄なことまで考える必要はない
実際にそのメソッドが欲しくなってから考えればいいことだ
0686デフォルトの名無しさん
2011/01/08(土) 18:32:56受け取った側がList<String>からString[]に変換するとコピーが1回ふえること
になりますよね?性能面でのデメリットが有るように思います.
>>685
String[]を返すメソッドが欲しくなってから追加した場合は、
List<String> getNames();
String[] getNameArray();
な感じで統一感が失われてなんか格好良く無い気がします.
つまり野暮だけど,メソッド名に型名を付けるのがベター気がしてきました.
(2) List<String> getNameList();
(2') String[] getNameArray();
そもそもJavaのシグニチャには返り値の型は含まれないので,メソッド名の命
名規則に統一感を出す為にはメソッド名に型名を書くのが良いのではないでしょ
うか?
0687デフォルトの名無しさん
2011/01/08(土) 18:39:37String getName();
は違和感を感じませんが,本当は違和感を感じなければならないメソッドでは
ないかという気がしてきました.よく考えてみるとこれはNameという概念は
Stringであるという設計上の了解が前提にあります.
もし,Nameという型があるならば,
Name getName();
も違和感を感じません.これはきっと正しいです.
そう考えれば今となっては
String getNameString();
は冗長には見えないのではないでしょうか?
つまり,メソッド名には返り値の型名を付けるのが設計上妥当だと言えるので
は?と思うのですがどうでしょうか.
0688デフォルトの名無しさん
2011/01/08(土) 18:51:270689デフォルトの名無しさん
2011/01/08(土) 19:09:40ライブラリだと困るじゃん
0690デフォルトの名無しさん
2011/01/08(土) 19:13:220691デフォルトの名無しさん
2011/01/08(土) 20:38:58String getName();
Name getName();
を混在させたければ、"Name"のところを工夫しろ
0692デフォルトの名無しさん
2011/01/08(土) 20:39:15すいません説明が足りなかったので少し加えさせてください
01|public abstract class ManyMethods
02|{
03| // final が付いていないメソッド宣言たくさん、抽象メソッドたくさん
04|}
05|
06|public class Concrete extends ManyMethods
07|{
08| // ManyMethods の public protected メソッドを組み合わせて使って
09| // 新しい機能を提供するメソッド get() を加えたいんだけど
10| // もしかしたら ManyMethods#get() という名前が 非 final で 宣言されてるかも
11| // オーバーライドしたら挙動が変わってめちゃくちゃ
12| // ManyMethods はメソッド多くて調べるの大変
12| // ライブラリのVerUPで ManyMethods#get() が加えられるかもしれないし
13| // 名前が重複したらチェックできたらいいな
14| public int get(){} // オーバーライドしたくないメソッド
15|}
という意味です
”オーバーライドしていること保障してくれる”アノテーションがあるのなら
逆の”オーバーライドしていないことを保障してくれる”アノテーションも
あるのかなと思って質問しました
正直ライブラリの構造があまり良くないというのもあるのですが;;
命名規約を変えるか、継承ではなく集約で実装したほうがよさそうですね・・
どうもでした
0693デフォルトの名無しさん
2011/01/08(土) 21:15:45名前をtypoってオーバライドしそこなうのは
親クラスを確認しないで継承してオーバライドしてしまうアホよりも
救済する価値が高い
0694デフォルトの名無しさん
2011/01/08(土) 21:30:140695デフォルトの名無しさん
2011/01/08(土) 21:31:29反変と下限境界(? super T)
この2つの組み合わせは別物ですか?
0696デフォルトの名無しさん
2011/01/08(土) 21:39:55ワンポイントで使うためで手抜きをするなら配列で
そこそこちゃんと作るつもりならListにする。
性能面の効率をなんとかかすめ取ることまで考えるなら、
引数にindexを渡して個々の値を所得するメソッドとサイズを返すメソッドを用意する。
配列は言語的にどうあがいても可変なので
フィールドから取り出したり格納するときに防御的コピーしなければならないのが確定
また、言語的に配列はジェネリクスと相性が悪い。
0697デフォルトの名無しさん
2011/01/08(土) 22:13:11継承関係にないクラスが大量にある場合は、あまりメリットがないような気がするのですが
0698デフォルトの名無しさん
2011/01/08(土) 22:15:530699697
2011/01/08(土) 22:29:07そうだったんだ
業務ではvisual studioを使っているんだけど、単体テストツールを使ったことがないんだ
だから、ちょっとjunitを使うとどんなメリットがあるか、わかってないんだわwww
0700デフォルトの名無しさん
2011/01/08(土) 22:34:33まず、自分が作ったクラスや関数のそれぞれについてテストコードを書いとく
特に、内部的に大きな変更を加えたようなケースで、過去のコードが全部期待通りに動くかを
まとめてテスト出来るのは便利
0701697
2011/01/08(土) 22:37:11Test Firstって考え方ですか
うちの会社でERPのカスタマイズしてるんだけど、
単体テストツール使っていなから普通の会社では使っているのかなって疑問があるわ
参考になりました。ありがとうございます
0702デフォルトの名無しさん
2011/01/08(土) 22:37:40だから.NETのアプリってクソばっかなんだな。
0703デフォルトの名無しさん
2011/01/08(土) 22:42:25MSの癖にJavaをサポートしてるのか?
エセJavaについてはシラネー
0704デフォルトの名無しさん
2011/01/08(土) 22:47:130705デフォルトの名無しさん
2011/01/08(土) 22:50:11うちの会社は田舎にある会社だから、社員がダメダメな他人ばっかりなんだよ
C#使っているのに、NUnitの存在すら誰も知らないし
そして、俺なんか未だにVB6/SQL Server200で開発してるしさ
0706デフォルトの名無しさん
2011/01/08(土) 23:00:11既存のプロジェクト+JUnit用の後付けテストコードって方法もあるから
テストファーストとはちょっと違うような。
どっちかっつーと自動テストか
0707デフォルトの名無しさん
2011/01/08(土) 23:40:35vimユーザなのでemacsキーバインドにはしたくないです
0708デフォルトの名無しさん
2011/01/09(日) 05:52:20個別にファイル消したのが悪いのかな
0709デフォルトの名無しさん
2011/01/09(日) 05:55:08その前にやったことが原因かもしれない。
0710デフォルトの名無しさん
2011/01/09(日) 13:55:46たとえばcom.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificatesです。
0711デフォルトの名無しさん
2011/01/09(日) 14:40:450712デフォルトの名無しさん
2011/01/09(日) 14:49:000713デフォルトの名無しさん
2011/01/09(日) 16:33:07プログラムの最初に
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.ImageObserver;
とあったのですが、これらってどういう意味ですか?
普段なら
import java.awt.*;
import java.awt.event.*;
と、これだけなのでこの二つの意味はわかるのですけど・・・
0714デフォルトの名無しさん
2011/01/09(日) 17:05:58* の意味がわかってないとか?
0715デフォルトの名無しさん
2011/01/09(日) 19:01:37それじゃ
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.ImageObserver;
これを
import java.awt.*;
import java.awt.event.*;
と置き換えることはできますか?
0716デフォルトの名無しさん
2011/01/09(日) 19:04:07が java.awt.* でも java.event.* でもないから無理だな
java.awt.image.* も付けないと
0717デフォルトの名無しさん
2011/01/09(日) 20:51:37import java.awt.*;
import java.awt.event.*;
java.awt.image.*
にしたら
class,interface,またはenumがないっていうエラーが出た・・・
0718デフォルトの名無しさん
2011/01/09(日) 21:01:55C#/C++は自由度が高すぎて、いろいろと考えるから疲れる
0719デフォルトの名無しさん
2011/01/09(日) 22:28:43× java.awt.image.*
○ import java.awt.image.*;
たぶん吊りなんだろうなー
0720デフォルトの名無しさん
2011/01/10(月) 00:31:40なんとかエラーが消えました。
ありがとうございます、でも今度はきちんと動作しなくなったけど・・・
0721デフォルトの名無しさん
2011/01/10(月) 03:34:12isを付けると思いますが、これのアクセサメソッド名はget(set)IsFirstになるのでしょうか?
0722デフォルトの名無しさん
2011/01/10(月) 03:37:50setFirst(boolean)か
setFirst()
resetFirst()
のどちらかにすることが多い
0723デフォルトの名無しさん
2011/01/10(月) 03:38:430724デフォルトの名無しさん
2011/01/10(月) 04:11:550725デフォルトの名無しさん
2011/01/10(月) 05:01:41動かしたい
これの通りにinput.jsp output.jsp etcのファイル作ったのに何故か動かない
http://www.atmarkit.co.jp/fjava/rensai3/struts02/struts02_1.html
ひょっとしてstrutsってeclipseとかで自動生成するものなのか?
0726デフォルトの名無しさん
2011/01/10(月) 07:15:22以前のバージョンとメニューが違う項目に移動してたりして使えないんだけど
その辺はメニューかたっぱしから開いて探すしかないの?
0727デフォルトの名無しさん
2011/01/10(月) 07:35:45パースペクティブがJavaになってないとかそんなんじゃね。
>>725
普通はblankプロジェクトから作る
まあ今更Struts1も無いと思うけどな
0728デフォルトの名無しさん
2011/01/10(月) 10:00:32お願いします。
0729デフォルトの名無しさん
2011/01/10(月) 10:02:460730デフォルトの名無しさん
2011/01/10(月) 11:02:23http://web.archive.org/web/20050218022640/http://www.netgene.co.jp/java/documents.html
0731デフォルトの名無しさん
2011/01/10(月) 11:53:20池袋のジュンク堂とか、椅子が置いてあって、JavaVMの本を座って読めるよ。
洋書も豊富にあるし。
0732デフォルトの名無しさん
2011/01/10(月) 11:56:520733デフォルトの名無しさん
2011/01/10(月) 11:58:250734デフォルトの名無しさん
2011/01/10(月) 12:01:58アメリカ辺りでは普通らしい。日本と流通のしくみが違うかららしいが。
0735デフォルトの名無しさん
2011/01/10(月) 12:02:20nunitって糞だろ
0736デフォルトの名無しさん
2011/01/10(月) 12:07:25見てるのはコード中のコメント
0737デフォルトの名無しさん
2011/01/10(月) 13:52:270738デフォルトの名無しさん
2011/01/10(月) 13:54:350739デフォルトの名無しさん
2011/01/10(月) 13:54:390740デフォルトの名無しさん
2011/01/10(月) 14:16:52普段はprivateなフィールドなんかにアクセスする訳なんてありえないと思います
結局、リフレクションは何に使われているんですか?
0741デフォルトの名無しさん
2011/01/10(月) 14:36:460742デフォルトの名無しさん
2011/01/10(月) 14:38:510743デフォルトの名無しさん
2011/01/10(月) 15:14:43プライベートフィールドにアクセスするだけの目的じゃないからな。
XMLに記述されたクラスのインスタンスの生成とか。
jspファイルに記述されたメソッドの
呼び出しとか。
プライベートフィールドをいじったのは、
.Netだけど、DBのコネクションが隠蔽されたがゆえに、
トランザクションを貼ることごできなくて、
それを回避するために使ったこと位かな。
0745デフォルトの名無しさん
2011/01/10(月) 16:43:19前にdao層の切り替え(ベンダごと)に使ったよ。
ベンダごとでsqlなりロジックなり捌き方をかえる必要があったから。
0746デフォルトの名無しさん
2011/01/10(月) 17:36:31beanからbeanとかmapに丸ごとコピーする関数を作る時とか
0747デフォルトの名無しさん
2011/01/10(月) 21:30:14別に池袋、梅田に限った話じゃないんじゃ
0748デフォルトの名無しさん
2011/01/11(火) 22:22:46おいしそうな標準ライブラリありますか。
0749デフォルトの名無しさん
2011/01/11(火) 22:33:440750デフォルトの名無しさん
2011/01/11(火) 23:09:300751デフォルトの名無しさん
2011/01/11(火) 23:37:12jbossやglassfishのようなコンテナは必須なのでしょうか?
例えばswingアプリケーションでhibernateを使いたい場合は
jbossも含めて配布する必要があるのでしょうか。
0752751
2011/01/12(水) 00:14:050753デフォルトの名無しさん
2011/01/12(水) 01:09:260754デフォルトの名無しさん
2011/01/12(水) 18:54:040755デフォルトの名無しさん
2011/01/12(水) 19:31:22簡単な四則演算プログラムを作りたい場合どういった手段を取ればよいのでしょうか。
理想として
入力となるテキストファイルは
1 + 2
出力されるテキストファイルは
3
となるようにしたいのですが・・。
そもそもmapreduceでやろうとしてるのが間違いなんでしょうか・・
どなたかご教示願います。
0756デフォルトの名無しさん
2011/01/12(水) 20:34:080757デフォルトの名無しさん
2011/01/12(水) 20:37:170758デフォルトの名無しさん
2011/01/12(水) 20:56:03とりあえず簡単なコンパイラ製作の本を読んで構文解析
構文解析できたら数式の評価はinterpreterパターンでも使えば簡単
0759デフォルトの名無しさん
2011/01/12(水) 21:03:40クラス1個あたりメソッド5〜10個と仮定すると、メソッド50〜100個ぐらいの規模でしょ。
JUnit使ってテスト書く練習するにはちょうどいい規模じゃね?
0760デフォルトの名無しさん
2011/01/12(水) 21:04:03レスどうもありがとうございます。
interpreterパターンググってみたら希望が見えてきました。ほんとに助かりました!頑張ります
0762デフォルトの名無しさん
2011/01/12(水) 22:30:39orgとかnetとかありますが、自分のパッケージをどうすればいいのか分かりません。
今作っているのは個人製作のアプリです。
0763デフォルトの名無しさん
2011/01/12(水) 22:59:09javaの場合はリポジトリに何を使っているのでしょうか?
0764デフォルトの名無しさん
2011/01/12(水) 23:06:29俺は自分の借りてるレンサバ用サブドメインの逆順を使ってる (jp.ne.xxxx)
ソースフォージとかにプロジェクト登録すれば、あれ使ってもいいんじゃないかと思う (jp.sourceforge.xxxx)
このようなサービスもある→ http://www.java-conf.gr.jp/wg_bof/package/about.html
そんなこと全然関係なしに好き勝手に付ける人もいる
0765デフォルトの名無しさん
2011/01/12(水) 23:08:24普通どっちもsubversion。vssは残念なプロジェクト。
0766デフォルトの名無しさん
2011/01/12(水) 23:10:59CVSでもSubversionでもgitでもmercurialでも好きなものをどうぞ
0767デフォルトの名無しさん
2011/01/12(水) 23:21:26少数開発ならSVNでもいい
0768デフォルトの名無しさん
2011/01/12(水) 23:43:01その残念なvss好きが多くて
とても困ってる。。
0769デフォルトの名無しさん
2011/01/12(水) 23:50:44好きなんじゃなくて老害がそれしか知らないとかそんなんじゃないの。
他を知った上で、あれが好きってのは信じられないわ。
0770デフォルトの名無しさん
2011/01/13(木) 00:31:28svnとかも触ってみてもらったり
説明したりもしたけど、vssに慣れてるから。って
言われるんだ。
まぁ、確かに結構古い人達(20年ランナーもいる)だけどね。
でもBTS使いたいからsvnに慣れてもらうけど。。。
0771デフォルトの名無しさん
2011/01/13(木) 01:35:240772デフォルトの名無しさん
2011/01/13(木) 07:57:110773デフォルトの名無しさん
2011/01/13(木) 10:26:03List<T> f(MYCLASS c){
List<T> result = new ArrayList<T>();
//cを使ってに追加する処理は省略
//nullチェックは省略
result.addAll(f(c.left));
result.addAll(f(c.right));
}
別メソッドを作って
List<T> g(MYCLASS c){
List<T> result = new ArrayList<T>();
return gimpl(c,result);
}
List<T> gimpl(MYCLASS c,List<T> result){
//cを使ってに追加する処理は省略
//nullチェックは省略
result.addAll(f(c.left));
result.addAll(f(c.right));
}
こうするのとでは速度的にはどちらが良いのでしょうか?
0774デフォルトの名無しさん
2011/01/13(木) 10:29:17List<T> gimpl(MYCLASS c,List<T> result){
//cを使ってresultに追加する処理は省略
//nullチェックは省略
result.addAll(gimpl(c.left));
result.addAll(gimpl(c.right));
}
0775デフォルトの名無しさん
2011/01/13(木) 10:37:36正しいのはこうじゃないですか
List<T> g(MYCLASS c){
List<T> result = new ArrayList<T>();
gimpl(c, result);
return result;
}
void gimpl(MYCLASS c, List<T> result){
//cを使ってに追加する処理は省略
//nullチェックは省略
gimpl(c.left, result);
gimpl(c.right, result);
}
0776デフォルトの名無しさん
2011/01/13(木) 10:48:05言いたいことを把握して頂いてありがとうございます。
質問したいことを別の形で言うと、
ArrayListを何度もnewすることのコスト増と
関数引数が増えてしまうことのコスト増では
どちらが大きくなるのかなというところです
0777デフォルトの名無しさん
2011/01/13(木) 10:52:15XP SP3、Firefox 3.6.13って環境で
http://www.dreamvisor.com/
このサイトにアクセスすると、通常表示されるはずの右側にある、銘柄名、現在値、前日比って部分が表示されません。
Javaのコンソールを開くと
java.io.EOFException
at java.util.zip.GZIPInputStream.readUByte(Unknown Source)
at java.util.zip.GZIPInputStream.readUShort(Unknown Source)
at java.util.zip.GZIPInputStream.readHeader(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at java.util.zip.GZIPInputStream.<init>(Unknown Source)
at com.dreamvisor.Chart.ChartData.loadData(Chart.java)
at com.dreamvisor.Chart.Chart.loadData(Chart.java)
at com.dreamvisor.Chart.Chart.run(Chart.java)
at java.lang.Thread.run(Unknown Source)
ってエラーみたいな物があるのですが、これの解決方法を教えてほしいです。
IEだと正常に表示されます。Firefoxをセーフモードで起動して観覧しても表示されませんのでアドオンなどのせいでは無いと思います。
他にはセキュリティソフトのON、OFFなども試しました。
0778デフォルトの名無しさん
2011/01/13(木) 10:55:54一般論でいってArrayListの生成とコンストラクタ呼び出しのコストに比べれば
メソッド引数が1個増えるのにかかる処理時間増加分の方がコスト安いと思うが。
0779デフォルトの名無しさん
2011/01/13(木) 11:05:16>そもそもmapreduceでやろうとしてるのが間違いなんでしょうか・・
そこじゃない。
hadoopってどんなところで使われているかわかってる?
大量のデータを分散して効率よく処理するためのツールで、
あなたの例を利用すると、
1+2+…って感じで、+で区切られた数字が収められた1TByteのテキストを、
10台のマシンで処理しようとするときに、各ノードにデータを分散させて処理させて、
その結果を集めてくるまでをやってくるしくみ。
構文解析とかそういうのは全くhadoopとmapreduceには関係ない。
0780デフォルトの名無しさん
2011/01/13(木) 11:07:31サイトの管理者に問題を報告して解決を依頼してください
0781デフォルトの名無しさん
2011/01/13(木) 11:08:56java.io.EOFException
End Of File例外ってのがでてる。
データ送る側のデータがおかしいんじゃないかな。
素直にIEつかってなさい。
0782デフォルトの名無しさん
2011/01/13(木) 11:28:52>>781
最初Firefoxのスレで質問したんですが
他の人は正常に表示されてるみたいです。
ですので自分の環境がおかしいと思うんでが・・・。
0783デフォルトの名無しさん
2011/01/13(木) 11:31:28Windowsの再インストールから始めろ。
0784デフォルトの名無しさん
2011/01/13(木) 13:24:35ここは開発者のためのスレッドであり板なので
PC初心者板あたりで聞いたほうがいいよ
0785デフォルトの名無しさん
2011/01/13(木) 13:31:10PCサロン板のほうがいい
0786デフォルトの名無しさん
2011/01/13(木) 13:31:420787デフォルトの名無しさん
2011/01/13(木) 16:48:54public boolean equals(Object o)
この両方定義したら後者が使われたんだけど
equalsのジェネリック版ってないのかな?
0788デフォルトの名無しさん
2011/01/13(木) 17:10:11メソッドは名前と引数型が組になってメソッドなので、名前が同じだけじゃ単に名前が同じだけの別々のメソッドだから、
新しく equals(HOGE) を定義しても、それは equals(Object) をオーバーライドしたことにはならないし、
新しく変な (ジェネリック版の?) equals を定義しても、それは equals(Object) をオーバーライドしたことにはならない
equals(Object) をオーバーライドしたいなら、 equals(Object) を使わなければならない
0789デフォルトの名無しさん
2011/01/13(木) 17:22:44ObjectクラスがObject<T>に変わって
public boolean equals(T o)
になる必要があるわけで、これは無理か
compareToとか色々ジェネリック版があるのに
equalsとかは非ジェネリックなままなのね
0790デフォルトの名無しさん
2011/01/13(木) 21:00:29http://yuzuru.2ch.net/test/read.cgi/diet/1290341059/
誤爆?w
0791デフォルトの名無しさん
2011/01/13(木) 21:56:49equalsっ同じ型同士を比較する場合だけじゃないような
継承関係のない型も比較できないと困る
0792789
2011/01/13(木) 22:15:44それなら
public boolean equals(? super T o)
で定義すればいいと思う
0793789
2011/01/13(木) 22:17:410794デフォルトの名無しさん
2011/01/14(金) 13:15:24web-infってフォルダにjspとsrcフォルダがあって、
.jspのファイルが50個くらい、.javaのファイルが50個くらいあります。
自分なりに調べてtomcatいれてindex.jsp開いてみたらプログラムの一部分しか開けていないよう。
.javaのほうも一つコンパイルして.classにしてtomcat通して開いてみたけど違うみたい。
これらはどうやって使える状態にするんですか?全部classにコンパイルすればいいんですか?
0795デフォルトの名無しさん
2011/01/14(金) 14:04:21使えるようになるには、ドキュメントとか場合によってはソースとか全部読んで理解する必要があるんじゃないだろうか?
0796794
2011/01/14(金) 14:29:55これら計100個くらいのプログラムで一つの大きなプログラムじゃないんですか?
上でも書いたように、今どれか一つを開いても形になっていないようなので。
0797デフォルトの名無しさん
2011/01/14(金) 14:32:05>>795を読んでそのレスってことならお前にはそのプログラムを動かす資格がない
出直せ
0798デフォルトの名無しさん
2011/01/14(金) 14:33:200799デフォルトの名無しさん
2011/01/14(金) 14:34:120800デフォルトの名無しさん
2011/01/14(金) 14:40:440801デフォルトの名無しさん
2011/01/14(金) 14:42:48キーボードのPrintScreenキーを押してからワードの貼り付けを実行してください
0802デフォルトの名無しさん
2011/01/14(金) 15:20:14形になってないことが分かっているんだったら、そのままでは絶対使えないよね。
大量にある形になっていないものを調べながら形にしていくよりは
自分なりに調べて一から作り直した方が早いよ。
0803デフォルトの名無しさん
2011/01/14(金) 16:23:39完全に見れない状態で、WEBで作成元のプログラムを表示してくださいとでます
0804デフォルトの名無しさん
2011/01/14(金) 16:54:040805デフォルトの名無しさん
2011/01/14(金) 16:56:17java decompilerとかどう?
0806デフォルトの名無しさん
2011/01/14(金) 17:24:12ありがとうございます。では、
既に作成してwebサーバにアップロードしたjnlpファイルを編集してheap sizeを増やしたりすると、
アプリケーションが起動しなくなるのですが、これは仕様でしょうか?
0807デフォルトの名無しさん
2011/01/14(金) 18:06:21増やすっていうのがどのくらいのことなのかわかりませんが、
例えば32ビットCPUではアドレス空間を4GBまでしか扱えませんので、そこまで増やすことはできません
(その4GBもOSやらなんやらがだいぶ持っていってしまうので、Javaヒープのために使える空間はもっとかなりだいぶ減ります)
もし64ビットCPUと64ビット版のOSを使ってるなら、JavaVMも64ビット版にすればもっと増やせるようになるでしょう
0808デフォルトの名無しさん
2011/01/15(土) 00:35:51何が言いたいのかわからん
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1453760309
0809デフォルトの名無しさん
2011/01/15(土) 00:42:560810デフォルトの名無しさん
2011/01/15(土) 07:03:20EclipseとApacheの実装だとどっち使ったほうがいいのかな?
機能的にはどっちでも良いんだけどね。
0811デフォルトの名無しさん
2011/01/15(土) 09:53:410812デフォルトの名無しさん
2011/01/15(土) 10:37:03データベースへ保存するスレッドが走ってるんですが
これを、負荷の低いときだけ保存する、または負荷の高いときは保存しない
みたいにしたいと思います。
負荷が高いとか、低い、とかの判断方法があったら教えてください。
0813デフォルトの名無しさん
2011/01/15(土) 10:58:030814デフォルトの名無しさん
2011/01/15(土) 14:18:57ものによるに決まってるだろ
0815デフォルトの名無しさん
2011/01/15(土) 15:40:02負荷が高いとか、低い、とかの判断ができるんですか???
0816デフォルトの名無しさん
2011/01/15(土) 16:34:19OperatingSystemMXBean#getSystemLoadAverage()
ただしWindowsだとサポートしてなかったような記憶が……
0817デフォルトの名無しさん
2011/01/15(土) 16:35:310818デフォルトの名無しさん
2011/01/15(土) 20:19:51ああいうのは普通にエディタで1個1個書いてるんですか?
javadocのコメントを書く際に便利なツールとかってありますか?
0819デフォルトの名無しさん
2011/01/15(土) 20:24:420820デフォルトの名無しさん
2011/01/15(土) 20:31:15cvc-complex-type
というエラーが出ていたんですが無駄な改行を消していたらいつの間にか消えました。
あれはなんですか?
0821デフォルトの名無しさん
2011/01/15(土) 23:50:440822デフォルトの名無しさん
2011/01/16(日) 00:02:47どうやったらいいかサパーり見当がつかない。
0823デフォルトの名無しさん
2011/01/16(日) 00:14:41viewに対して検索したいってこと?
0824デフォルトの名無しさん
2011/01/16(日) 00:33:28ResultSet resultSet = statement.executeQuery (sql_1);
ってかんじで帰ってきたresultSetに対して、sql_2を発行するって感じなんだけど。
0825デフォルトの名無しさん
2011/01/16(日) 00:36:250826デフォルトの名無しさん
2011/01/16(日) 00:40:460827デフォルトの名無しさん
2011/01/16(日) 00:41:03プロジェクトのプロパティから.classファイルの出力先をWEB-INF/classesにするということですか?
http://codezine.jp/article/detail/3837?p=2
<ContextRoot>
├ /WEB-INF
│ ├ /classes
│ │ ├ /zero.action
│ │ │ └ ZeroAction.class
0828デフォルトの名無しさん
2011/01/16(日) 01:05:230829デフォルトの名無しさん
2011/01/16(日) 03:23:300830デフォルトの名無しさん
2011/01/16(日) 17:25:44本当にやりたいことは、結果に対するSQL発行?
一回目のクエリ結果をさらに絞り込みたいだけだったりしない?
もしそうなら、google-guavaのPredicate<T>かcommons.collectionsのPredicate
あたりをつかって絞り込むことをおすすめする。
0831デフォルトの名無しさん
2011/01/16(日) 19:00:490832デフォルトの名無しさん
2011/01/16(日) 19:22:490833デフォルトの名無しさん
2011/01/16(日) 19:37:580835デフォルトの名無しさん
2011/01/16(日) 23:40:380836デフォルトの名無しさん
2011/01/16(日) 23:56:310837デフォルトの名無しさん
2011/01/17(月) 14:18:31よければ、ソースを貼っていただけると嬉しいのですが、やり方だけでも教えていただけませんか。
開くのはJCpadです。
よろしくおねがいします。
0838デフォルトの名無しさん
2011/01/17(月) 14:26:01近畿大学って出た
0839デフォルトの名無しさん
2011/01/17(月) 15:07:19Random r = new Random();
for (int i = 0; i < 10; i++) {
sb.insert(r.nextInt(sb.length()+1), "た");
sb.insert(r.nextInt(sb.length()+1), "タ");
sb.insert(r.nextInt(sb.length()+1), "田");
}
System.out.println(sb);
0840デフォルトの名無しさん
2011/01/17(月) 16:14:030841デフォルトの名無しさん
2011/01/17(月) 16:35:280842デフォルトの名無しさん
2011/01/17(月) 18:04:070843デフォルトの名無しさん
2011/01/17(月) 18:06:22一体何のために知りたいのかがわからん。
0844デフォルトの名無しさん
2011/01/17(月) 18:20:17パッケージjava.langのクラスすべて
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/package-summary.html
0845デフォルトの名無しさん
2011/01/17(月) 19:43:50int java.lang.management.OperatingSystemMXBean.getAvailableProcessors()
1.6なんだけど
32環境でコンパイルしたものと
64環境でコンパイルしたものは同一のバイトコードができると思っていいの?
64のマシン持ってないからわからん・・
0846デフォルトの名無しさん
2011/01/17(月) 19:46:15int java.lang.management.OperatingSystemMXBean.getAvailableProcessors()
優先度下げると、いつまでも動かない事例が発生しかねない(ガクブル
ここからしつもん
1.6なんだけど
32環境でコンパイルしたものと
64環境でコンパイルしたものは同一のバイトコードができると思っていいの?
64のマシン持ってないからわからん・・
0847デフォルトの名無しさん
2011/01/17(月) 19:54:510848デフォルトの名無しさん
2011/01/17(月) 19:56:21ループで閾値が書いてあるファイルを見に行って超えてなかったら
保存メソッドを叩く感じが運営的にいいのかもね
0849デフォルトの名無しさん
2011/01/17(月) 20:00:44ゲーム用サーバ買って公開しようとおもってて
稼動させながらコンパイルするのはどうかと思ってたんだ
0850デフォルトの名無しさん
2011/01/17(月) 20:02:21このプログラムに別に作成したプログラム(awt、applet)を組み込むことは可能でしょうか?
0851デフォルトの名無しさん
2011/01/17(月) 20:03:140852デフォルトの名無しさん
2011/01/17(月) 20:06:42シェルとかでTOPの値見て同じことをやることもできる
getAvailableProcessors()で取得できるCPU使用率と、TOPで取得できるCPU使用率は合一じゃない
それか直接javaプロセスからexecするとかも考えられる
0853デフォルトの名無しさん
2011/01/17(月) 20:09:29組み込むというのは同一プロセスで動作させる意かな?
もうすこしだけ具体的に書かないとわけわかめ
0854デフォルトの名無しさん
2011/01/17(月) 20:20:24そういうことです。
ペイント機能をswingで作成し、絵を動かすプログラムをawtで作成しました。それを同一プロセスで動かしたいです。
0855デフォルトの名無しさん
2011/01/17(月) 20:27:37ゲームコントローラの入力を個別に取得できないですかね?
JoypadListener的な物がなぜないんだろうと思う、今日この頃
0856デフォルトの名無しさん
2011/01/17(月) 20:32:000857デフォルトの名無しさん
2011/01/17(月) 20:40:52ぐぐってみたらいけそうなこと書いてありました。
ありがとうございます
0858デフォルトの名無しさん
2011/01/17(月) 22:09:57xml形式のプロパティファイルで、xml:space="preserve"を記述してホワイトスペースを
認識させようとしているのですが、以下のエラーが発生します。
何かうまい対処方法は無いものでしょうか?
InvalidPropertiesFormatException: org.xml.sax.SAXParseException:
Attribute "xml:space" must be declared for element type "entry".
0859デフォルトの名無しさん
2011/01/17(月) 22:56:20SPACE: %#32;
CR:
LF:
TAB:
またはentry要素の下にCDATAセクションって入らなかったっけ?
<properties>
<entry key="hoge"><![CDATA[ほ げ
っ]]></entry>
</properties>
0860デフォルトの名無しさん
2011/01/17(月) 22:58:28「&#文字コード;」の記号を半角で。あとスペースのエスケープは「&#32;」でした「%」が間違っています。
0861デフォルトの名無しさん
2011/01/18(火) 00:22:13開発環境 Windows7 64bit Pro
java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
本番環境 Debian
java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
javaは同じものを入れています。
jarファイルに格納されたSample.java(main含む)のコンストラクタに「Class.forName("org.sqlite.JDBC");」を記述したところ、
Windows/Debian共に「sqlitejdbc-v056.jar」を正常に読み込めていました。
package net.example.demo;にあるDBConnect.java のコンストラクタに同じものを記述すると、Windowsでは成功し、データベースにはアクセスできますが、
全く同じディレクトリ構造、プログラムにもかかわらず、Debianでは失敗してしまいます。
>> java.lang.ClassNotFoundException: org.sqlite.JDBC
java -cp ".:sqlitejdbc-v056.jar" -jar main.jar
のようにしても同じでした。
全く解決のアイデアが浮かばず困っています。解決策 or アイデアいただけませんでしょうか。よろしくお願いします。
0862デフォルトの名無しさん
2011/01/18(火) 00:33:34「-jar」つけて起動すると-cpおよび-classpathパラメータ、それからCLASSPATHが無視
され、-jarの次に指定したjarファイルだけがCLASSPATHに設定された状態でランタイ
ムが起動します。
対策として、main.jar内のマニフェストに依存jarファイルの名前を書いておくか、または
java -cp main.jar:sqlitejdbc-v056.jar Sample
で動くはず。逆にWindowsで動くのが不思議・・・
あとパッケージ名の無いクラスの扱いは微妙。変に動いたり動かなかったりします。
0863デフォルトの名無しさん
2011/01/18(火) 00:35:140864デフォルトの名無しさん
2011/01/18(火) 00:43:32返信ありがとうございます。たとえばアプリのプラグインのようなものを作っていてツリーはこのような感じです
-main.jar
-sqlitejdbc-v056.jar
+plugins
-Sample.jar
Sample.jar
-DBLoader.class
-Sample.class
他の人のDBを扱う物(位置はSample.jar列)はDebianでもWindowsでも正常に読み込めていて、
私が作ったものは何故かWindowsでは動き、Debianでは動かない状況が発生してしまっております。
教えて頂いたコードですが、動かす先がjar固定なので適応できません。すいません。
0865デフォルトの名無しさん
2011/01/18(火) 00:50:23であろうインターフェースや抽象クラスがmain.jarにありますよね?
その条件なら自分でURLClassLoaderを作って起動後に子クラスローダを使ってjarをリンク
する方法があります。詳しくは「階層化クラスローダー」をぐぐる。
0866864
2011/01/18(火) 00:51:35開発環境 Windows 動作成功
テスト環境 Debian4 動作成功
本番環境 Debian5 動作失敗
この手の質問は、Javaの質問なのでしょうか。
Linux関係の設定の質問でしょうか。申し訳ありません。
ちょっと状況が変わったので自己解決目指します。
0867デフォルトの名無しさん
2011/01/18(火) 00:52:59これは使えそうです。知りませんでした、ありがとうございます。
0868864
2011/01/18(火) 01:46:47たとえばプラグイン名が AClass.classとします。
sqlitejdbc-v056.jar
が先に読み込みたいクラスなので、という理屈で
XClass.classにリファクタしました。
動きました。
0869デフォルトの名無しさん
2011/01/18(火) 09:31:39Sun Java6 UPDATE 22, Ant 1.8.0 (debian squeeze amd64) を使っています。
ソースファイルが2つあります。build.xmlは
http://www.atmarkit.co.jp/fjava/rensai2/jakarta02/jakarta02.html
のリスト2を手本にして、パラメータを変更したものです。
ソースを変更していなくても、ant compile すると、必ず全ての .class
ファイルのタイムスタンプが更新されています。ソースに更新があった場合
に、そのソースだけコンパイルされるのではないのでしょうか?
0870デフォルトの名無しさん
2011/01/18(火) 18:39:11Ant によ限らず、Java のソースは、
他のソースに依存している部分があると
依存元を道連れにコンパイルする。
0871デフォルトの名無しさん
2011/01/18(火) 18:39:33その下側にあるコンポーネントにイベントが伝わりません。
手前側のコンポーネントがMouseListenerを持たなければ下側にも伝わります。
このイベントを、手前のも下側のも受け取れるようにするにはどうすればいいですか?
0872デフォルトの名無しさん
2011/01/18(火) 18:40:310873デフォルトの名無しさん
2011/01/18(火) 18:42:17antのjavacタスクは増分ビルドです。でもソースフォルダとclass出力先が同じだったりすると
タイムスタンプが変わったかも。またはクラスAを継承したA'があるとき、Aを変えると
A'も変わるとかはあるかも。あとはeclipseで開発していてantのclasss出力先とeclipseの
class出力先が一緒だったらeclipseがファイル上書き時に勝手にビルドするのでそのせい。
0874869
2011/01/18(火) 19:30:33compileタスクに依存するjarタスクが定義されているんですが、ant jar する
と、必ずcompileタスクも実行されます。ソースを全く触ってなく、ソースの
タイムスタンプが未来になっているようなこともないのですが、ant jar する
たびに .class ファイルも .jar もタイムスタンプが新しくなります。謎です…。
たぶん僕が何かミスをしているんだと思うんですけど、まだ判りませんorz
ちなみに、src/Main.java と src/test.java というファイルがあり、Mainが
testクラスを使っています。javacのdestdirは class/ です。importは多数
ありますが、更新されるようなものではありません。
あと、このソースに関してはIDEは使っていません。(NetBeansが入っているけど
ちょっと使っただけで放置してます…)
そんな感じです。だんだんチラ裏がふさわしい感じになってきた…すみません。
0875デフォルトの名無しさん
2011/01/18(火) 19:36:200876デフォルトの名無しさん
2011/01/18(火) 22:16:17ありがとうございました。
以下のようなCDATAでできました。
<properties>
<entry key="hoge"><![CDATA[ほ げっ]]></entry>
</properties>
" " はホワイトスペースとして削除されだめでした。
0877デフォルトの名無しさん
2011/01/18(火) 22:17:25cellx.status = 1;
cellx.setBackground( XXXXXXXXXXXXXXX ); // 青緑色 RGB[85.136.136]
} else {
cellx.status = 0;
cellx.setBackground( XXXXXXXXXXXXXXX ); // 水色 RGB[185.236.236]
XXXXXXXXXの部分にコメントアウトで示している色を入れたいんですがどうすればいいのでしょうか?
0878デフォルトの名無しさん
2011/01/18(火) 22:17:26"&#32;" はホワイトスペースとして削除されだめでした。
0879デフォルトの名無しさん
2011/01/18(火) 22:19:180880デフォルトの名無しさん
2011/01/18(火) 22:22:24http://www.ie.reitaku-u.ac.jp/~tak/sinfB/sinfB05.txt
このURLの
//+++++++++++++++++++++++++++++++++++
// クリックしたときの動作 |
//+++++++++++++++++++++++++++++++++++
class Clickcell implements ActionListener{
public void actionPerformed( ActionEvent evt ){ // イベントリスナー
//... イベントソースのセルを取得
Cell cellx = (Cell)evt.getSource();
//... 消滅しているならば
if( cellx.status == 0 ){
cellx.status = 1; // 生成する
cellx.setBackground( XXXXXXXXXXXXXXX ); // 青緑色にする
//... 生成しているならば
} else {
cellx.status = 0; // 消滅する
cellx.setBackground( XXXXXXXXXXXXXXX ); // 水色にする
}
}
}
の部分です
0881デフォルトの名無しさん
2011/01/18(火) 22:27:42Color.redとかでも
0882デフォルトの名無しさん
2011/01/18(火) 22:29:36cellx.setBackground(new Color(85, 136, 136));
0883デフォルトの名無しさん
2011/01/18(火) 22:34:42>>882
いけました。ありがとうございます
0884デフォルトの名無しさん
2011/01/18(火) 23:01:42ランダム過ぎて使い道が分かりません
ゲームくらい?
0885デフォルトの名無しさん
2011/01/18(火) 23:10:08guarded suspensionパターンとかで。
0886デフォルトの名無しさん
2011/01/18(火) 23:16:07これの
>public void actionPerformed(ActionEvent event){
このメソッドの実装内容はinstanceofを並べるアンチパターンと同様に
抽象化されたComponentというものを破って実装クラスを見てますよね?
getSource() == any.class
みたいな形にしたらなんか違うんですか?
0887デフォルトの名無しさん
2011/01/18(火) 23:30:55さっきのプログラムをJpanelにコンポーネントとして追加することは可能なのでしょうか?
可能ならどうすればよいですか?
http://www.ie.reitaku-u.ac.jp/~tak/sinfB/sinfB05.txt
0888デフォルトの名無しさん
2011/01/18(火) 23:48:35複数の別処理をするスレッドの場合はどうしたら良いでしょうか?
0889デフォルトの名無しさん
2011/01/19(水) 00:25:30addButtonもclearButtonもどっちもJButtonだからクラスじゃ判別できんだろう
0890デフォルトの名無しさん
2011/01/19(水) 00:41:35原因がわかりません。ヒントでも良いので何か頂けないでしょうか。
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt
at javax.swing.table.DefaultTableModel.getValueAt
at javax.swing.table.JTable.getValueAt
・
・
・
・
0891デフォルトの名無しさん
2011/01/19(水) 01:52:49Eclipseのpackage Explorerビューの設定がおかしくなってしまいました。
Eclpse起動時に、Project以下のツリーが表示されていたのですが
ある日を境に、パッケージの奥深くのフォルダが1つ表示されるだけになってしまいました。
フォルダ移動してプロジェクトのルートに移動しても、
Eclipse再起動すると必ず奥深くのパッケージに戻ってしまいます…
設定を元に戻す方法を教えてください。
0892デフォルトの名無しさん
2011/01/19(水) 09:52:110893デフォルトの名無しさん
2011/01/19(水) 10:08:390894デフォルトの名無しさん
2011/01/19(水) 10:12:01新しいワークスペースに切り替えてそっちにプロジェクト全部引っ越すといいんじゃない
0895デフォルトの名無しさん
2011/01/19(水) 10:55:45もっと簡単に言えば、jnlpファイルを編集するとアプリケーションが起動しなくなるのですが、これは仕様でしょうか?
0896デフォルトの名無しさん
2011/01/19(水) 11:43:57編集してメチャクチャな内容にしてしまったら起動しないだろう、それは仕様だと思うよ
0897デフォルトの名無しさん
2011/01/19(水) 12:17:22wait/notify(notifyAll) は数少ない資源の獲得合戦に使うようなものだから、
各スレッドが違う資源を使うのなら、そう作れば良い。
0898デフォルトの名無しさん
2011/01/19(水) 12:30:38どんなプログラムを実行して
どんな表示になって
どんな操作をしたら
そうなったのか。
0899デフォルトの名無しさん
2011/01/19(水) 13:49:27内容が悪い訳ではありません。
新しく書き換えたjnlpファイルから新規インストールすると、普通に動くのですが、
そのjnlpを書き換える前から参照していたクライアントでは例外エラーが出て動かなくなるのです。
これは仕様なのでしょうか?という話です。
0900デフォルトの名無しさん
2011/01/19(水) 15:30:15http://developer.android.com/reference/java/util/concurrent/locks/Condition.html
事故解決した、これを使うと解決するらしい
0901デフォルトの名無しさん
2011/01/19(水) 19:23:03質問文書いてある間に自己解決しました
0902よくあること
2011/01/19(水) 20:26:16('A`) メガネメガネ
ノ ノ)_
0903デフォルトの名無しさん
2011/01/19(水) 22:16:10JDBC を使用して、ant + DBUnit でOracleへのデータへ追加や削除などをしようと考えています。
現在、ant + DBUnit(Flat XML) を使用して、Import処理(operation INSERT)までできています。
antにおいて、SQLでのUPDATEやDELETE処理などができることは確認しているのですが、
ant + DBUnit にて operation UPDATE や operation DELETE をXMLを使用して行いたいのですが、
XMLファイルに記載する内容がどこまで必要なのかがわかりません。
たとえば、VARCHAR2型のカラムA01〜A10の10個を持つTable-A が存在し、A01,A02,A03がプライマリキーとします。
UPDATEの場合、A01="A001" A02="A002" に一致するデータの A04の値を更新したい場合、XMLへどのように記載すればいいのかわかりません。
DELETEの場合、A01="A001" A02="A002" に一致するデータを削除したい場合、XMLへどのように記載すればいいのかわかりません。
いろいろなサイトを見てみたのですが、UPDATEやDELETEの場合、Antの記述の仕方が書かれたHPはいくつも見るのですが、
実際に指定されたXMLの内容が載っているHPが見つかりません。
またUPDATEやDELETEに関しては、JavaのソースからDBUnitを呼び出して処理を行うサンプルに関しても、いくつもHPがあるのですが、
Antに関する記述がありません。(できれば、都合によりJavaでの開発はしたくないので。)
ant + DBUnit にて operation UPDATE や operation DELETE を行う場合の、XMLの記述の仕方を教えていただけますか。
もしくは、参考になるHPがあるのであれば、教えてください。
よろしくお願いいたします。
0904デフォルトの名無しさん
2011/01/19(水) 22:35:35ソースを見ても意味ないのでソースを見ないように設定したいのでが、設定方法を教えてください
0905デフォルトの名無しさん
2011/01/20(木) 13:28:31セキュア面で気をつけないといけないところを教えて下しあ
クライアント:ほにゃほにゃ
サーバー:むにゃむにゃ
0906デフォルトの名無しさん
2011/01/20(木) 14:04:00とりあえずloginとlogoutの処理を書いてみて試したところ
loginはできるのですがlogoutしようとすると
Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:149)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:202)
at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:164)
というエラーになります。
SSLがよくわかっていないので試行錯誤中なのですが
login時に確立したSSLセッションを保持しておいてlogout時にも使用すればいいのかなと考えたのですが
DefaultHttpClient?からSSLSessionを取得する方法がよくわかりません。
SSLのセッションを取得するにはどうしたらいいのでしょうか?
0907デフォルトの名無しさん
2011/01/20(木) 14:11:38ttp://journal.mycom.co.jp/column/java/056/index.html
0908デフォルトの名無しさん
2011/01/20(木) 14:59:58ありがとうございます。
logout時にハンドシェイクに失敗していること、証明書パス検証に失敗してることまでは
デバッグ情報からわかったのですがそれが何を意味してるのよくわかってないので
そこらへんから勉強し直さないとやっぱ駄目ですね。
0909デフォルトの名無しさん
2011/01/20(木) 18:41:030910デフォルトの名無しさん
2011/01/20(木) 20:23:42ローカルのホームフォルダにファイルをつくろうとするとなぜかデスクトップにファイルが作られることがある
0911デフォルトの名無しさん
2011/01/20(木) 23:19:27って本は役に立ちますか?
0912デフォルトの名無しさん
2011/01/20(木) 23:23:02あなたの役に立つかはわかりません
0913デフォルトの名無しさん
2011/01/20(木) 23:31:39俺に聞いた方がいい
0914デフォルトの名無しさん
2011/01/20(木) 23:33:470915デフォルトの名無しさん
2011/01/20(木) 23:36:03今のところローカルマシンのファイルをいじいじする予定は無いので
ひとまず安心
ちょっとかいつまんで
コンカレントとシンクロの意味の違いさえわかれば、JAVA関連の書籍は買う必要ないと思ってる
0916デフォルトの名無しさん
2011/01/21(金) 20:02:59同じ内容のメソッドをコピペする事が増えませんか?
そもそもinterfaceで定義されたメソッドが実装クラス毎に逐一異なるかというと
全く同じものになってしまうことも多いと思うのですが
そういう場合どうやってコードを共通化していますか?
0917デフォルトの名無しさん
2011/01/21(金) 20:04:170918デフォルトの名無しさん
2011/01/21(金) 20:10:050919デフォルトの名無しさん
2011/01/21(金) 20:18:46みなさんお勧めのを教えて下さい。
0920デフォルトの名無しさん
2011/01/21(金) 20:22:36「ものを作ってる」んじゃなくて「ものを作るのが便利になるためのものを作ってる」だけで
「ものは作ってない」んだなとなんだか悲しい気持ちになる
これが不必要な抽象化というやつか
0921デフォルトの名無しさん
2011/01/21(金) 20:28:34SUN(Oracle)の Java コンパイラ
0922デフォルトの名無しさん
2011/01/21(金) 20:30:02ユニークな要素一覧を取り出したり、ある要素の重複回数を調べたりする
ListUtilityクラスみたいなのをつくろうかと思ったんですが
標準のもの、あるいはネット上のコードで同じ様な事が出来るものってありますか?
0923デフォルトの名無しさん
2011/01/21(金) 20:32:54前者はSetにaddallしてsize
後者はHashMapに<要素、回数>をaddする等
0924デフォルトの名無しさん
2011/01/21(金) 20:40:09ありがとうございます。
一通りソフトは使ってみる事にしますね。
それから自分なりに使いやすいのを選んでいこうと思います。
0926デフォルトの名無しさん
2011/01/21(金) 20:44:16マニュアルにはなんて書いてあることを予想しているんだろうか?
0927デフォルトの名無しさん
2011/01/21(金) 20:46:070928デフォルトの名無しさん
2011/01/21(金) 20:49:28FXScriptは消えてスクリプト廃止版は未リリースじゃなかったっけ
0929デフォルトの名無しさん
2011/01/21(金) 20:56:06Silverlightは金でごり押ししてるけどやっぱり流行らんw
0930デフォルトの名無しさん
2011/01/21(金) 21:00:11一度世に出したjavafx scriptをあっさり廃止
実質未リリースの上に信用も完全に失った
0931デフォルトの名無しさん
2011/01/21(金) 21:05:09残念ながらFlexは思ったより使われてる。イントラ中心だけどな。
JavaFXのほうが流行ると思ったんだが、WebStartとかわらんかったなぁ。
Silverlightは聞いたことない。
Javaの仕事ばかりやってるからだろうけど。
0932デフォルトの名無しさん
2011/01/21(金) 21:10:180933デフォルトの名無しさん
2011/01/21(金) 21:10:40だとしたら可哀想だけど今すぐやめろとしか言えないw
0934デフォルトの名無しさん
2011/01/21(金) 21:12:160935デフォルトの名無しさん
2011/01/21(金) 21:25:09あれってServletからjsonとかXML吐いたりして
連携できるんだろうか?
ASP.NETは期待してたが正直がっかりだったからサーバーはJava、端末.NET
っていう組み合わせがイイんじゃないかと思ってる。
0936デフォルトの名無しさん
2011/01/21(金) 21:30:45情報少なすぎだよー
>>933
そうです><
0937デフォルトの名無しさん
2011/01/21(金) 21:34:39別個に書くしかありませんか?
0938デフォルトの名無しさん
2011/01/21(金) 22:51:14CreateFile(Win32API)のdwFlagsAndAttributes等の引数に何を指定しているか調べてます。
以下URLのソース中のFileOutputStream.javaにJNIメソッドの
private native void openとかprivate native void openAppendはありますが、
その中の実装が見つかりません。
公開されているのか、どこにあるのかご存知の方お願いします。
JDK 6 ソースコード
http://www.java.net/download/jdk6/6u23/promoted/b05/jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar
0939デフォルトの名無しさん
2011/01/21(金) 23:15:160940デフォルトの名無しさん
2011/01/21(金) 23:43:41JNI経由でVMにあるファイル操作系メソッド呼んでなかったっけか?
0941デフォルトの名無しさん
2011/01/21(金) 23:52:38そうです。private native void openがJNIの宣言です。
探しているのはその先の実装コードです。
FileInputStreamの場合は、上記ソースの中にFileInputStream.cがあるのに、
FileOutputStream.cは無いんですよね。
0942デフォルトの名無しさん
2011/01/22(土) 02:00:45Javaのアップデートを催促するお知らせがよく画面に出るので困っています。
画面に出なくする方法を検索して調べたら、WINDOWS 7の場合、コントロール
パネルからJavaのアイコンをダブルクリックしてタブが表示される画面から
設定をするように出ていましたが、ダブルクリックしてもタブのある画面が開
きません。どうしたら良いでしょうか?アンインストールしても平気ですか?
アップデートすると変に変わってしまいそうで不安で…
アイコンにはJava(TM)6 Update21とあります。最新版はUpdate23のようです。
0943デフォルトの名無しさん
2011/01/22(土) 02:50:13仮想マシンに32ビットも64ビットもない
0944デフォルトの名無しさん
2011/01/22(土) 03:09:56物自体はできたのですが、効率の良いPGなのかわかりません。
具体的には以下を悩んでいます。他指摘事項があれば指摘お願いします。
1.BufferedInputStream、BufferedOutputStream、GZIPOutputStream
のバッファサイズはどれぐらいがよいのか?
2.out側を Buff→GZIP→Buffと3重にする必要があるのか?
3.read/writeで使用するbyte[]のサイズはどのくらいがよいのか?
public class Hoge extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException {
File dlFile = new File(request.getParameter("path"));
if(!dlFile.exists()){
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
FileInputStream in = new FileInputStream(dlFile);
BufferedInputStream bufIn = new BufferedInputStream(in,1024);
ServletOutputStream out = response.getOutputStream();
BufferedOutputStream bufOut = new BufferedOutputStream(out,1024);
GZIPOutputStream gzipBufOut = new GZIPOutputStream(bufOut,1024);
BufferedOutputStream bufGzipBufOut = new BufferedOutputStream(gzipBufOut,1024);
byte buf[] = new byte[1024];
int len;
while ((len = bufIn.read(buf)) != -1) {
bufGzipBufOut.write(buf, 0, len);
}
bufGzipBufOut.close();
}
}
0945デフォルトの名無しさん
2011/01/22(土) 04:03:43byte[]で(キロバイト以上の単位で)読み書きするときには要らない
そのぶんbyte[]のサイズを増やす方がよい
0946デフォルトの名無しさん
2011/01/22(土) 04:15:41> 2.out側を Buff→GZIP→Buffと3重にする必要があるのか?
無い。逆にすこしオーバーヘッドが付く。
(1) GZIPOutputStream->BufferedOutputStream
(2) BufferedOutputStream->GZIPOutputStream->BufferedOutputStream
(3) BufferedOutputStream->GZIPOutputStream
(1)でいい。
(2)は(1)よりもすこし遅くなる。
(3)はフィルタの順番が逆。
他には以下のURLが参考になるかもしれない。
http://journal.mycom.co.jp/articles/2010/08/10/fast-file-copy-in-java/index.html
0947デフォルトの名無しさん
2011/01/22(土) 10:07:13そう、VMにあるってのはその先の話。
VM起動時にもファイル読み込み必要でしょ。
0948デフォルトの名無しさん
2011/01/22(土) 10:20:51GZipOutputStreamは親クラスのDeflateOutputStreamがバッファリングしとるから
bufOutはなくていい。バッファの容量大きくしたければコンストラクタで指定できるし。
>>945が言うように、byte[] bufの容量が十分ならbufGzipBufOutとbufInも必要ない。
0949デフォルトの名無しさん
2011/01/22(土) 10:41:43あ、>>940や>>947で言ってるVMにあるってのは、
ライブラリのバイトコード側<-JNI->ライブラリのネイティブコード側<->VM側
っちゅー分け方したときのVM側にあったような気がするって意味です。
0950デフォルトの名無しさん
2011/01/22(土) 13:38:11jlong
winFileHandleOpen(JNIEnv *env, jstring path, int flags)
{
const DWORD access =
(flags & O_RDWR) ? (GENERIC_WRITE | GENERIC_READ) :
(flags & O_WRONLY) ? GENERIC_WRITE :
GENERIC_READ;
const DWORD sharing =
FILE_SHARE_READ | FILE_SHARE_WRITE;
const DWORD disposition =
/* Note: O_TRUNC overrides O_CREAT */
(flags & O_TRUNC) ? CREATE_ALWAYS :
(flags & O_CREAT) ? OPEN_ALWAYS :
OPEN_EXISTING;
const DWORD maybeWriteThrough =
(flags & (O_SYNC | O_DSYNC)) ?
FILE_FLAG_WRITE_THROUGH :
FILE_ATTRIBUTE_NORMAL;
const DWORD maybeDeleteOnClose =
(flags & O_TEMPORARY) ?
FILE_FLAG_DELETE_ON_CLOSE :
FILE_ATTRIBUTE_NORMAL;
const DWORD flagsAndAttributes = maybeWriteThrough | maybeDeleteOnClose;
HANDLE h = NULL;
つづく
0951デフォルトの名無しさん
2011/01/22(土) 13:39:31WCHAR *pathbuf = pathToNTPath(env, path, JNI_TRUE);
if (pathbuf == NULL) {
/* Exception already pending */
return -1;
}
h = CreateFileW(
pathbuf, /* Wide char path name */
access, /* Read and/or write permission */
sharing, /* File sharing flags */
NULL, /* Security attributes */
disposition, /* creation disposition */
flagsAndAttributes, /* flags and attributes */
NULL);
free(pathbuf);
0952デフォルトの名無しさん
2011/01/22(土) 13:40:12WITH_PLATFORM_STRING(env, path, _ps) {
h = CreateFile(_ps, access, sharing, NULL, disposition,
flagsAndAttributes, NULL);
} END_PLATFORM_STRING(env, _ps);
}
if (h == INVALID_HANDLE_VALUE) {
int error = GetLastError();
if (error == ERROR_TOO_MANY_OPEN_FILES) {
JNU_ThrowByName(env, JNU_JAVAIOPKG "IOException",
"Too many open files");
return -1;
}
throwFileNotFoundException(env, path);
return -1;
}
return (jlong) h;
}
0953デフォルトの名無しさん
2011/01/22(土) 17:09:39バッファサイズ1024は小さすぎると思う。
【ファイル入力バッファ】
昔バッファサイズを変えてまったく同じファイルを繰り返しコピーする
プログラムを作って、処理時間をグラフにしてみたことがあるんだが、
そのときはバッファサイズが小さいと極端に遅くなり、大きすぎても
それほど効果が無いという結果だった。4096〜8192くらいが理想っ
ぽかった。(ただ再起動してないのでファイルキャッシュが効いている状態のテスト)
【Servlet出力バッファ】
Servletの場合出力先はTCP/IPソケットなので、ファイルI/Oとは
ちょっと違うはず。ちゃんと調べたことは無いが、俺は64KB(65536)
位のデカいバッファを使ってる。
TomcatのHTTPコネクタを使って大きなファイルをダウンロードす
るときの通信をwiresharkでキャプチャしてみた経験では、バッファ
が小さいと無駄に小さいTCPデータパケットが頻繁に出て行く現象
が見えたため。
以上から、(間違ってるかもしれないが)俺のお勧めはこんなかんじ
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(xxxxx);
byte[] iobuf = new byte[8192];
out = response.getOutputStream();
out = new GZipOutputStream(out, 65536);
int len;
while ( (len = in.read(iobuf)) != -1 ) {
out.write(iobuf, 0, len);
}
out.flush();
}finally {・・・ストリームclose();}
0954デフォルトの名無しさん
2011/01/22(土) 17:28:18Windowsの仮想ページサイズは4096Byteなので読みこみではそのサイズを使い
ネットワーク通信はMSS依存の値
例えば一般的なイーサネット(1500)-IPとTCPのヘッダ(20+20)=1460にして
RWINを65536/MSS*MSSに設定すればいいんじゃなかろうか
GZipOutputStream(out, RWIN)
0955デフォルトの名無しさん
2011/01/22(土) 17:52:25HttpServletRequestを使用せずに取得する方法は無いでしょうか?
何がしたいかというと、HttpServlet#initで別スレッドを立ち上げて
そこでコンテキストパスを取得して使用したいのです
どなたかよろしくお願いします。
0956デフォルトの名無しさん
2011/01/22(土) 18:57:34うーん、いまいちネイティブコード側とVM側の違いがピンと来てません。
>>950
ありがとうございます。
io_util_md.c にありました。おかげ様で無事見つかりました。
0957デフォルトの名無しさん
2011/01/22(土) 19:28:07ServletConfigのgetServletContext()。
ひょっとするとJ2EEの古いバージョンには無かったかも。
0958デフォルトの名無しさん
2011/01/22(土) 21:06:590959デフォルトの名無しさん
2011/01/22(土) 21:07:57"あいうえお"は正常に出力されます。
ソースコードは全てUTF-8で統一しています。
どのような可能性が考えられますか?
sourceにはShift_JISで半角数字・英字とマルチバイト文字まで含んだものが入ります。
ByteArrayOutputStream source = new ByteArrayOutputStream();
//urlからsourceをセット
String result = "";
try {
result = source.toString("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(result);
System.out.println("あいうえお");
0960959
2011/01/22(土) 21:16:19result = source.toString("UTF-8");
これsourceの文字コードを指定するんですね
result = source.toString("Shift_JIS");
でうまくいきました
0961デフォルトの名無しさん
2011/01/23(日) 00:10:49(p)http://pc12.2ch.net/test/read.cgi/tech/1267796762/
の>>827で課題をお願いしたのですが、やっていただけるか分からないので自分でももう一度挑戦しようと思います
この課題をやるにはどのサイトで勉強するのが効果的でしょうか
0962デフォルトの名無しさん
2011/01/23(日) 00:13:59学校で使っている教科書
0963デフォルトの名無しさん
2011/01/23(日) 00:20:33「applet 画像の表示」とかでぐぐればいんじゃね。
まあランダムとか選択肢とかは置いといて、「画像1→正解!→画像2→正解!→画像2→正解!→・・」と表示する画像ビューワを先に作って、
最悪それを提出すれば点は貰えるんじゃないか。
0964デフォルトの名無しさん
2011/01/23(日) 04:47:49hsqldbをServerモードで起動しても、Eclipseから繋げません。
逆にEclipseから繋いでいると、hsqldbを起動できません。
Eclipseがlockしてしまうようなのですが、どうすればいいでしょうか。
別サーバーのpostgresqlには多重に接続できるのですが。
0965デフォルトの名無しさん
2011/01/23(日) 04:49:06java -cp hsqldb.jar org.hsqldb.Server -database testで動かしてます。
0966デフォルトの名無しさん
2011/01/23(日) 17:48:330967デフォルトの名無しさん
2011/01/23(日) 17:53:120968デフォルトの名無しさん
2011/01/23(日) 19:13:08お願いします。
0969デフォルトの名無しさん
2011/01/23(日) 19:49:12import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
を
import java.awt.*;
import java.awt.event.*;
と書き換えることはできますか?
0970デフォルトの名無しさん
2011/01/23(日) 19:53:580971デフォルトの名無しさん
2011/01/23(日) 19:54:47import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
はどこ行ったの?
0972デフォルトの名無しさん
2011/01/23(日) 19:58:52出てくる箇所全部限定名で書くんじゃね?
0973デフォルトの名無しさん
2011/01/23(日) 20:25:24import java.*;
で
0974デフォルトの名無しさん
2011/01/23(日) 20:45:05import *;
で
0975デフォルトの名無しさん
2011/01/23(日) 21:10:190976デフォルトの名無しさん
2011/01/23(日) 21:17:230977デフォルトの名無しさん
2011/01/23(日) 21:25:02差異としてはどんなものがあるの?
0978デフォルトの名無しさん
2011/01/23(日) 21:34:20あえて挙げればパッケージプライベートという可視制御が存在する
0979デフォルトの名無しさん
2011/01/23(日) 21:37:34ディレクトリ構造を強要される/されない
0980デフォルトの名無しさん
2011/01/23(日) 21:40:31package…アクセス制御の単位として機能する
namespace…名前だけ
0981デフォルトの名無しさん
2011/01/23(日) 21:46:38namespaceは名前の飾りとしての意味しかなくて
名前空間とは無関係にパッケージスコープ相当のinternalアクセスレベルが別にある
0982デフォルトの名無しさん
2011/01/23(日) 22:11:580983デフォルトの名無しさん
2011/01/23(日) 23:49:290984デフォルトの名無しさん
2011/01/24(月) 00:04:22メソッド A内でしか使われないような変数は、フィールドではなく、
メソッド内で定義していいですよね?
今度の案件のソース見てたら、メソッド内のローカル変数でいいようなものでも、フィールドで
String something = null;
のように初期化していたのでJavaではもしやそういう流儀なのかと思ってしまいましたが、
そんな訳ないですよね。
0985デフォルトの名無しさん
2011/01/24(月) 00:10:05まず意味ないと思うが。
DIが流行って以降勘違いしてる人が増えたせいじゃね。
nullとかでなく初期化がされてる場合は、JUnitでその変数をある指定値で動作させたい時とかにありえる。
0986984
2011/01/24(月) 01:45:15ああ、間違いなくDIの影響ですね。
今回はDIを使ってないとの事ですので、
書いた人は何でもかんでもフィールドで初期化すればいいと思ってそうです。
ありがとうございます。
0987えーきち
2011/01/24(月) 02:38:19以下のような実行できるのですがエラー?が出てきます。意味がわかりません
exception in thread "awt-eventqueue-0" java.lang.unsupportedoperationexception
java.awt.image.BufferedImage offset_img = new BufferedImage( width, height, java.awt.image.BufferedImage.TYPE_INT_ARGB);
offset_img.setRGB( 0,0, width, height, pixel, 0, width);
graphics = image.getGraphics();
graphics.drawImage(offset_img,0,0,width,height,this);
0988デフォルトの名無しさん
2011/01/24(月) 02:45:46ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/UnsupportedOperationException.html
0989えーきち
2011/01/24(月) 03:21:27import java.awt.event.*;
import java.awt.Image.*;
import java.awt.image.PixelGrabber;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.Font;
0990えーきち
2011/01/24(月) 03:25:11{
TextField infilename; //ファイル名を入力するフィールド
Button gazou;
Button hist;
Image image; //オフスクリーンで使うためのimageクラス
Graphics graphics; //オフスクリーンに描画するためのgraphicsクラス
String filename; //テキストフィールドからの文字列の取得
boolean buttonpush1 = false; //ボタンが押されたかどうかの判定
boolean buttonpush2 = false;
BufferedImage readImage = null;
int width,height;
int w=0,b=0,j=0,z=0;
int pixel[];
gframe()
{
setLayout(new FlowLayout(FlowLayout.LEFT)); //レイアウトの設定
infilename = new TextField(20);
add(infilename);
gazou = new Button("画像決定");
add(gazou);
gazou.addActionListener(this);
hist = new Button("ヒストグラム");
add(hist);
hist.addActionListener(this);
}
0991えーきち
2011/01/24(月) 03:27:34{
if(image == null) image = createImage(1200,1000);
if(graphics == null) graphics = image.getGraphics();
g.drawImage(image,20,80,1000,700,this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == gazou){
readImage();
System.out.println("@1");
}else if(e.getSource() == hist){
cahanger();
System.out.println("@2");
}
repaint();
}
0992デフォルトの名無しさん
2011/01/24(月) 06:04:440993デフォルトの名無しさん
2011/01/24(月) 06:39:00スレに臭いがうつるだろ、シッシッ。
0994デフォルトの名無しさん
2011/01/24(月) 19:53:030995デフォルトの名無しさん
2011/01/24(月) 22:25:5250〜60個位の設定が必要なんですが。
最初、Digesterを使ってxmlからBeanにマップしてMapに詰めたんですが、
結局keyがStringとかになる訳で、そうするとkeyはハードコーディングせざるを得ないですよね。
理想はkeyがenumみたいに候補が出る形です。
propertiesでは1対1の対応しか出来ないので、2つ3つ関係させたい時は
ダメそうです。
0996デフォルトの名無しさん
2011/01/24(月) 22:32:060997デフォルトの名無しさん
2011/01/24(月) 22:56:260998デフォルトの名無しさん
2011/01/24(月) 23:54:20突っ込んだことしなければ十分なはずだけど。
0999デフォルトの名無しさん
2011/01/25(火) 00:27:26void offPaint() {
int i,j;
gOff.setColor(Color.white);
gOff.fillRect(0,0,dim.width,dim.height);
if (dispMode==0) {
gOff.setColor(Color.black);
for(j=0; j<NNy; j += 4) {
for (i=0; i<NNx; i += 4) {
gOff.setColor(Color.getHSBColor( (float)cr[i][j],
(float)(0.3+0.6/(30.0*sg[i][j]+1.0)),(float)(0.5+0.25*Ez[i][j])));
gOff.fillRect(i+50,j+50,4,4);
}
}
}
}
1000デフォルトの名無しさん
2011/01/25(火) 01:06:19(´・ω・`) うさちゃんピース
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。