【初心者】Java質問・相談スレッド103【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/06/27(水) 07:23:27JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド102【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1180419689/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
次スレは>>980あたりで。
0201デフォルトの名無しさん
2007/07/01(日) 18:19:59どっちでも使え
public class longtest {
public static void main(String[] args) {
long a=2147483648L; //1増加
a=Long.MAX_VALUE; // 最大限に増加
System.out.println(a);
}
}
0202192
2007/07/01(日) 18:24:37おいおい、IDでないからってパクるなよw
やってみたけど、めんどうですね。ところでMFCの
SetTextCharacterExtra
みたいに1発で指定できないですかね。
setCharacterSpacing
というのがあるみたいですけど、使い方がわからないです。
0203デフォルトの名無しさん
2007/07/01(日) 18:36:35自分の質問に対するレスへの自分を騙ったレスではないんだからいいんじゃね?
騙りとは違うからIDが出ないこととは無関係。
一発で指定したいのなら、後々のことも考えてsetTextCharacterExtraメソッドを自作する。
0204191
2007/07/01(日) 18:39:34↑をもとに作ってみようとしたんですが、これだとBranchGroupや
TransformGroupはどこで定義すればいいのでしょうか?
0205デフォルトの名無しさん
2007/07/01(日) 18:42:30了解。
0206デフォルトの名無しさん
2007/07/01(日) 20:22:37リンク先のソースのどこにもBranchGroupやTransformGroupはないが?
自分のソース貼り付けてくれよ
0207デフォルトの名無しさん
2007/07/01(日) 21:39:23どこが間違ってるってことなんでしょう?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Shukudai453.main(Shukudai453.java:26)
二行目の()の中をクリックすると、ソースコードのこの部分↓が青くなるんですが・・・
int n = Integer.parseInt(args[0]);
*****************
という質問を他スレでしたら、「引数指定」といわれました。
それ以上聞くとスレ違いだらしいので、ここで聞かせてください。
どこを直せばいいんでしょう?
0208デフォルトの名無しさん
2007/07/01(日) 21:41:22WindowsでSWT使ってプログラム書いて実行可能なjarを作ろうとして躓いています
マニフェストファイルを作って
Main-Class: Hoge
Class-Path: . swt.jar swt-win32-3236.dll
さらに
jar cvfm Hoge.jar Hoge.mf Hoge.class swt.jar swt-win32-3236.dll
として固めたjarを(Javaだけはインストールしてある)別の機械に持って行って
java -jar Hoge.jar
とするとDLLが見つからないと言われてしまいます
あらかじめカレントディレクトリに
swt-win32-3236.dll が存在する環境だと実行出来るみたいなのですが
0209デフォルトの名無しさん
2007/07/01(日) 21:43:43java Shukudai453 数字
で実行
0210デフォルトの名無しさん
2007/07/01(日) 21:47:10どんな環境でなにをどうやったらそうなったのか書け
それすら出来ないならば、ここでもスレ違いだ
0211デフォルトの名無しさん
2007/07/01(日) 21:51:49http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29488
を実行したんですが・・・
0212デフォルトの名無しさん
2007/07/01(日) 21:53:29Javaのバージョンは?
そもそもコードを理解できている?
あと、学ぼうとする気ある?
0213実行したのはこっちの間違いでした
2007/07/01(日) 21:57:38import java.util.ArrayList;
public class Cebysev {
private static List<Integer> primeCache;
static {
primeCache = new ArrayList<Integer>();
}
private static boolean isPrime(int value) {
if (!(primeCache.indexOf(value) != -1)) {
return true;
}
0214デフォルトの名無しさん
2007/07/01(日) 21:59:19>>212
自分ホント分からないものだらけなんで。。。
明日までに完成させたいんです
0215デフォルトの名無しさん
2007/07/01(日) 22:02:410216デフォルトの名無しさん
2007/07/01(日) 22:04:27同情の余地も無い
大学名と学部を晒したら変わりに提出しておいてやるよ
0217デフォルトの名無しさん
2007/07/01(日) 22:23:190218デフォルトの名無しさん
2007/07/01(日) 22:28:120219デフォルトの名無しさん
2007/07/01(日) 22:28:16http://www.seman.cs.uec.ac.jp/~ryu-zr/blog/archives/000571.html
0220デフォルトの名無しさん
2007/07/01(日) 22:29:26ArrayList<String> に別名を付けたり出来ますか?
0221デフォルトの名無しさん
2007/07/01(日) 22:32:56public class StringList extends ArrayList<String> {}
とかすれば出来る(?)けど、何にも意味がないような
0222デフォルトの名無しさん
2007/07/01(日) 22:38:170223デフォルトの名無しさん
2007/07/01(日) 22:38:51Javaにはない
0224デフォルトの名無しさん
2007/07/01(日) 22:43:02ttp://launch4j.sourceforge.net/
0225デフォルトの名無しさん
2007/07/01(日) 23:11:45エイリアスを乱定義して可読性が落ちるからやめてほしいなぁ。
0226デフォルトの名無しさん
2007/07/02(月) 06:35:51私の今のレベルは、Cが「少しは」できる感じです。
(配列・構造体・ポインタなど、基礎的な部分は分かる。
コンパイラの挙動やプリプロセッサに関してもある程度分かる。
作ったことがあるプログラムは、一つあたり1000行(.cファイル二つ、.hファイル一つ)程度)
個人的には、『独習Java』か『やさしいJava』かなあ、と思っていますが、どちらか決め難い。
他にもお勧めがあれば教えてください。
0227デフォルトの名無しさん
2007/07/02(月) 06:38:14オブジェクト指向の勉強もした方がいいよ
0228デフォルトの名無しさん
2007/07/02(月) 06:49:48long型では無理?
0229デフォルトの名無しさん
2007/07/02(月) 07:14:56やさしいJavaはこのスレでもよく話題(笑)にあがるが、少なくともCをかじった人には糞本でしかない
独習Javaがいいと思う
>>228
無理
intの上限以上の配列を確保するってメモリどうなるかは考えた上で設計した方がいい
0230デフォルトの名無しさん
2007/07/02(月) 07:22:13どうしてもintの上限以上の配列を確保したいんですが・・・
0231デフォルトの名無しさん
2007/07/02(月) 07:23:43って言われても全く規模が分からんな・・・未だにこんな言い方してる奴がいるのか。
悪いことは言わんからやさしいjavaはやめとけ。
他の糞本を読んだことないから他にどれが地雷かは分からんが
よほどのものでない限り普通に読めるはず。
後は何がしたいかによってそのジャンルの参考書もいるけど
javaの場合標準ライブラリが多くをカバーしてるんでjava+JAXP等
java開発者向けに標準ライブラリを使った専門分野な本も多くある。
これは外部ライブラリを学習するよりとっつき易さがあるので入門時にはそういう本もおすすめ。
あと、SwingはAWT覚えてから手を出した方が良い。
SwingとAWTは別ライブラリで作法が違うけどSwingはAWT上に構築されてるからSwing中で
(Swingが充実して最近減ったが)AWTのやり方が必要になってくることがあるが両方知ってないと混乱することがある。
0232デフォルトの名無しさん
2007/07/02(月) 07:29:45intの上限を超えて配列は確保できない
そもそも上限を超えた配列を確保できてもライブラリを含め、使うことができない
配列ではない方法で同じデータ構造を持つ方法なんて幾らでもあるだろ
手っ取り早いのはlongをとって、全bitに対してフラグとして扱うとかな
分割して使うことができないとも考えられないし、一体何がしたいの?
0233デフォルトの名無しさん
2007/07/02(月) 07:32:141000ステップ程度ならば、規模を表すにはいいんじゃね?
自分はmainだけで収まるような簡単なサンプルが〜100ステップ程度
いくつかの関数にわけてロジックを組み立てるというところで500〜1000ステップ程度と感じている
個人差もあるし大雑把だけどねw
0234デフォルトの名無しさん
2007/07/02(月) 07:34:01の!はどういう意味ですか?
0235デフォルトの名無しさん
2007/07/02(月) 07:34:41boolean の情報量しかないんなら、
int の配列にして、その 32 ビットの 1 つ 1 つを boolean と見なせばいい。
0236デフォルトの名無しさん
2007/07/02(月) 07:35:44if(!seisu[n]){
ですね
0237デフォルトの名無しさん
2007/07/02(月) 07:36:35現実的にはプリミティブな要素型を持つ配列を生成するケースは少ないので
だいたいの場合はint以上の長さの配列を確保するとすぐにメモリなくなる。
この場合、longを長さに取るコンテナを自作してメモリではなくディスクから読み書きして
必要な分だけメモリに置くクラスを作るのとかする。
マージソート自力で実装する程度のことが出来るならできるんじゃね?
というか配列の要素数は初期化時にint未満の型使ってもワイドニング変換でintになってるからな。
0238デフォルトの名無しさん
2007/07/02(月) 07:38:32つまり、long型の変数を宣言して、その各ビットを、0か1かによって、フラグとして代用するってことでしょうか?
3ビット目が1の場合、booiean[3]=true ってことですか?
0239訂正
2007/07/02(月) 07:40:15つまり、long型の変数を宣言して、その各桁を、0か1かによって、フラグとして代用するってことでしょうか?
100の位が1の場合、booiean[3]=true ってことですか?
0240デフォルトの名無しさん
2007/07/02(月) 07:42:150241やってみます
2007/07/02(月) 07:43:240242デフォルトの名無しさん
2007/07/02(月) 07:44:40細かい突っ込みだがCだと無意味な行が多いからステップ=LOCとは限らんような・・・。
テトリスくらいのをちゃんと関数分けてコメント書いてたら1000行くらいかな?
0243すいません・・・
2007/07/02(月) 07:47:11の!はどういう意味ですか?
0244デフォルトの名無しさん
2007/07/02(月) 07:51:190245すいません・・・
2007/07/02(月) 07:53:16の場合は
a=1以外のとき
ってことですか
でも>>243の場合はどういう意味になるのか分からないんです画・・・
0246デフォルトの名無しさん
2007/07/02(月) 07:57:090247すいません・・・
2007/07/02(月) 07:57:590248デフォルトの名無しさん
2007/07/02(月) 08:00:48if(!a)...
こういうこと
0249デフォルトの名無しさん
2007/07/02(月) 08:01:03「new演算子: クラスのインスタンスを生成します 」
って出てきたんですがいまいち意味が・・・
0250デフォルトの名無しさん
2007/07/02(月) 08:07:110251デフォルトの名無しさん
2007/07/02(月) 08:13:40他人に考えさせる前に自分の頭使おうぜ?
0252228です
2007/07/02(月) 08:18:47僕がやりたいのは、素数を探し出すプログラムで、例えば
「boolean[]のboolean[9967]=false」
だった場合、
「9967は素数ではない。」
といった感じで、素数であるかないかの表を作っていたわけですが、それだとintの上限以上の
素数を記憶できないってことで、皆さんの助言通りに、
「long型の各ビットをbooleanの真偽の代用にする」ことを目指しております。
で、さっきは分かったように思ったのですが、今考えて見るとやっぱりちょっと分からないところが出てきて・・・
long型の各ビットをbooleanの真偽の代用にする、とのことですが、long型の桁数ってint型の上限より少ないですよね?
ってことは「long型の上限の長さの配列」で代用するって意味だったのかなあっと思ったのですが、
配列の長さはintの上限を超えられないんですよね・・・?
結局、できるだけたくさんの素数であるかないかの表を作るにはどうすればいいんでしょう・・・?
0253デフォルトの名無しさん
2007/07/02(月) 08:22:52素数を貯めていくんじゃないかな?
0254デフォルトの名無しさん
2007/07/02(月) 08:24:270255228です
2007/07/02(月) 08:27:23「longに格納できる最大の数」の「桁数」では素数表には少なすぎますよね?
0256デフォルトの名無しさん
2007/07/02(月) 08:28:070257デフォルトの名無しさん
2007/07/02(月) 08:28:100258デフォルトの名無しさん
2007/07/02(月) 08:30:11全部メモリに持ち続ける必要ないでしょ。
区切りでファイルに吐けばlong使う必要ない。
0259デフォルトの名無しさん
2007/07/02(月) 08:30:160260228です
2007/07/02(月) 08:31:03例えば
long n[99999999999]
とかはできるんですか?
配列の長さはどうやってもintの上限を超えられないby>>232
と聞いたので・・・
0261デフォルトの名無しさん
2007/07/02(月) 08:31:13なんでループ分けるの?
0262デフォルトの名無しさん
2007/07/02(月) 08:31:180263228です
2007/07/02(月) 08:32:11すいません詳しくお願いします
(つまり足りなくなったら他の奴に乗り換えろってこと?)
0264デフォルトの名無しさん
2007/07/02(月) 08:35:37配列の個数×longのビット数 だけの情報が扱えるじゃん。
0265デフォルトの名無しさん
2007/07/02(月) 08:36:52素数かどうかの判定でもするの?
0266228です
2007/07/02(月) 08:37:300267デフォルトの名無しさん
2007/07/02(月) 08:37:340268デフォルトの名無しさん
2007/07/02(月) 08:38:34素数を貯めていくんじゃダメ?
0269デフォルトの名無しさん
2007/07/02(月) 08:38:41>なるべくたくさんの素数表を作っておく必要があるんです
俺らはそれが何のためかと聞いている。
0270デフォルトの名無しさん
2007/07/02(月) 08:41:07prime[0] = 2;
prime[1] = 3;
prime[2] = 5;
prime[3] = 7;
prime[4] = 11;
みたいに。
0271デフォルトの名無しさん
2007/07/02(月) 08:50:270272デフォルトの名無しさん
2007/07/02(月) 08:51:260273デフォルトの名無しさん
2007/07/02(月) 08:56:37素数の総数が int を越えるとダメになるんじゃないの?
0274デフォルトの名無しさん
2007/07/02(月) 08:57:19素数の値が int を越えるとダメになる、だ。
0275デフォルトの名無しさん
2007/07/02(月) 08:59:160276デフォルトの名無しさん
2007/07/02(月) 09:06:32素数が意外と多いからスペース削減にはならんっぽいな。
ファイルに書き出していけばいいけどもん。
0277デフォルトの名無しさん
2007/07/02(月) 09:09:26そこから間違ってる気がするんだが・・・
0278デフォルトの名無しさん
2007/07/02(月) 09:09:420279デフォルトの名無しさん
2007/07/02(月) 09:15:41今度はry・・・とか聞きそうな気がしてきた。
0280デフォルトの名無しさん
2007/07/02(月) 09:19:55こういう問題は関数型の方が得意か・・・
0281デフォルトの名無しさん
2007/07/02(月) 09:20:040282デフォルトの名無しさん
2007/07/02(月) 09:23:11素数表の作成効率は悪いな。 >素数かどうかのテーブル
0283デフォルトの名無しさん
2007/07/02(月) 09:26:03うん。やっぱり素数を配列に貯めていった方が、
速度的にも容量的にもいいみたいだ。
0284デフォルトの名無しさん
2007/07/02(月) 09:27:08ちょっと混乱してきた・・・。
0285デフォルトの名無しさん
2007/07/02(月) 09:31:580286デフォルトの名無しさん
2007/07/02(月) 09:34:150287デフォルトの名無しさん
2007/07/02(月) 09:40:28最大バイト数×8 の大きさの素数まで扱える。
素数を貯めていく場合、
最大バイト数/64 個の素数が扱える。
この時の素数の最大値が最大バイト数×8より大きければ
素数を貯めていく方が容量効率がいいことになるんだけど、
圧倒的に足りないから容量効率は悪いっぽ。
0288デフォルトの名無しさん
2007/07/02(月) 09:49:14配列は飛び飛びなのに。
0289デフォルトの名無しさん
2007/07/02(月) 09:51:070290デフォルトの名無しさん
2007/07/02(月) 09:52:060291デフォルトの名無しさん
2007/07/02(月) 09:55:140292デフォルトの名無しさん
2007/07/02(月) 10:10:000293デフォルトの名無しさん
2007/07/02(月) 10:30:460294デフォルトの名無しさん
2007/07/02(月) 13:00:320295デフォルトの名無しさん
2007/07/02(月) 13:10:170296デフォルトの名無しさん
2007/07/02(月) 18:05:58JLabel.setTextで表示すると、後ろから1桁か2桁しか表示されません。
どうすれば全部表示されますか?
0297デフォルトの名無しさん
2007/07/02(月) 18:13:19今は秀丸を使っているのですが、
上級者の方は後々「Java専用プログラミングエディタ」みたいなのを使い始めるのでしょうか。
0298デフォルトの名無しさん
2007/07/02(月) 18:21:20どうやってMD5をかけたか、MD5をかけた後の変数の型、
System.out.print()した方法、setText()した方法をコードで示しましょう。
それから、MD5は暗号ではないです。
0299デフォルトの名無しさん
2007/07/02(月) 18:22:03さいきんはEclipseを使う人が多いかもしれない。
0300デフォルトの名無しさん
2007/07/02(月) 18:23:11digestをbyte配列で得てprintの方は順番に配列要素を表示していってるから全部表示されて、
JLabelの方には配列要素を順番に引数としてsetTextでセットしているから、
結局最後の配列要素しかJLabelには現れないというオチだったり。
もしそうなら、setTextはappendTextでないということは分かってないよね?
0301デフォルトの名無しさん
2007/07/02(月) 18:26:09>>297
自分が慣れたエディタを使えばええやん
■ このスレッドは過去ログ倉庫に格納されています