【初心者】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あたりで。
0141デフォルトの名無しさん
2007/07/01(日) 00:38:14#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION 。。。
というメッセージがコンソール画面に出て来るときがあります。
Eclipseのデバッグ画面には、このエラーが発生した箇所が出てこないので、どこで発生しているのか分かりません…
このエラーメッセージが出た場合、とりあえずプログラムのどこをチェックすべきですか?
ACCESS_VIOLATIONってことなので、C言語だったらポインタ演算してる箇所とかをチェックするんですが…
0142デフォルトの名無しさん
2007/07/01(日) 00:39:090143デフォルトの名無しさん
2007/07/01(日) 00:45:57Swingとかマルチスレッド関連?
どの手のアプリケーション実行していての話だろうか。
デバッグ時だと予期せぬ状態としか言いようがないな
0144デフォルトの名無しさん
2007/07/01(日) 00:54:24それが出たときは飼い犬に咬まれたと思って諦めろ
0145デフォルトの名無しさん
2007/07/01(日) 01:02:59今はSwingとマルチスレッド両方使ってます。Swingだけで出てきたこともあります。
エラーが発生した後、logファイルが吐かれてて、そこには
Current thread (0x00837440): JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=5020]
と書かれてました。自分で作ったスレッドで発生したわけではないのかな…
>>144
諦めろ…ということは、原因を突き止めるのがすごく難しい問題だったり、まさかJavaの仕様だったりするんですか…
発生確率は1/10くらいなので「仕様」ということにしておきます。
0146デフォルトの名無しさん
2007/07/01(日) 01:09:08マルチスレッドだと単純に不安定になるよ
デバッグでなく発生するのであれば、別の問題だろうけど
そうでないのであれば原因を突き止めるのはデバッグモードを創れるレベルが要求されそうな予感
0147デフォルトの名無しさん
2007/07/01(日) 01:12:19>値渡しが基本で、参照渡しが特殊 ではなくて、参照渡しばっかりのjavaの中でプリミティブ型は値渡しが行われてる仕様
値渡しが全て。
プリミティブは、その値自身が、値渡しされる。
オブジェクトは、そのオブジェクトへの参照が、値渡しされる。
0148デフォルトの名無しさん
2007/07/01(日) 01:12:370149デフォルトの名無しさん
2007/07/01(日) 01:18:11VMのバグ、または、JNIでの呼び出し先でのバグかも
Javaのプログラムを見ても解決するはずない、たぶん
0150デフォルトの名無しさん
2007/07/01(日) 02:55:57ttp://www.javadrive.jp/start/before/index2.htmlを参考に
したのですが、java test1を実行すると
「注釈処理が〜」というエラーメッセージが出ます。
エラーは1つです。
で、ためしにjava ソース で検索したものを実行させて
みたのですがこれも同じメッセージでエラー1つです。
これは設定が間違っているということなのでしょうか?
0151デフォルトの名無しさん
2007/07/01(日) 02:58:550152150
2007/07/01(日) 03:02:09これです
class test1
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
0153150
2007/07/01(日) 03:03:36もう1度
class test1
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
0154デフォルトの名無しさん
2007/07/01(日) 03:10:09そのまま実行すれば実行できるよ。
0155デフォルトの名無しさん
2007/07/01(日) 03:11:12あとjavacとjavaのバージョン
0156150
2007/07/01(日) 03:19:46いろいろいじってたらまた出来なくなってきた
操作可能なプログラムまたはバッチファイルとして認識されません
とか出てきた・・・
ちょっと出直してきます。すみません・・・
javacのバージョンとは??
javaはjdk1.6.0_01です
0157150
2007/07/01(日) 03:23:53C:\Program Files\Java\jdk1.6.0_01\bin に変えればよいみたい
なのですが、間違えて class PATH とPatch もこれに
してしまったのですが、問題アリでしょうか??
0158デフォルトの名無しさん
2007/07/01(日) 03:26:01cd C:\TestClass
C:\Java\jdk1.6.0_01\bin\javac test1.java
C:\Java\jdk1.6.0_01\bin\java test1
みたいにフルパスで指定するべし
0159デフォルトの名無しさん
2007/07/01(日) 03:38:28JAVA_HOME = <install_dir>
Path = %Path%; %JAVA__HOME%\bin;
とする。
CLASS_PATHは必要な時だけ。
環境変数Pathって復元できたっけ?
0160150
2007/07/01(日) 04:05:09エラーはこういう表示です。
エラー:クラス名 'java' が受け入れられるのは、注釈処理が明示的に要求された場合だ
けです
エラー 1 個
C:\jsample>
こっから全く進めません・・・
ぐぐっても出てこないし
0161150
2007/07/01(日) 04:06:58ファイル名をjavaに変更しました
0162デフォルトの名無しさん
2007/07/01(日) 04:21:330164デフォルトの名無しさん
2007/07/01(日) 04:27:130165デフォルトの名無しさん
2007/07/01(日) 04:29:58Test01.java
------------------------------------
class Test01
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
0166150
2007/07/01(日) 04:30:14けです
このメッセージをぐぐっても出てこないのは
やっぱり普通はこういう事にはならないからなのでしょうか。
うーーーーん・・
>>164
6時までは頑張ってやってみます
ダメなら寝る
0167デフォルトの名無しさん
2007/07/01(日) 04:31:04Test01.java
public class Test01
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
0168デフォルトの名無しさん
2007/07/01(日) 04:32:29javacでは拡張子の.javaを含むファイル名を指定する必要あり。
java では拡張子の.classは付けない。
javac test1.java
java test1
0169150
2007/07/01(日) 04:49:15できましたーーーーーーーーーーーーー!!
ファイル名に .java をつけてjavaファイルにしていなかったのが
1番の原因だったと思われます。
ただ、サイトや実用書のように文字が表示されないのが
よくわかりませんが、とりあえず第一関門突破です
ありがとうございました
0170デフォルトの名無しさん
2007/07/01(日) 04:53:15コマンドプロンプトとかDOSとかCUIってしってるか?
0171150
2007/07/01(日) 04:57:42コマンドプロンプトは分かります。
DOSはDOS−Vとかのでしょうか?(真っ黒い画面のがそう?)
DOSとCUIは言葉は聴いたことありますが今いちよく分かりません・・
0172デフォルトの名無しさん
2007/07/01(日) 04:57:55m.add(new JFileChooser());
という感じで、JMenuにJFileChooserを置いて、メニュー内に選択画面を出す…
という変なことやってみたいんですが、ちゃんと表示はされます。
でも、スクロールバーが動かなかったり、ボタンも機能してくれません。
やっぱり無理なんですかね
0173デフォルトの名無しさん
2007/07/01(日) 05:00:120174150
2007/07/01(日) 05:00:56できましたが、Hello Worldの表示が出ない・・・
0175デフォルトの名無しさん
2007/07/01(日) 05:03:47じゃあさっき生成されたclassファイルがあるディレクトリ(フォルダ)に潜って
java test1
>>172
メニューアイテムが選択された時にチューザを表示するようにする。とか。
0176150
2007/07/01(日) 05:12:33今までコンパイラとインタプリタを勘違いしてました。
コンパイラで文字を出そうとしていたのですが
やっと意味が分かってきました。
でも、CLASSファイルができたので
java test1 で出てきそうなのですがエラーになります
うーーん・・・
もうちょいやってみます
0177デフォルトの名無しさん
2007/07/01(日) 05:21:40~~~~~~~~~~~~
0178150
2007/07/01(日) 05:29:22このようなエラーがでます。
おかしいなぁ・・
0179デフォルトの名無しさん
2007/07/01(日) 05:40:49ないなら追加。
0180デフォルトの名無しさん
2007/07/01(日) 05:48:14ttp://ezrenai.takara-me.com/
にリダイレクトされるんだけどPHPおかしくない?
0181150
2007/07/01(日) 05:48:51PATHなんですが、いろいろいじったせいで
元々設定してあったのを全部消して今は
C:\Program Files\Java\jdk1.6.0_01\bin
を設定してあります。; はどこに追加すればよいでしょうか?
0183150
2007/07/01(日) 06:21:16質問答えてくださったみなさんありがとうございました!
やっと次に進めます
0184デフォルトの名無しさん
2007/07/01(日) 06:35:34どうせ俺はvipの深夜保守組だし気にするな。
ただし、昼間は頭使えw
0185デフォルトの名無しさん
2007/07/01(日) 09:00:24WEB上で見るときに色の情報がポップアップで見れたりできるようにしたいんですが
どなたか作ってもらえませんか
http://sky.ap.teacup.com/meki55/img/1183168156.png
欲を言えば最後に絵の具の番号で言うとどうなるのか変換してくれるボックスみたいのがあれば
うれしいんですが
0186デフォルトの名無しさん
2007/07/01(日) 09:03:210187デフォルトの名無しさん
2007/07/01(日) 09:05:540188デフォルトの名無しさん
2007/07/01(日) 09:12:490189デフォルトの名無しさん
2007/07/01(日) 09:36:13Javaのエラーメッセージって相変わらず不親切だな。MSほどじゃないけどさ。
普通に「拡張子(.java)をつけてください」って出せよな
0190デフォルトの名無しさん
2007/07/01(日) 09:39:17元が狂いまくってんだし、幅が効かん。
それともそっち系のモニタの話?
にしても>>185はひどいな。
0191デフォルトの名無しさん
2007/07/01(日) 12:53:48させるにはどのようにすればいいのでしょうか。
↓こんな感じです
最初 □
一秒後□□
もう一秒後□□□
・
・
・
できれば5個くらい表示させたところで停止させる処理の記述も
教えていただけるとありがたいです。
よろしくお願いします。
0192デフォルトの名無しさん
2007/07/01(日) 14:15:28public void paint(Graphics g) {
・
g.drawString("文字間隔",x,y);
・
}
その文字の間隔を任意に設定はできないんでしょうか?
ご教示願います。
0193デフォルトの名無しさん
2007/07/01(日) 16:27:49スレッドまたはタイマー
>>192
g.drawString("文",x1,y);
g.drawString("字",x2,y);
g.drawString("間",x3,y);
g.drawString("隔",x4,y);
どのくらい間隔あけるかは、fontMetricsから計算する
0195デフォルトの名無しさん
2007/07/01(日) 17:28:44読み込んでくれません。 imagesディレクトリに入れてあり、ディレクトリ構造は同じなのですが、
何か MANIFEST.MFに書き加える必要はあるのでしょうか?
0196デフォルトの名無しさん
2007/07/01(日) 17:43:170197デフォルトの名無しさん
2007/07/01(日) 17:48:03わかりました。やってみます。ありがとうございました。
0198195
2007/07/01(日) 17:56:280199デフォルトの名無しさん
2007/07/01(日) 18:13:22public static void main(String[] args) {
long a=2147483647;
System.out.println(a);
}
}
このプログラムのaの値をより大きく表示できるように改変してください。
この値よりも1でも大きくなるとエラーが出てしまいます。
値は出来るだけ大きいほうが良いです。
0200デフォルトの名無しさん
2007/07/01(日) 18:16:201.リソース検索してそのURLを指定せず、ファイル名を直接指定している。
2.Windowsのような大文字小文字の区別をつけないファイルシステムを使っていて、区別をつけるjar内の事情を気にしていない。
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:24■ このスレッドは過去ログ倉庫に格納されています