くだすれJava(超初心者用)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは、他のスレッドでは書き込めない超低レベル、 
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 
Java使いが優しくコメントを返しますが、 
お礼はJavaの布教と初心者の救済をお願いします。 

Java SunのHome Page 
http://www.java.com/ja/
2デフォルトの名無しさん:2005/09/12(月) 05:35:56
削除依頼出しとけよ
3デフォルトの名無しさん:2005/09/12(月) 06:01:02
課長、とんでもない糞スレを発見しますた。         頼むから仕事してくれ。
  ∨     .___
 _ ∧∧  .!|\__\ .r──‐、          f'ゝ、 ̄`.、     ∧_∧
 ||l (,,゚Д゚)  ||/ ! i  |.|.    |. ̄ ̄//.|   | ヾ.,,f ̄ ̄i:. ̄\. (´∀`  )、
 ||l::/ つつ,ヾ\|__.i___/ L..f^i __j   // |   |   \rヾ三三i  ⊂ ⊂  ):I
  L二/⊂〜ヾ;' !i' ̄ ゙̄||ヽ.───//i  |   |:.   ヾ.三三r、---、\   | |
  ./    / ||   ,.||_,|ζ   // :| /.    \    \ヽ i三三i三三i.ソ
  |" ̄ ̄./  /三三三/θ   //  |./..     \    \ヾ三三i三三i
  |     || ̄ ̄ :| ̄ ̄ ̄||:  ̄ ̄|:|  /        \     .|| ̄ ̄ ̄ ̄ ̄|
  |___|| ̄ ̄ :|::::::::::::::::||:  ̄ ̄|:| ./            \  ||:       |
      .||:.     ̄| | ̄      .|:|_/               \l||_____|
4デフォルトの名無しさん:2005/09/12(月) 06:57:36
「くだすれ」の歴史を知らない人が多いのでここにカキコしておこう。

もともとの意味は
どんなに「くだ」らない質問でも誰かがやさしくレスしてくれる「すれ」っど
だ。

40歳青年=毛の生えたブリーフ=毛の生えたフサギコ=その他もろもろ
いろいろハンドルをつかっていた香具師(複数?)が「くだすれC#」をつくった。
これは現在「ふらっとC#」へ名称変更している。現在長寿スレッドに
なったのは2番目につくった「くだすれDelphi」だ。

「くだすれC++Builder」「くだすれフリコン(フリーコンパイラ)」もあったらしいが
すぐ落ちた。現在のくだすれは他者が立てている。

巻頭言はとてもよくできているのでいくつものくだすれに引き継がれている。
ただしDelphiでは歴史的ないきさつで少し変更が入った。

次のくだすれは「君」だ。厨房どもを集め、みんなでレベルアップ&雑談しよう。
5デフォルトの名無しさん:2005/09/12(月) 07:26:10
Javaのスレ立ちすぎだからもういいよ。
6デフォルトの名無しさん:2005/09/12(月) 07:50:20
>>4
へぇ〜へぇ〜へぇ〜へぇ〜
7デフォルトの名無しさん:2005/09/12(月) 11:43:33
歯の間のうんち (ノω`*)ペチッ
8デフォルトの名無しさん:2005/09/12(月) 13:57:04
どうせなら初心者無視にすればよかったのに
9デフォルトの名無しさん:2005/09/15(木) 14:32:11
Windows上でのJavaの軽くて良い統合環境をおしえてくだすれ
10デフォルトの名無しさん:2005/09/15(木) 15:21:15
notepad.exe
11デフォルトの名無しさん:2005/09/15(木) 15:53:08
>>9
軽いだけなら上記のnotepadだが、
軽くてかつ良いものならEclipseだ。
12デフォルトの名無しさん:2005/09/15(木) 16:37:41
フレームワークってなんですか?
また導入する場合はどれがいいんですか
13デフォルトの名無しさん:2005/09/15(木) 16:40:22
>>12
知らなくても生きていける
14デフォルトの名無しさん:2005/09/15(木) 20:42:00
なんで java.lang.String に相当する
プリミティブ型 string を定義しなかったんだろ?

String の蝙蝠な振る舞いがやるせない。
15首都高のプリンス:2005/09/15(木) 22:01:06
新井宿ランプから攻めるんでYOROSIKU
16デフォルトの名無しさん:2005/09/16(金) 03:23:03
最近やりはじめなんですが、コンパイル後のClassを消して、
次に同名でClassを作ると、前回作ったClassが生きていて
新しく作ったClassが生きません。どうすればええんでしょうか?
17デフォルトの名無しさん:2005/09/28(水) 11:13:20
>>16
消し方が完全じゃなかったんじゃないの?
18デフォルトの名無しさん:2005/09/28(水) 12:34:24
>>16
ソースはちゃんと保存したのか?
19デフォルトの名無しさん:2005/09/29(木) 06:28:20
>>18
無事解決しました。エディタの問題でした。
20デフォルトの名無しさん:2005/09/29(木) 16:58:16
E N D
21デフォルトの名無しさん:2005/10/01(土) 15:15:44
>>20
どうした?
22デフォルトの名無しさん:2005/10/03(月) 09:42:49
おはようございます。
今月SunJava(310-035)受験予定です。
今さらなんですが、この"オブジェクト指向"に軽くノイローゼ気味です。
"C"の後に学ぶ言語とかよく聞くんですが
Java使いさんはどう思われますか?
23デフォルトの名無しさん:2005/10/03(月) 11:07:30
>>14
つbyte[]
24デフォルトの名無しさん:2005/10/03(月) 12:17:58
NetBeansの俺は負け組み
25デフォルトの名無しさん:2005/10/03(月) 13:45:37
>>23
つchar[]
26デフォルトの名無しさん:2005/10/03(月) 15:55:28
>>25
charはUnicodeなんだよ。汎用性無いでしょ。
27デフォルトの名無しさん:2005/10/04(火) 01:48:55
Javaアプリ(実行可能Jar)内で
別のJavaアプリを呼び出す方法を
どうか教えてくださいませエロい人

デスクトップのaaa.jarを叩いたら
ついでにbbb.jarも起動
お互いはまったく関係のない別アプリで
28デフォルトの名無しさん:2005/10/04(火) 09:38:18
>>27
java.lang.Runtime.exec()で起動すれば?
29デフォルトの名無しさん:2005/10/04(火) 10:03:16
JAVAってDLL呼べないの?Winだけで
30デフォルトの名無しさん:2005/10/04(火) 11:42:03
>>29
つ[JNI]
31デフォルトの名無しさん:2005/10/04(火) 12:08:18
>>30
d足
32デフォルトの名無しさん:2005/10/04(火) 22:34:40
>>28
レスあり
実は既にそれはやってみていたんだけど
ダメだったのでエロい人に頼りに来た

ちなみにどっちの.jarも直接Wクリとか
.batにあれやこれやとかで動かすと動く
33デフォルトの名無しさん:2005/10/12(水) 15:39:11
Linux(Suse 9.2)にsunからダウンロードしたJDKをインストールして、JDKのbinディレクトリに
パスを通したあと、書きのプログラムをjavacでコンパイルしてjavaコマンドで実行したところ、

 class HelloWorld {
static public void main(String args[]){
System.out.println("Hello world !");
}
}

書きのエラーが出ました。何か設定し忘れているのでしょうか?どなたか教えてください。

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
34デフォルトの名無しさん:2005/10/12(水) 16:42:23
最近プログラミングに興味が沸いてきたのですが、よいサイトないですか?
JAVAって何?ってレベルです。
35デフォルトの名無しさん:2005/10/14(金) 23:56:26
無料のIDEで、EclipseとNetBeansとJBuilderとJDeveloperだと、
超初心者にはどれがオススメ?
36デフォルトの名無しさん:2005/10/15(土) 00:05:05
JBuilder
37デフォルトの名無しさん:2005/10/15(土) 00:12:00
>>35
“5.0”でSun支援の「NetBeans」に心奪われるか
ttp://www.itmedia.co.jp/enterprise/articles/0510/14/news018.html
38デフォルトの名無しさん:2005/10/15(土) 17:34:43
Jbuilder買ってきました。これからインストールしてみます。
39デフォルトの名無しさん:2005/10/16(日) 00:00:24
自PCのネットマスクを取得する方法を教えて下さい。
探したけどどこにも載ってないんです・・・
40デフォルトの名無しさん:2005/10/16(日) 00:02:00
ageます
41デフォルトの名無しさん:2005/10/16(日) 00:10:33
>>33
コンパイルできてないのでは?
42デフォルトの名無しさん:2005/10/16(日) 00:18:50
>>33
class HelloWorld {
static public void main(String[] args){
System.out.println("Hello world !");
}
}
43デフォルトの名無しさん:2005/10/16(日) 02:20:05
サーブレットはサイトオーナーがコンパイル必要で、
JSPはPHPみたいなスクリプトですか?
44デフォルトの名無しさん:2005/10/17(月) 03:13:57
>>43
厳密にはPHPのようなスクリプトではない
JSP→JavaSourceへと変換された後にコンパイルされる
従ってJavaSourceのコンパイル時にエラーが発生すると非常に原因特定が困難
4545:2005/10/21(金) 02:57:25
すみませんが、質問です。
ボタンをクリックする度にテキストフィールドが増えていくようなプログラムを作りたいのですが、どうすればよいのかわかりません。
Flameを使うつもりです。
教えてください。
46デフォルトの名無しさん:2005/10/21(金) 14:40:07
>>45
swingで生成する度にrepaint()ってすればいけるんじゃない?と初心者の俺が超初心者に教えてみる。
上・中級者の人(↓)お願いします。
47デフォルトの名無しさん:2005/10/21(金) 15:42:54
>45
どこまで分かっててどっから分からないかを詳細にヨロ。

1. GUI に AWT と Swing があることは知っていて、どちらを使うかも決めている。
2. フレームにボタンが一個あるだけのアプリは作った。
3. ボタン押したら何らかの処理を起こす方法を知っている。(イベントモデルは理解してる。)
4. ボタンをクリックする度にフィールドを増やす方法が分からない。

どの段階でしょうか?
48デフォルトの名無しさん:2005/10/22(土) 01:05:23
iTuneをDLしたらコンパイルはできたが実行できなくなったorz
環境変数変えてみたけど、それでも実行できないし・・・。
システム復元したらネットに繋がらなくなる有様。
結局システム復元を取り消してQuick Timeを削除したら実行できた・・・。
なんでですか?
49デフォルトの名無しさん:2005/10/22(土) 01:11:02
iTuneとQuickTimeの間で互換性がないんだろ
50デフォルトの名無しさん:2005/10/22(土) 03:12:12
textAreaやtextFieldの表示について教えてください。

コンポーネントを画面に表示させると、立体的な陰影みたいな縁取利がされるんですが、
普通の線で縁取りをさせるにはどうしたらいいんでしょうか?
set何々というメソッドで設定できるのでしょうか?
51デフォルトの名無しさん:2005/10/22(土) 05:23:12
初心者ですが質問させてください。
setTimeoutでページをジャンプさせる時に、履歴を残さないようにしたいのです。
location.replaceを使えばいいように思うのですが、どうしてもうまく出来ません。
よろしくお願いします。
52デフォルトの名無しさん:2005/10/22(土) 16:37:09
JAVAであるwebページをIEで開くには
どうすればいいのでしょうか?
53デフォルトの名無しさん:2005/10/23(日) 02:23:03
弄ってないです(涙)
JAVAを同じ場所においてるからかな・・・なんかトムキャットインストールするとき最初に表示されます。ジャヴァがなんたらかんたらって。
54デフォルトの名無しさん:2005/10/23(日) 02:32:50
>>52
解決しました。
55デフォルトの名無しさん:2005/10/23(日) 18:53:25
>>51
解決しました。
56デフォルトの名無しさん:2005/10/23(日) 19:47:46
String str="startend";

みたいな文字列があったとして、これを一文字ずつ取り出して読み込むにはどうしたらいいのでしょうか?
57デフォルトの名無しさん:2005/10/23(日) 19:49:32
charAt
58デフォルトの名無しさん:2005/10/23(日) 19:57:09
>>57
早いレスありがとうございます。
なんとかできそうです。
59デフォルトの名無しさん:2005/10/26(水) 22:38:00
GUIの勉強してます。

import java.awt.*;

public class Awt01 {
Frame frame;

public Awt01() {
frame = new Frame( "フレーム" );
frame.setSize( 200, 100 );
frame.setVisible( true );
}

public static void main( String[] args ) {
Awt01 awt01 = new Awt01();
}
}
上のコードは入門のJAVAテキストに書いてあったものですが、
これをeclipseで実行しようとすると、エラーが出てしまいます。
public class Awt01  のpublicを消すとなぜか普通に動きます。

eclipseには”public 型 Awt01 はそれ独自のファイル内に定義されなければなりません。”とでてました。
どういう意味なのかさえ検討つかないのです。教えてください。
60デフォルトの名無しさん:2005/10/27(木) 00:52:41
>>59
ファイル名を
Awt01
に汁
6159:2005/10/27(木) 00:57:10
ありがとうございます。そんなこととは思いませんでした。
コピペでサンプルコード写してたので。助かりました。
62伝説新人タクシ:2005/10/27(木) 01:01:54
>>61
クラス→.classファイル
63デフォルトの名無しさん:2005/10/27(木) 17:10:33
インストールしてみました。。。。で??
どっか行っちゃいました;;
起動すらできないという初心者ぶりですw
64デフォルトの名無しさん:2005/10/27(木) 20:24:16
環境変数のpathにjavasdkのbinフォルダを設定するのだが
ここでハンパに書くとえらいことになりそうだから
本なりサイトなりの説明の通りにやれ。
65デフォルトの名無しさん:2005/10/27(木) 20:26:57
IDEは最初から使わんほうがいいのではないかと俺は思う
ちゃんとコンパイラの振る舞いを理解できないから
66デフォルトの名無しさん:2005/10/27(木) 21:51:28
すっごい初心者的な質問です。

int[] a = new int [128];
のaなのですが、一体何クラスなのでしょうか。

.length で配列の長さが取れるのが不思議でなりません。
Arrayクラスというのを見てみましたが、それではないようです。

それになんで .length() ではなく .length で長さが取れるように設計されているのでしょうか。
くだらない質問ですが、どなたか解説していただけませんでしょうか。お願いします。
67デフォルトの名無しさん:2005/10/27(木) 22:01:35
>>66
> int[] a = new int [128];
> のaなのですが、一体何クラスなのでしょうか。

aはint型の配列変数です
a[0] = 100;
a[127] = 1234;
とか言う風に使います(添え字は0から127の範囲です)

> .length で配列の長さが取れるのが不思議でなりません。

メソッドではなくフィールドで長さを返すのは・・・これは設計者の気まぐれとしか言いようがありません
(メソッドで返すより処理が早いとか言う人もでてくるでしょうが)
68デフォルトの名無しさん:2005/10/27(木) 22:23:18
なるほど。
てっきりコンパイラが
int[] a = new int [128];

Array a = new Array(128);
あたりに変換してコンパイルするようになっているのかと思いました。

配列に関しては隠蔽されてて分からないんですね。
69デフォルトの名無しさん:2005/10/28(金) 01:34:24
import java.util.*;

class strMyGreater implements Comparator{
public int compare(Object o1,Object o2){
return -((String)o1).compareTo((String)o2);
}
}

class strMyLess implements Comparator{
public int compare(Object o1,Object o2){
return ((String)o1).compareTo((String)o2);
}
}
class iMyGreater implements Comparator{
public int compare(Object o1,Object o2){
return -((Integer)o1).compareTo((Integer)o2);
}
}
class iMyLess implements Comparator{
public int compare(Object o1,Object o2){
return ((Integer)o1).compareTo((Integer)o2);
}
}
70デフォルトの名無しさん:2005/10/28(金) 01:35:32
class MA{
static Comparator comp;

static Random rand=new Random(Calendar.getInstance().getTimeInMillis());
static Integer getIRand(int max){return new Integer(rand.nextInt(max));}

static Object Min(Object o1,Object o2,Object o3){
Object smaller1=comp.compare(o1,o2)<0?o1:o2;
Object smaller2=comp.compare(o1,o3)<0?o1:o3;
return (comp.compare(smaller1,smaller2)<0?smaller1:smaller2);
}
static Object Max(Object o1,Object o2,Object o3){
Object larger1=comp.compare(o1,o2)<0?o1:o2;
Object larger2=comp.compare(o1,o3)<0?o1:o3;
return (comp.compare(larger1,larger2)<0?larger1:larger2);
}
static Object Mid(Object o1,Object o2,Object o3){
Object larger1=comp.compare(o1,o2)<0?o1:o2;
Object larger2=comp.compare(o1,o3)<0?o1:o3;
if(comp.compare(larger1,larger2)==0)
return comp.compare(o2,o3)>0?o2:o3;
else
return comp.compare(larger1,larger2)<0?larger1:larger2;
}
}
71デフォルトの名無しさん:2005/10/28(金) 01:37:00
public class sample37{
public static void main(String args[]){

String fruits[]={"banana","apple","orange","cherry","mango"};
Integer a,b,c;

System.out.println("strMyLessコンパレータを使う");
MA.comp=new strMyLess();
int count=2;
while(true){
System.out.print(fruits[0]+""+fruits[1]+""+fruits[2]+"");
System.out.println("fruitsの最小要素:"+MA.Min(fruits[0],fruits[1],fruits[2]));
System.out.print(fruits[1]+""+fruits[2]+""+fruits[4]+"");
System.out.println("fruitsの最小要素:"+MA.Min(fruits[1],fruits[2],fruits[4]));
System.out.print(fruits[0]+""+fruits[1]+""+fruits[2]+"");
System.out.println("fruitsの最大要素:"+MA.Max(fruits[0],fruits[1],fruits[2]));
System.out.print(fruits[1]+""+fruits[2]+""+fruits[4]+"");
System.out.println("fruitsの最大要素:"+MA.Max(fruits[1],fruits[2],fruits[4]));
System.out.print(fruits[1]+""+fruits[2]+""+fruits[4]+"");
System.out.println("fruitsの中間要素:"+MA.Mid(fruits[0],fruits[1],fruits[2]));
System.out.print(fruits[1]+""+fruits[2]+""+fruits[4]+"");
System.out.println("fruitsの中間要素:"+MA.Mid(fruits[1],fruits[2],fruits[4]));

count--;
if(count==0)break;
System.out.println("strMyGreaterコンパレータを使う");
MA.comp=new strMyGreater();
}
72デフォルトの名無しさん:2005/10/28(金) 01:38:08
System.out.println("iMyLessコンパレータを使う");
MA.comp=new iMyLess();
count=2;
int i;
while(true){
i=3;
while(i>0){
a=MA.getIRand(50);b=MA.getIRand(50);c=MA.getIRand(50);
System.out.print("a:"+ a +"b:"+ b +"c:"+c);
System.out.println("最小値:"+MA.Min(a,b,c));
i--;
}
73デフォルトの名無しさん:2005/10/28(金) 01:41:33
i=3;
while(i>0){
a=MA.getIRand(50);b=MA.getIRand(50);c=MA.getIRand(50);
System.out.print("a:"+ a +"b:"+ b +"c:"+c);
System.out.println("最大値:"+MA.Max(a,b,c));
i--;
}
i=3;
while(i>0){
a=MA.getIRand(50);b=MA.getIRand(50);c=MA.getIRand(50);
System.out.print("a:"+ a +"b:"+ b +"c:"+c);
System.out.println("中間値:"+MA.Mid(a,b,c));
i--;
}
count--;
if(count==0)break;
System.out.println("iMyGreaterコンパレータを使う");
MA.comp=new iMyGreater();
}
}
}
74デフォルトの名無しさん:2005/10/28(金) 01:42:24
↑が正しく動作しません。最小値と中間値と最大値を求めようとしてもゴチャゴチャになってしまいます
75デフォルトの名無しさん:2005/10/28(金) 11:11:18
例えば?
76デフォルトの名無しさん:2005/10/28(金) 11:47:50
インターフェースと抽象クラスの使い道がよくわかりません。
メソッドの内容がかかれてないのに、なんの役に立つのと初心者の私にはおもうのですが。
多重継承できないJAVAには必要とかかれてましたが、なおさらパニクってます。
77デフォルトの名無しさん:2005/10/28(金) 12:49:46
>>76
初心者は無理して使わなくていいので、自分で設計できるようになってから
もう一度考えてみましょう。(煽りじゃなくてマジで)
78デフォルトの名無しさん:2005/10/28(金) 12:56:13
>>76
デザパタの本嫁
ああいうことをやりたくなったとき必要
79デフォルトの名無しさん:2005/10/28(金) 16:49:07
サンクスです。まだ早いということですか。デザパタって
結城 浩の本でデザインパターンの本ありました。あれ読めばわかるのかな。
この人の本は読みやすくて好きです。
80デフォルトの名無しさん:2005/10/28(金) 16:58:15
>77
初心者は使わなくてもいいと言っても、
AWT使ったダイアログをクローズボタンで閉じたい時とか、
必要になるんじゃないかな
>アブストラクトは実体は作れない。継承もしくは引数として実体つくる。
81訂正:2005/10/28(金) 17:21:12
>AWT使ったダイアログをクローズボタンで閉じたい時

>AWT使った描画時
82デフォルトの名無しさん:2005/10/29(土) 15:20:57
>>56とは別人なのですが、>>56を教えてください
勉強になります。。
83デフォルトの名無しさん:2005/10/29(土) 15:27:50
>>82
char c = charAt(0);

とかやる
84デフォルトの名無しさん:2005/10/29(土) 15:28:38
↑間違い

char c = str.charAt(0);

とかやる
85デフォルトの名無しさん:2005/10/29(土) 15:32:08
86デフォルトの名無しさん:2005/10/29(土) 15:40:57
JAVAのコンパイル(javac)が10秒以上かかるのですが、
「ClassPath設定しなをせば?」といわれたのですが
どうやるんでしょうか?あと、yahooなどのゲームができない
(「JAVA 仮想マシン」をダウンロードというテロップが出て、
ダウンロードを押すと、No Java Installedというページに逝き、
画面の左上に赤い×がついてしまいます。
一応、JAVAも実行できる環境だし、インターネットオプション見ても
「JAVA SUN」に1項目、「マイクロソフト VM」に3項目、JAVA関連にチェックついてます。
JAVA SUNをインストールしているとJAVA VMはインストールできないんでしょうかねぇ・・
ほとんど知識ないまま質問してしまいましたが、JAVAのコンパイル速度と、ヤフーゲームなどを
できるように直したいです。宜しくお願いします。
87デフォルトの名無しさん:2005/10/29(土) 15:48:17
88デフォルトの名無しさん:2005/10/29(土) 16:04:13


もうすぐ『JavaOne』 

http://jp.sun.com/company/events/javaone/2005/
89デフォルトの名無しさん:2005/10/29(土) 16:10:30
XPであるなら、まず、コマンドファイルのあるパスPATH=で、%PATH%は、前に定義したPATHをそのまま使うという意味。
Cドライブのautoexec.batファイルをテキストで開く。
それを、安全のために別の場所にコピーして保管しておく、
autoexec.batのテキスト編集で、ケツに
PATH=javaのbinフォルダディレクトリ;%PATH%
とやれば、コマンドファイル検索を真っ先にjavaのbinフォルダからやってくれる。
ただし、前のPATH=に空白文字がある場合、2つ目のPATH=は読まれない。
その場合は、1行目のPATH=〜に;javaのbinフォルダを後ろにつけ、
1行でPATH=〜;javaのbinフォルダディレクトリ
とする。
要は、PATHというのはDOSコマンドがどこからでも効かせられますよ、という設定。
もちろん、そのコマンドファイルのあるディレクトリにいれば、PATHになくとも実行できる。
JAVAVMはOSに付属してるものだから、JAVAの種類どうしでぶつかるということはない。
90デフォルトの名無しさん:2005/10/29(土) 16:19:08
XPでautoexecかよ・・・ジジイはくたばれ
91デフォルトの名無しさん:2005/10/29(土) 17:49:20
XPはNT系なんだな>NTFS
システムのプロパティから環境変数らしい
OS変えないと化石化か
92デフォルトの名無しさん:2005/10/29(土) 18:02:58
環境変数pathの設定について質問です。
SDKをインストール後、システムから環境変数pathに
「;C:\Program Files\Java\jdk1.5.0_05\bin」
を加えました。
しかし、コンパイルをすると
「Exception in thread "main" java.lang.NoClassDefFoundError:Test」
と出てきます。
上のエラーは環境変数pathに書き加えをしていない時にでるものかと
思いますが、なぜかこのエラーが出てきます。
理由としてどういうことが考えられますでしょうか。
分かるかた、アドバイスお願い致します。
93デフォルトの名無しさん:2005/10/29(土) 18:12:43
このスレで質問するからわからないんだ
9486:2005/10/29(土) 18:52:35
>>92
質問の答えにはならないと思うけど、
ファイル名がa.javaなら、
ソースは、class a(←ファイル名) {
にしないと動かないよ。
って知ってるか‥
95デフォルトの名無しさん:2005/10/29(土) 19:10:11
>>94
はい、それは大丈夫です。
どうやらコンパイルはできているようで、classファイルは作られています。
C:\Program Files\Java\jdk1.5.0_05\binにはexeファイルがたくさん入ってますが
このフォルダでいいのでしょうか。
96デフォルトの名無しさん:2005/10/29(土) 19:22:16
>>95
コンパイルオプションに -classpass .
が入ってないとかじゃないの
97デフォルトの名無しさん:2005/10/29(土) 19:22:50
>>96はまちがい classpath .
9892:2005/10/29(土) 21:35:36
>>97
CLASSPATH環境変数は
set CLSSPATHで見てみましたら、
「CLATHPASS=C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip」
となっていました。

99デフォルトの名無しさん:2005/10/29(土) 22:04:32
>>98
だったら、javac の -cp オプションで直接指定すれば確実
100デフォルトの名無しさん:2005/10/29(土) 22:10:37
結構いい情報が乗っているサイトなので参考までに乗せて起きます
http://www.sumnet.ne.jp/domp/jsbs/
101デフォルトの名無しさん:2005/10/29(土) 22:54:18
C:\>set CLSSPATH
構文エラーです.

となるんですが、
設定できていませんか?
102デフォルトの名無しさん:2005/10/30(日) 01:31:33
103デフォルトの名無しさん:2005/10/30(日) 02:28:19
>>102
ありがとう。
javacコンパイルに6,7秒くらいかかるんだけど
これは仕様なんですね。
10492:2005/10/30(日) 13:10:10
>>99
ありがとうございました。
105デフォルトの名無しさん:2005/10/31(月) 23:02:01
JDBCと組み合わせて商品発注受注管理するデータベースつくりたいのだけど、
どういった本よんだらいいでしょうか。GUIはvisualediterつかおうとおもうのですが。
106デフォルトの名無しさん:2005/10/31(月) 23:09:34
10日で覚えるJAVAの本買ったのですが、理解できないところあるので、ご示唆ください。
public〜略
public static〜略

String myStr = new String("サンプル”)
System.out.println(myStr);
以下略
実行結果はサンプルを表示するのはわかるのですが、
Stringは文字列を扱うということは分かるのですが、 myStrと newStringの意味がわかりません。

myとnewの使い方の意味をおしえてください。
107& ◆D3ra0B2LiQ :2005/10/31(月) 23:15:31
>>106
myStrのmyとは、自分で作った変数だよということを示すために
便宜的につけてるだけ。yourStrでもaでも、とにかく予約語とかぶらなければ
何でもいい。
new String()はStringくらすのオブジェクトを造るということ。
がんがれ
108デフォルトの名無しさん:2005/10/31(月) 23:59:53
>>107
分かりやすい説明ありがとうございました。
myStrはなんでもよかったんですね。
これ以降 myReader とか newBurreredReaderとか色々でてきて混乱してました。

ただ今やってる章では メソッドやオブジェクトやフィールドやコンストラスタ等基本となる言葉がでてきて
いっぱいいっぱいですが、又分からない所あればこのスレで聞きにきます。どうもありがとうございました。
109デフォルトの名無しさん:2005/11/01(火) 18:06:40
>>106
10日で覚えるなんてムリだから
もっと詳しい解説書も併用しなされ
110デフォルトの名無しさん:2005/11/03(木) 00:34:42
コンパイルに10秒以上くらいかかるのですが、
もっとはやくできませんか?OSはMEで参考書どおり、
PATHの最後に「;C:\jdk1.5.0_05\bin」を追加、
JAVA_HOMEに「C:\jdk1.5.0_05」
CLASSPATHに「.;C:\jdk1.5.0_05\lib\tools.jar」
としたのですが・・。よろしくお願いします。

C:\jdk1.5.0_05\bin>javac -verbose c.java
[c.java を構文解析開始]
[500ms で構文解析完了]
[ソースファイルの検索パス: [., C:\jdk1.5.0_05\lib\tools.jar]]
[クラスファイルの検索パス: [C:\JDK1.5.0_05\JRE\lib\rt.jar, C:\JDK1.5.0_05\JRE\li
b\jsse.jar, C:\JDK1.5.0_05\JRE\lib\jce.jar, C:\JDK1.5.0_05\JRE\lib\charsets.jar,
C:\JDK1.5.0_05\JRE\lib\ext\dnsns.jar, C:\JDK1.5.0_05\JRE\lib\ext\sunjce_provide
r.jar, C:\JDK1.5.0_05\JRE\lib\ext\sunpkcs11.jar, C:\JDK1.5.0_05\JRE\lib\ext\loca
ledata.jar, ., C:\jdk1.5.0_05\lib\tools.jar]]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/lang/Object.class) を読み込み中]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/lang/String.class) を読み込み中]
[c を確認中]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/lang/System.class) を読み込み中]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/io/PrintStream.class) を読み込み中]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/io/FilterOutputStream.class) を読み込み中]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/io/OutputStream.class) を読み込み中]
[c.class を書き込み完了]
[合計 13570ms]
111デフォルトの名無しさん:2005/11/03(木) 00:44:35
高機能PCを導入すれば簡単だお
112デフォルトの名無しさん:2005/11/03(木) 01:09:07
>>111
センクス!
113デフォルトの名無しさん:2005/11/03(木) 02:18:11
>>110
-verbose やめたら?
javac c.java
でいいじゃん
114デフォルトの名無しさん:2005/11/03(木) 02:52:58
>>113
はい。普段はやってないですが
コンパイルの動作を確認するということでやってみました。
(でも-verboseつけてもコンパイルの時間はたぶん変わらないようですよ)
ちなみに参考書のほうは[ソースファイルの検索パス: と
[クラスファイルの検索パス:の行がなくて、
上のだと
[c.java を構文解析開始]
[500ms で構文解析完了]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/lang/Object.class) を読み込み中]
[C:\JDK1.5.0_05\JRE\lib\rt.jar(java/lang/String.class) を読み込み中]
[c を確認中]
〜という風に動作してたみたいです。
115デフォルトの名無しさん:2005/11/03(木) 03:23:30
>>114
あくまで俺の環境でなんだが
コマンドラインで直接打ち込むより
ビルドツールAntを使ったほうがわずかに早いような気がする
116デフォルトの名無しさん:2005/11/03(木) 13:36:44
JAVAの初心者なんですが、
anyとかeclipseとか入れたほうがいいですか?
あと、MKEditorっていうので、JAVAをする方法がよく分かりません‥。
本体とjava.lzhとjavascript.lzhをDLしたのですが。
あと、環境変数をANTでJAVAを実行する用に書き換えたら、jdk1.5.0_05は環境変数をまた書き換えない
と使えなかったりしますか?共存できない、片方に依存する、みたいな。
117デフォルトの名無しさん:2005/11/05(土) 05:59:53
初めてJava appletを作ってるのですが(入門HPのコピペで作成してみました)
appletviewerでは動作確認出来るのに
ブラウザでJavaが動作しません

ほかの人が作ったアプレットはプラウザでもちゃんと動作します

どの辺りに原因があるのでしょうか?
118デフォルトの名無しさん:2005/11/05(土) 09:04:36
>>117
セキュリティに関する原因だな
appletviewerは一般的なブラウザと違って権限が非常にゆるいから何でも実行できる
普通のブラウザでは、適切に権限を設定し署名が無いとIO周りやシステム情報の取得なんかが出来ないようになってる
119デフォルトの名無しさん:2005/11/05(土) 13:14:11
>>118
なんだか難しいですね^^;
サーバーにアップしてみたところ無事に動作しました
自分のPCで完全テスト出来ないのはつらいですが
appletviewerで頑張ってみる事にします
120デフォルトの名無しさん:2005/11/07(月) 13:54:39
メソッドでoptionalの引数ってどうやって定義すればよいでしょうか?
121デフォルトの名無しさん:2005/11/19(土) 20:38:04
Cのlocate(int x, int y)に相当する命令はどこのクラスにあるんでしょうか?
122デフォルトの名無しさん:2005/11/19(土) 20:42:22
ごめんなさい自己解決しました
んな命令ないですな Cにも
123デフォルトの名無しさん:2005/11/19(土) 22:21:29
改めて質問させてもらいます。
コンソール上でCの printf("\033[%d;%dH", x, y); のように、指定した位置に文字を書きたいのですが
どうしたらいいのでしょうか?
printlnやprintだと上のような書き方はできないようですが・・・
124デフォルトの名無しさん:2005/11/19(土) 22:22:54
>>123
つ[java.text.MessageFormat]
125デフォルトの名無しさん:2005/11/20(日) 00:06:23
>>124
ありがとうございます。無事解決できました。
が・・・WinXPや2000ではコンソール上の画面消去や座標指定のエスケープシーケンスは使えないらしく
きちんと動作しませんでした。
これはOSの仕様なのでJavaでどうにかなる問題ではないですよねw
126& ◆zLXgQexfRg :2005/12/28(水) 20:56:50
デスクトップアプリにオリジナルのアイコンを設定する方法を
探しています。よろしければアドバイスをお願いします。
127デフォルトの名無しさん:2005/12/28(水) 22:59:45
>>126
JFrame#setIconImage()
128デフォルトの名無しさん:2006/01/25(水) 17:18:55
ボタンを押したら録音を開始できるようにしたいのですが、
録音をすることができるクラスをボタンを押すことで実行させるには
どうすればいいのでしょうか。アドバイスをお願いします。
129デフォルトの名無しさん:2006/01/25(水) 21:09:12
130デフォルトの名無しさん:2006/01/26(木) 00:39:05
>>129
解決しました。ありがとうございました。
131デフォルトの名無しさん:2006/01/27(金) 17:09:29
Javaでリバーブやピッチシフトなどの音声加工を
行う方法ってあります?
132デフォルトの名無しさん:2006/02/02(木) 14:17:07
【課題】試験の点数(0〜100の整数値)を読み込んで平均を出すプログラム。
点数の入力の終わりは文字列”END”の入力で示す。
正常でない入力に対しては警告を出す。

入門書では最初に人数を入力する方法しか載っていなかったので分かりませんでした。
すみませんが、教えてください。
133デフォルトの名無しさん:2006/02/02(木) 14:26:54
>>132

★★ Java の宿題ここで答えます Part 55 ★★
http://pc8.2ch.net/test/read.cgi/tech/1138281809/
134132:2006/02/02(木) 14:31:37
すみませんでした、そちらで質問します。
135デフォルトの名無しさん:2006/02/10(金) 14:54:58
この前まで、Cの勉強をしていたものです。
えっと、今度からJAVAをはじめようと思っています。
それで、参考書として、定評のある独習JAVAの購入を
考えているのですが……。
友人の話によると、JAVAのバージョンが変わったせいで、
現在の独習JAVA(第三版)に書かれている内容
と変わった部分が多いのだとか。
ちょっと、迷っているのですが、
これはいっそのこと、別の参考書を探したほうが良いんでしょうか?
136デフォルトの名無しさん:2006/02/10(金) 15:40:39
>>135
根本がひっくりかえっているわけでもないんだし
あまり気にすることないんじゃない?
それよりもあの分厚い本から入って途中で
投げ出したりしないかのほうが気がかりだが・・・
137デフォルトの名無しさん:2006/02/10(金) 16:46:46 BE:575669287-
eclipseに「環境変数のPATHにJDKのbinへのパスを追加する」っていうのは、どうやるのかおしえてくれ
138デフォルトの名無しさん:2006/02/10(金) 16:51:09
態度がでけえな
139デフォルトの名無しさん:2006/02/10(金) 16:51:33
目黒のデブサミに行ったら
受付の女の人がきれいな人ばかりでした。
どうやれば友達になれますか?
140デフォルトの名無しさん:2006/02/10(金) 16:57:12 BE:647628179-
>>138 VIPからキタからデフォがこの態度 かんべん
141デフォルトの名無しさん:2006/02/10(金) 19:46:22
ならVIPに帰ればいいだろ
142デフォルトの名無しさん:2006/02/10(金) 20:05:49
>>140
何をどうすればいいのか知っていても
こういう手合いには何一つ教える気になれないなw
143デフォルトの名無しさん:2006/02/16(木) 16:36:46
超初心者です。コンパイルができずにかれこれ1日位ネット上を
彷徨ってて、手がかりが掴めず困ってます。
環境変数は色々試しました。現在は、
set path
PATH=;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM;%JAVA_HOME%\bin;C\Progra
m Files\Java\jdk1.5.0\bin;C:\Program Files\java\jdk1.5.0\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

set classpath
CLASSPATH=.\;C:\Program Files\java\jdk1.5.0\lib\tools.jar

JAVACを打つと、下記の通りになります。JAVAC自体はできるようなのですが??
javac Test1.java.txt
javac: test1.java.txt は無効なフラグです。

javac −cp Test1.java.txt
javac: ソースファイルがありません。
(dirで見たらあるみたいなんだけど??)

よもやソースがおかしいとは思えませんが、一応↓
public class Test1
{
public static void main(String[] args)
{
System.out.println("Hello.");
}
}
OSはWIN2000です。
どうか教えてください。おねがいします。
144デフォルトの名無しさん:2006/02/16(木) 18:28:01
>143
拡張子は.java固定だからリネームしないとダメ。
拡張子見えないならフォルダオプション開いて
「登録されているファイルの拡張子は表示しない」のチェックをはずす。
あるいはコマンドプロンプトで

>ren Test1.java.txt Test1.java

でもできる(多分)
145デフォルトの名無しさん:2006/02/16(木) 23:04:10
自己解決しました。デフォルトのメモ帳使って書いてたのを、フリーソフトの
"TERAPAD”でソース書いたらあっさり通った。本でもメモ帳で書いてたのに。
ゴルァ!!ゲイツ!俺の1日を返せ馬鹿野郎!
"microsoftのアプリケーションは糞!”は俺の中で確定。
146デフォルトの名無しさん:2006/02/16(木) 23:16:37
>>145
おまえ、ホームラン級の馬鹿だな。
147デフォルトの名無しさん:2006/02/21(火) 13:18:17
>>145
ワロタ。ういんど〜ずの基本から学んだら?
148デフォルトの名無しさん:2006/02/21(火) 14:19:19
JAVAで作ったWinソフトってなんであんなに汚らしいのですか?
149デフォルトの名無しさん:2006/02/21(火) 14:34:07
すんません、超初歩的な質問だと思いますが質問です。

testというクラスをnewでインスタンス化したあと、またtestというクラスをインスタンス化するとどうなるんでしょうか?
いままであったtestというクラスが消えて新しいtestというくらすができるんですかね。
それとも同じ名前のクラスが二つできる?それはありえない気がしますが・・・
150デフォルトの名無しさん:2006/02/21(火) 16:05:23
同じクラスのインスタンスが2つできる
151デフォルトの名無しさん:2006/02/21(火) 17:07:24
あ、っと言い方が悪かったです。すいません。
同じ名前のオブジェクトをつくるとどうなるんですかね?例えば極端ですが
listcanvasというクラスがあってlcanvasというオブジェクトを作ったときに

lcanvas = new listcanvas();
lcanvas = new listcanvas();

とやるとどーなるんでしょうか?
152デフォルトの名無しさん:2006/02/21(火) 17:14:56
最初のやつはいつかガベージコレクタによって消される
それまでは、どこかに存在する。アクセスできないけどな
153デフォルトの名無しさん:2006/02/21(火) 19:58:34
つまり、一時的にムダにメモリ内に残ってるわけですね・・・
メモリカツカツな状態だとメモリ足りないってことになるのかぁ・・・

じゃぁスレッドも同じ感じですかね。
スレッド実行中に同じ名前のスレッドを作ると
新しいスレッドができて古いスレッドはとめられてゴミ箱逝き(いつか完全に消える)
ってなるのかな
154デフォルトの名無しさん:2006/02/21(火) 22:25:14
>153
スレッドは強制的には止まらない。
参照が切れてもそのスレッド自体が止まる(run()から抜ける)まで働き続ける。
同一ファイルへの書き込みとか同時に実行したら中身ぐちゃぐちゃになるし、
停止条件が成立するのにその参照からのアクセスが必要な場合は止まんなくなる。
155デフォルトの名無しさん:2006/02/22(水) 00:09:39
ここって、JSPの質問でもOK?
156デフォルトの名無しさん:2006/02/22(水) 01:01:30
まあいいんじゃね。
だめだったら俺があやまってやるから。
とりあえずいってみよう。
157デフォルトの名無しさん:2006/02/22(水) 06:56:02
>>154
返事遅れましたがありがとうございます!
うーん、じゃぁスレッドの再起動は同じスレッドを作り直すより
スレッドの中の変数を初期化させたほうがよさそうですね・・・
158デフォルトの名無しさん:2006/02/22(水) 07:36:17
TOMCAT入れて、JSPのプログラムをテストしてるんだけど
無限ループにハマッたプログラム(JSP)ってどうやって殺せばいいのかな?

まぁ無限ループするコードを書く時点でダメダメだと思うんだけど・・・・
159デフォルトの名無しさん:2006/02/22(水) 12:21:32
確認のために訊くが、それは、無限ループを直さないつもりと言うことか?
ありえん。直せ。

殺す方法?
$CATALINA_HOME/bin/shutdown.sh
だ。わかったか。
160デフォルトの名無しさん:2006/02/22(水) 13:21:04
ワロタ
161デフォルトの名無しさん:2006/02/22(水) 13:45:54
>>151
お前は重大な認識誤りをしている。オブジェクト(インスタンス)には名前など付けられない。
lcanvasはそのスコープでの変数名であって、オブジェクト(インスタンス)の名前ではない。

変数には、オブジェクト(インスタンス)がメモリ上のどこにあるのかの情報が入っているだけ。

それを理解すれば、最初のインスタンスが、メモリ上に迷子になることは容易に理解できるだろう。

>>157
初心者がオブジェクトのカスによるメモリ使用量とか気にするな。
初心者が作る程度のプログラムなら、今日日のPCでは普通は違いなんて出ない。
それより先に学ぶべき大事な事が幾らでもある。
162デフォルトの名無しさん:2006/02/22(水) 13:46:30
テストつってんだからデバッグ中ということでしょう
163デフォルトの名無しさん:2006/02/22(水) 13:53:10
デバッグ中で無限ループに困ってるんなら、まずその無限ループを直せよ。
kill -QUIT で場所は直ぐ解るだろ。
164デフォルトの名無しさん:2006/02/22(水) 13:57:31
その kill -QUIT を教えてくれということではw
165デフォルトの名無しさん:2006/02/22(水) 14:01:53
そういうことかw。いっとくが、killだがこれは殺すのではないぞ。

Java スレッドダンプ kill QUIT ←このあたりでググれ。
166デフォルトの名無しさん:2006/02/22(水) 20:48:02
>>161
最初に関しては了解しました

しかしながら二つ目に関してはそうもいかんのですよ。
PCならメモリ潤沢ですがケータイjavaですので・・・
さくっとメモリ不足になってしまう模様OTL

ファイルあるはずなのにFileNotFoundExceptionとかでるし。
実際10KBの画像は読み込むけど100KBの画像は読み込めない罠。
しかしヒープメモリは100KB以上あるはずなのになぜ・・・
そんな俺の書いたソース糞メモリ食ってるんだろうか。
167デフォルトの名無しさん:2006/02/23(木) 09:47:04
>>166
どこからも参照してないオブジェクトはガベコレで消える
スレッドはシグナル受け取れれば終了させられるだろ
終了したらそのうち消える
168デフォルトの名無しさん:2006/02/23(木) 10:51:16
>>166
携帯か。初心者にはよろしくないなぁ…。
まあ、スレッド(Runnable)の変数をクリアして使い回すってのは、
Tomcatもやってるし。
169デフォルトの名無しさん:2006/02/25(土) 02:27:39
厨質問失礼 
staticメソッドってローカル変数もstaticなんでしょうか。 

tomcat用のマルチクライアントのアプリで 
ユーティリティクラス作っててふと思ったんす。 
もしこのstaticメソッドのローカル変数がstaticだと 
他のクライアントから中身変えられちゃうんかな、と
170デフォルトの名無しさん:2006/02/25(土) 05:40:23
Javaアプリケーションが非アクティブな状態の時にも、
マウスリスナーとかを受け付けるようにしたいんですが、
どうやったらいいんでしょうか?
171デフォルトの名無しさん:2006/02/25(土) 11:36:45
テキストデータの指定行だけ読み込むことはできますか?
172デフォルトの名無しさん:2006/02/25(土) 12:30:06
>>169
メソッド内のローカル変数に、staticも糞もない。
そのメソッドを実行している間のみ存在するんだから、
インスタンス毎とかクラス毎とか関係ない。呼び出し毎の存在。

173169:2006/02/25(土) 14:22:54
>>172
staticメソッドは存在自体はstaticだけど
その中のローカル変数は非staticメソッドと同じく
スタックに保存されるっつーことですね
174デフォルトの名無しさん:2006/03/01(水) 22:24:08
質問です。

bool f()
{
if(...) return true;
else return false;
}

こういうとき、elseはあってもなくても結果は同じですが、
書いた方がいいのでしょうか?
175デフォルトの名無しさん:2006/03/02(木) 00:08:20
>174
条件式がそんなに長くないなら、

bool f()
{
return (...);
}

の方がストレート。
176デフォルトの名無しさん:2006/03/02(木) 00:10:18
おれならこうだな。

boolean f() {
  boolean ret = false;  
  if (...) ret = true;
  return ret; 

177デフォルトの名無しさん:2006/03/02(木) 01:38:34
>>176
うわ、最悪だ。その書き方。
178デフォルトの名無しさん:2006/03/02(木) 10:22:30
関数1つにreturnは1つの縛りがあるとそうなるな
179デフォルトの名無しさん:2006/03/02(木) 23:12:38
「入り口一つ出口一つ」って基本じゃないの
出口がたくさんある関数ってなんかうっとうしい気ガする
180デフォルトの名無しさん:2006/03/02(木) 23:31:12
自分はよくfor文の中でいきなりreturnしたりするんだけど
181デフォルトの名無しさん:2006/03/02(木) 23:53:14
確かに最悪。
>>176
refなんて作らなくても直でtrue戻せはいい。
staticクラスで値を保持する必要がある場合を除く。
>>174
elseは入れる癖を付ける。
VSのC#はないとコンパイルエラーになる。
182174:2006/03/03(金) 00:15:42
>>181
private bool f(int i)
{
if (i == 0)
return true;
return false;
}

VS2005のC#で試したけどこれでもコンパイル通ったよ?
まあ、確かにelseをつけた方がわかりやすそうなのでつけるようにします。
183デフォルトの名無しさん:2006/03/03(金) 07:42:23
>>182
細かくて申し訳ないが

private boolean f( int i )
{
if( i == 0 ){
return true ;
}
return false ;
}

のように、IF構文でのブロックでは、1行でもカッコでくくるクセを付けた方がいいと思う。
184デフォルトの名無しさん:2006/03/03(金) 09:20:33
>>183
その理由は?
185デフォルトの名無しさん:2006/03/03(金) 10:40:58
>>179
かといってそれでフラグだらになったりifのネストが深くなったら
見苦しい感じがする。(Javaなら try catch とかうまくやればそう
なる可能性も低いかな?)
186デフォルトの名無しさん:2006/03/03(金) 12:12:59
>185
if のネストが深くなりすぎる頃には
重複コードの問題で分割しているような。

int result;
endOfMethod:
do {
...
break endOfMethod;
...
} while(false);
return result;

gotoもどき文を使うのは抵抗があるが、
意図的に例外を発生させるのは最悪。
無駄なスタックトレース作ったりするから。
187デフォルトの名無しさん:2006/03/04(土) 01:06:28
ifでどんどんネスト深くするコードって見てらんない。
int hoge() {
  if (xxxxx) {
    xxxx
    if (yyyyy) {
      yyy
      if (zzzz) {
        zzzz
        return a;
      }
    }
  }
 return -1;
}
こうしろよ
int hoge() {
  if ( !xxxxx) {
    return -1;
  }
  xxxx
  if ( !yyyyy) {
    return -1;
  }
  yyy
  if ( !zzzz) {
    return;
  }
  zzzz
  return a;
}
188デフォルトの名無しさん:2006/03/04(土) 01:34:05
>>187
出口多すぎだっつーの。
こうしろ

int hoge() { 
  int ret=0;
  if ( !xxxxx) { 
    ret = -1; 
  } 
  xxxx 
  if ( !yyyyy) { 
    ret = -1; 
  } 
  yyy 
  if ( !zzzz) { 
    ret = 0; 
  } 
  zzzz 
  return ret; 

189デフォルトの名無しさん:2006/03/04(土) 01:46:14
出口が多いからなんだ?
無駄にステップ走らせたらつまらんバグが入る危険が高まるだけ。
だいたい無駄な変数と参照が増えること自体、バグの元な訳だが。



190デフォルトの名無しさん:2006/03/04(土) 10:59:41
gotoスレでやるといいじゃないかな。
191デフォルトの名無しさん:2006/03/04(土) 11:42:05
>>183
K&R信者は、ifの中身が1行の時にカッコ付けると文句言うよ。
192デフォルトの名無しさん:2006/03/04(土) 13:07:17
>>189(=>>187)の言うとおり。 実際、見事>>188はバグってるしな。
193デフォルトの名無しさん:2006/03/04(土) 16:01:22
Javaスレでスタイルの話してるのに
K&Rなんて大昔の様式は知ったこっちゃねえと思うが。
194デフォルトの名無しさん:2006/03/04(土) 21:10:16
ifの中身が1行だけの時はブレースを付けないというのは、結構歴史のある規則だよ
今でもFreeBSDのカーネルソースファイルなんかはそうなっている

http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=style&dir=jpman-5.4.0%2Fman§=0
>予約語 (if, while, for, return, switch) の後にスペースを入れます。何も伴
>わないか、ただ 1 つの文を伴う制御文は、ブレース (`{' および `}') を使用し
>ません。

まぁ、ここはJavaスレなんだからそんなんシラネ、というツッコミも勿論ありだけどね
195デフォルトの名無しさん:2006/03/05(日) 14:18:05
int hoge() {
return -1;
}

これで良いんじゃね?
196デフォルトの名無しさん:2006/03/11(土) 19:28:57
Object methodA(...) {
....
if(....) {
return ....;
}
return ....;
}

Object methodB(...){
...
if(...){
return ...;
} else {
return ...;
}
}

methodAとmethodB、どっちの書き方の方が良いの(王道)ですか?
197デフォルトの名無しさん:2006/03/12(日) 09:51:33
>>196
>>174以降
198デフォルトの名無しさん:2006/03/18(土) 17:15:38
これからJavaの勉強をはじめるのですが、
j2eesdk-XXXXX-XXX.exe
jdk-XXXXXX-XXXX.exe
とどっちをインストールしたらいいですか?
199デフォルトの名無しさん:2006/03/18(土) 17:18:23
>>198
それを自分で調べる事が勉強の始まり
200デフォルトの名無しさん:2006/03/18(土) 17:23:25
>>199
厳しいですね。
とりあえず、調べた感じでは、
上はサーバーやらなんやらがついてて、
下はとりあえずJavaの開発で必要最低限のもの
ということがわかりました。
あとで追加できるかどうかはよくわからないですが、
初心者のうちに今は必要なさげな機能やツールを目にするのも嫌なので
下をインストールしておくことにしました。
201デフォルトの名無しさん:2006/03/18(土) 17:46:21
TextSSの64bit化ってできない?
http://www.vector.co.jp/soft/win95/util/se072729.html
202デフォルトの名無しさん:2006/03/18(土) 22:18:42
↑マルチ失せろ
203デフォルトの名無しさん:2006/03/18(土) 22:34:12
ホゲって何?
204デフォルトの名無しさん:2006/03/18(土) 22:45:01
hogeでぐぐれ
205デフォルトの名無しさん:2006/03/20(月) 11:45:54
Cはプログラミング言語C
C++はプログラミング言語C++と注解C++リファレンスマニュアル(ARM邦訳)
Delphiは付属のObjectPascal言語ガイド
で学んだのですが、Javaを学ぶためのお勧めの書籍を教えてください。
206デフォルトの名無しさん:2006/03/21(火) 21:30:37
>>205
コアJava
207デフォルトの名無しさん:2006/03/25(土) 15:34:48
C、C++の経験はあるのですが、Javaはこれから始めるところです。
コンパイルするためにはどれをダウンロードしてインストールすればよいのでしょうか?
http://java.sun.com/j2se/1.5.0/ja/download.html
このページまでは行ったのですが、どれをダウンロードすればよいのかわかりません。
まずはコマンドラインとテキストエディタで始めるところからやりたいのですが。
OSはWindowsです。
208デフォルトの名無しさん:2006/03/25(土) 15:44:00
入門書買ってきたほうが近道だぞ
209デフォルトの名無しさん:2006/03/25(土) 16:42:50
>>207
JDK 5.0 Update 6 JVM テクノロジを含む

のとこの

JDK のダウンロード

でいいんじゃないか?
210デフォルトの名無しさん:2006/03/27(月) 15:15:29
http://java.sun.com/j2se/1.5.0/ja/download.html
のJ2EE1.4の所に、「JDK5.0を含む」って書いてあるけど、J2EE入れればJ2SEも入っているって解釈でおk?
211デフォルトの名無しさん:2006/03/28(火) 01:54:06
JDK 5.0 Update 6 JVM テクノロジを含む
にしなされ。

J2EE に手を出すのは慣れてからでも遅くない。
212デフォルトの名無しさん:2006/03/28(火) 09:55:37
>>211
いや、Java自体はもうけっこういぢってるんですよ。
ただ、今回J2EEを勉強することになってダウンロードした時に、J2SEとJ2EEは両方ともインスコする必要あるのかなー、ってふっと気になった訳です。
J2EE入れたらPATHも違うし。
流石にくだらなすぎる質問なんで、ここで聞いてみた次第です。

で、いちおー自己解決しました。
ちゃんとJDK5.0が入ってました。
213212:2006/03/28(火) 10:34:17
うそでした。
JDKのバージョン古かったです。orz
214デフォルトの名無しさん:2006/05/15(月) 12:10:48
写真を選択してアップロードするアプレットを作っているのですが、
アプレットではローカルファイルにアクセスできないのでしょうか?

215デフォルトの名無しさん:2006/05/15(月) 18:24:32
そんなのwinnyのウィルスと一緒じゃないか
216デフォルトの名無しさん:2006/05/16(火) 00:20:49
>>214
署名すれば出来るよ。
217デフォルトの名無しさん:2006/05/17(水) 08:37:44
Javaでプログラミングの勉強を始めようと思うのですが、
ソースはテキストエディタで書くつもりです。
Windowsでコマンドプロンプトからコンパイルするつもりです。
サンのサイトからはどれをダウンロードしてくればよいのでしょうか?
218デフォルトの名無しさん:2006/05/17(水) 13:19:10
NetBeansが入ってない、素のJDK(JavaSDK)。JREはだめ(開発できない)。
219デフォルトの名無しさん:2006/05/17(水) 20:24:09
220デフォルトの名無しさん:2006/05/20(土) 04:51:15
初心者の質問ですまそ。
Servletをクライアント側プログラムとして使うことってできるのでしょうか?(定期的にサイトを巡回するサーブレット)

というのも、定期的にお気に入りのサイトを巡回し、データを収集、
ブラウザからは収集結果を見れるだけでなく、巡回するサイトの変更も行えるツールを作ろうと思ったのです。

巡回ソフトを別に作って、RDBに収集データを格納。
Servletでは、RDBを読み込んでブラウザに返すという方が手っ取り早いと思ったのですが、
別アプリとして作ると、巡回ソフトの設定変更が大変?!ぽいので、ふと全てServletでできないのかなっと思ったわけです。
頭弱くてすまそ。。。
221デフォルトの名無しさん:2006/05/20(土) 11:01:19
やめとけ。適材適所を覚えねば、ますます頭が弱くなる。
222 :2006/05/27(土) 20:26:30
JDK 5.0 Update 5をインストールしていてJDK 5.0 Update7が出たからインストールしようと思うんですど、
これは一部のファイルを書き換えてアップデイトするの?
それとも一から一式インストールするの?
あらかじめ古いJDKはアンインストールすべきなのか、してはいけないのか、どうなんでしょう。
223デフォルトの名無しさん:2006/05/28(日) 02:23:56
Windowsならアップデータ(MSupdateみたいの)がなかったっけ?
224デフォルトの名無しさん:2006/05/29(月) 12:53:43
こんにちは。JAVAの勉強を始めて2ヶ月の初心者です。
MIDP関連で恐縮ですが、ネットで色々検索しても解決できなかったので、
こちらで質問させてください。
 
RecordStoreでint型のデータを保存したいのですが、
int型の変数をbyte配列に換える方法がわかりません。
今はとりあえず、int型変数をtoString()でstring型変数に変換してから
そのstring型変数をgetBytes()でバイト配列に変換する、
という手順を使ってます。
一発でint型変数をbyte配列に変換するメソッドとかはあるのでしょうか?
ご存知の方がいらっしゃいましたら、どうかご教授ください。
225デフォルトの名無しさん:2006/06/03(土) 13:06:00
eclipseで作ったプログラムをcygwin上で実行するにはどうしたらいいんですか?
226デフォルトの名無しさん:2006/06/05(月) 11:47:15
質問です
コマンドプロンプトでコンパイルエラーが複数行出ても、ログが流れてしまって、上にスクロールできないので困っています。
Win98SEなんですが。これって流れたログを読み返す方法ないんでしょうか?
あとTABであく空白の文字数の設定の仕方を教えてください。
227デフォルトの名無しさん:2006/06/05(月) 12:38:30
リダイレクトやmore
228デフォルトの名無しさん:2006/06/05(月) 12:52:27
98SEって、DOS窓のプロパティに、バッファサイズ設定なかったっけ?
TABの文字数はJavaじゃなくてエディタの設定だろ。エディタ依存。
229226:2006/06/05(月) 15:08:59
わかるように教えてくれませんか。
230デフォルトの名無しさん:2006/06/05(月) 16:56:27
>>229
d:\ javac source.java > error.log
231226:2006/06/06(火) 22:33:54
>>230
うほっ、ありがとうございます。
232デフォルトの名無しさん:2006/06/07(水) 03:02:19
ケネディを撃ったのは運転手
233デフォルトの名無しさん:2006/06/08(木) 16:22:41
javaを独学でやろうと思うのですが
何かお勧めの本ありますか??
ちなみに超初心者です。
あと英語わからないと難しいですか??
英語はあまり得意じゃないんですけど
234デフォルトの名無しさん:2006/06/08(木) 17:42:04
いちからならこれがいいとおもふ
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797332115
235デフォルトの名無しさん:2006/06/08(木) 17:58:12
質問なんですが。

public class Hello {
private static void helloWorld() {
System.out.println("Hello World");
}

public static void main(String[] args) {
helloWorld();
}

}
で実行するとhelloworldとでますよね??

public class Hello1 {
private static void helloWorlddaa() {
System.out.println("Hello World");
}

public static void main(String[] args) {
helloWorlddaa();
}

}
でやるとhelloworldとでます。
なぜhelloWorlddaaとでないのですか?
236デフォルトの名無しさん:2006/06/08(木) 18:02:24
>>235です
すいません
理由がわかりました
237デフォルトの名無しさん:2006/06/08(木) 19:09:38
( ´∀`)σ)´Д`)
238デフォルトの名無しさん:2006/06/09(金) 11:11:32
>>235
ワロタ
239デフォルトの名無しさん:2006/06/09(金) 11:41:13
>>235-236
癒されたw
240デフォルトの名無しさん:2006/06/11(日) 13:39:58
JDK 5.0 しか入れていないはずなのに、

C:\Windows\System32\Java.exe
C:\Program Files\Java\jdk1.5.0_07\jre\bin\java.exe
C:\Program Files\Java\jdk1.5.0_07\bin\java.exe
C:\Program Files\Java\jre1.5.0_07\bin\java.exe

こんなにもたくさんJVMがあります。
いったいこいつらはどこから沸いてきたのでしょうか?
新しい JDK を入れたとき、一部だけ新しいものに
置き換わってしまい、ややこしいことになりそうです。
一部の Java ベースのアプリケーションでは
勝手に JVM をサーチして見つかったら使うみたいだし。
241デフォルトの名無しさん:2006/06/12(月) 16:54:47
パッケージを利用したソースのコンパイルが上手くいかないのですが、
どこに問題があるかが分かりません。
開発環境(?)は、メモ帳とコマンドプロンプトです。
J2RE、J2SDKはともにv1.4.2_11です。
ソースやコマンドは、以下のサイトを参考にさせてもらっています。
ttp://jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/JAVA/CLASS/j282a.htm
ttp://jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/JAVA/CLASS/j282b.htm

どのようにすればこの問題は解決しますでしょうか?教えてください。
242デフォルトの名無しさん:2006/06/12(月) 17:26:55
>>241
2つのソースはどんな感じで置いてますか?
パッケージ管理するときは、ちゃんとパッケージを
フォルダ毎に分けないとダメです。
243デフォルトの名無しさん:2006/06/14(水) 22:55:35
くだすれで質問するのもくだらない質問かもしれませんが・・・・。

Javaを実行するときって
コンソール上で java クラス名 って打ち込みますけど、

クラス名

だけ打ち込んで実行なんて、できませんよね?

というのも、今携わっている開発案件で、
ファイルコンバータの役割をするクラスを作っているのですが、
そのクラスをユーザーが直接使用することになっていて、
で、仕様書に
使用方法:コンバータクラス名 対象ファイル名
と書いてあったんです。
もしかして、クラス名だけ打ち込んで実行させる方法があるのかと、
深読みしてしまっております。
244デフォルトの名無しさん:2006/06/15(木) 01:04:28
9割方仕様書のミスだろうが、それで動くshellもある。
が、まあ普通は使わんだろうから、書いた奴に聞け
245デフォルトの名無しさん:2006/06/15(木) 09:19:47
コンバータクラス名.bat
@javaw -cp . コンバータクラス名 %1
246デフォルトの名無しさん:2006/06/15(木) 13:35:22
>>242
各ソースファイルは、
C:__
   |__work
        |__pack1
というフォルダ構造を作り、フォルダworkの中にj282b.java、pack1の中にj282a.javaを置いています。
j282a,javaの方はコンパイルできるのですが、j282b.javaの方は、
"パッケージpack1は存在しません"
といったエラーメッセージが出てしまいます。
247243:2006/06/15(木) 21:43:47
>>245さんのようにbatファイルを使う方法もあるとわかったのですが、
やはり>>244さんの言う通り、仕様書ミスでしたorz
244さん、245さん、ありがとうございました。

248デフォルトの名無しさん:2006/06/19(月) 16:46:21
番兵法のソース書いてるサイトありませんか?
249デフォルトの名無しさん:2006/06/20(火) 09:04:14
テキストを作成して文書を追加・修正・削除するにはどうしたらいいですか?
クラスライブラリにあるメソッドで可能なんですか?
250デフォルトの名無しさん:2006/06/21(水) 18:46:23
そういうプログラムを書けばいいです。
クラスライブラリにあるモノだけで可能です。
251デフォルトの名無しさん:2006/06/21(水) 20:30:31
シェルピンスキーのギャスケットのプログラムが書けないのですが、
再帰の使い方がわからないのでプログラム書いていただけないでしょうか?
252デフォルトの名無しさん:2006/06/21(水) 22:49:51
サイズがの10KB以上のファイルを、4096バイトごとに分割して
複数のファイルに書き込むという処理を行いたいのですが、
どうやればいいのでしょうか。
BufferedReaderでファイルを読み込み、
BufferedWriterで書き込むところまではわかったのですが、
分割の仕方がわからない状態です。
253デフォルトの名無しさん:2006/06/21(水) 23:57:28
(Buffered)Writerは、バイト単位じゃなくて文字単位の書き込みなので、
Writerでファイル(FileOutputStream)に直接4096ぴったり書き出すのはNG.
WriterとFileOutputStreamの間でバイト数を数えて、ファイルを切り替える処理がいるかと。
あたりまえだけど、文字の途中でファイルが分かれる場合があるけどいいんだよね?

254252:2006/06/22(木) 23:24:00
>>253
回答ありがとうございます。
そうか、バイト単位の入出力だと、ストリーム系のクラスになるんですよね。
4096〜4097バイトに文字がかぶった場合は、かぶった文字を切り捨てて
4095バイトにすればいいのかなという認識です。
ファイルを切り替える処理に関してですが、
4096バイト流したっていうのはどういうやり方で判断するのでしょうか。
4096流したよ〜って、フラグか何か立てたりするのでしょうか?
すみません、ちょっと難しく考えすぎてるかもorz

255デフォルトの名無しさん:2006/06/23(金) 12:01:31
実際面倒そうだ。フラグっつうか、何バイト書いたか覚えておく必要はある。文字が割れちゃだめだと、ナイーブには一文字ずつやるしかないかな?性能糞だけど。
256初心者:2006/06/28(水) 05:44:31
はじめまして
javaを始めようと思い、入門書まで買いました
J2SE5.0  (jdk5と呼ばれているらしい)
これをDLしようと本を参考にしてやっていました
ここでJ2SE5.0(日本語)をクリックしてくださいとあるのですが
クリックしても何も出てきません、この本が出たときと状況が
変わってしまったのでしょうか?
またこれを落としても同じというのがありましたら
ご教授お願いします。

今からやってみようという初心者です、右も左も分かりませんが
お時間がありましたらご教授お願いします
よろしくお願いします
257デフォルトの名無しさん:2006/06/28(水) 10:10:18
ここに飛ぶと思うけど。クリックしても何も出ないというのはブラウザの問題か?

ttp://java.sun.com/j2se/1.5.0/ja/download.html

そこから「JDKのダウンロード」と進めばいい。

どれをダウンロードすればいいかは、
あなたの環境がわからないので教えられない。
258初心者:2006/06/28(水) 17:12:58
やっぱりクリックしても出ないですねえ…
どうしてでしょうか?
259デフォルトの名無しさん:2006/06/28(水) 18:53:31
javaソフトウェアインストールしたけど、コマンドプロンプトでjavacが
操作可能なプログラムじゃないっていわれるんですがどういうことでしょうか?
260デフォルトの名無しさん:2006/06/28(水) 19:04:26
>>257
自分もしばらく前から表示されません。

>>258
ttp://java.sun.com/j2se/1.5.0/download.jsp
ここからでおk

>>259
C:\Program Files\Javaにjdkフォルダありますか?
なければインストール。あればパス設定かな。
261259:2006/06/28(水) 19:07:42
ありがとうございます。ちゃんとjdk1.5.0_07ってファイルがありました。
パス設定とはなんでしょうか?
262デフォルトの名無しさん:2006/06/28(水) 19:10:08
>>261
ttp://www.geocities.jp/ko_tyche/java-in/
参考になると思う。
263デフォルトの名無しさん:2006/06/28(水) 19:16:50
出来ましたありがとう
264初心者:2006/06/28(水) 20:26:17
>>260さん
ご丁寧にありがとうございます

そこに行きますと

Download JDK 5.0 Update 7 with NetBeans 5.0 Bundle というのと

JDK 5.0 Update 7 includes the JVM technology というのが
二つあるのですが

どれをDLすればよいのでしょうか?
お手数かけますがもしよろしかったらご教授お願いします。
265初心者:2006/06/28(水) 20:44:06
ふたつあるJDK 5.0 Update 7 includes the JVM technology の上のほうを
クリックして

Windows Offline Installation, Multi-language
jdk-1_5_0_07-windows-i586-p.exe 63.43 MB
というのを見つけました

バージョンUPしていると考えてこれでよろしいのでしょうか?
お手数かけますがよろしくお願いします

これでよろしいのでしょうか?
お手数かけますがよろしくお願いします
266デフォルトの名無しさん:2006/06/28(水) 22:05:13
アンインストールも出来るのでインストール試してみてはどうですか?
で。プラットフォームはWindowsでよろしかったですか?
267初心者:2006/06/28(水) 22:38:03
はいご返事ありがとうございます!!!
試してみますね^^

プラットフォームの意味は分かりませんが
Windowsを使っています^^
268デフォルトの名無しさん:2006/06/28(水) 23:10:08
プラットフォームとはJVM(仮想コンピュータ)を動作させる環境(たとえばOS)の事です。
Windows、Linux、Solaris、携帯電話、etc...
269初心者:2006/06/28(水) 23:38:56
>>268さん
今までご教授してくださった皆様ありがとうございました
ついに起動させられました
これから頑張ります
ありがとうございました
270デフォルトの名無しさん:2006/06/29(木) 17:06:47
インナークラス関連の質問です

class Outer {
void methOut() {
final int x = 4;

class Inner {
void methIn() {
System.out.println(x);
}
}
}
}
上記のようなコードでmethIn()からxを参照時に、int xにfinalが付いてないとコンパイルエラーになるのは何故ですか?
271デフォルトの名無しさん:2006/06/29(木) 23:57:15
InnerClassから勝手に値を書き換えることのないよう、
参照する場合はfinalじゃないとだめ、という言語仕様です。

Java6ではOKになるという噂もあるけど。
272270:2006/06/30(金) 00:32:57
納得出来ました
ありがとうございます
273デフォルトの名無しさん:2006/07/01(土) 09:13:17
すみません、javaコマンド実行時について質問です。

java クラス名
ではなく、
java -classpath . クラス名
としないと、実行できない状態です。
いちいち -classpath .
を入れなくても、実行できるようにするには
どうすればいいのでしょうか。
ちなみに、環境変数PATHは
C:\j2sdk1.4.2_12\bin
と設定しています。
274デフォルトの名無しさん:2006/07/01(土) 12:43:53
C:\j2sdk1.4.2_12\bin;.  でどう?
275273:2006/07/01(土) 14:50:41
>>274
回答ありがとうございます。
後ろに;は元々付いていたので、
. だけ追加してみました。
でも、やっぱり実行できないですね・・・。
何がおかしいんでしょうか・・・。
276デフォルトの名無しさん:2006/07/01(土) 15:16:07
>>275
CLASSPATH
値 .(.だけ)でどうでしょ?
277273:2006/07/01(土) 15:35:02
>>276
実行できました!
何度もありがとうございました!
278デフォルトの名無しさん:2006/07/02(日) 18:40:36
エラーの原因がわかりません
どこが間違っいるか教えてもらえないでしょうか
お願いします

<html>
<head>
<title>InitTest.jsp</title>
</head>
<body>
<%!
int v_number = 4; //商品の種類数
int v_price = 100; //商品の価格の重さ

public class goods{
String name;
int price;
int number;
goods(){
name = "unnamed";
price = 0;
number = 0;
}
}

goods[] g = new goods[v_number];
%>

<%=g[0].name %>

</body>
</html>
279デフォルトの名無しさん:2006/07/02(日) 20:53:38
すみません。
J2SE and NetBeans IDE Bundle (NB 5.0 / J2SE 5.0 Update 7)
をダウンロードすればいいんですか?
280デフォルトの名無しさん:2006/07/02(日) 21:54:30
エラーの出力内容(コピペ)と、どこにそれが出力されているのか、がないと。
念のため、
- JSPを動かすにはサーバ側にTomcatなどのServletコンテナが必要。
- JSP(Java)とJavaScriptは全く別物。
というのはおk?
281デフォルトの名無しさん:2006/07/03(月) 08:28:22
ちょっとまて。
<%!は処理を書くところじゃない。そこは、class宣言直下に相当する。
処理は<%に書く。ここがserviceメソッド内に相当する。
で、クラス宣言は<%!に書いとけ。

282デフォルトの名無しさん:2006/07/04(火) 20:54:59
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
283デフォルトの名無しさん:2006/07/04(火) 22:46:19
時給1000円は安いんでないか?
284デフォルトの名無しさん:2006/07/04(火) 23:24:43
こいつ、Java関連スレ全部にマルチだよ。
馬場から時給1000円のために所沢まで行くか?池袋辺りで倍のバイトがあるだろ。
しかし、なにやら本気っぽいのが気になる。
285デフォルトの名無しさん:2006/07/05(水) 10:10:55
>>284
埼玉に住んでいるヒトには朗報なんでしょ
286デフォルトの名無しさん:2006/07/05(水) 10:37:05
安すぎてやる気も起きん
287デフォルトの名無しさん:2006/07/07(金) 09:25:26
別スレでスパム業者って書いてあったがやっぱそうなのかなw
288デフォルトの名無しさん:2006/07/07(金) 19:14:01
痛風を予防してくれるプログラム言語教えてください
289デフォルトの名無しさん:2006/07/07(金) 20:19:35
>>288
Commonsに確かあったきがする
290☆さぉり☆:2006/07/07(金) 22:53:34
すみません、JAVAのブロック崩しのプログラムが知りたいんです…
291デフォルトの名無しさん:2006/07/09(日) 08:46:39
292デフォルトの名無しさん:2006/07/09(日) 22:09:11
jarの作り方、作成ツール教えれ
293デフォルトの名無しさん:2006/07/09(日) 23:07:44
lhaca。
294デフォルトの名無しさん:2006/07/10(月) 02:05:18
g.dispose;ってどんなはたらきをするんですか?
295デフォルトの名無しさん:2006/07/10(月) 09:41:37
痔の治療
296デフォルトの名無しさん:2006/07/11(火) 07:30:22
jarを自動で作ってくれるIDE無いのか?
297デフォルトの名無しさん:2006/07/11(火) 09:34:48
ある
298デフォルトの名無しさん:2006/07/11(火) 13:29:52
質問なのですが
ttp://www.h6.dion.ne.jp/~pyrotech/001.htm#で
サブウィンドウを開くとき同じサブウィンドウに表示せず
違うサブウィンドウに表示させる方法ってありますか?
あとサブウィンドウに印刷ボタンをつけたいのですが
どのようにすればいいでしょうか?
どなたかよろしくお願いします
299デフォルトの名無しさん:2006/07/11(火) 18:20:10
>>教えろ

297
300デフォルトの名無しさん:2006/07/11(火) 18:21:24
IDEと呼ばれるものならできるだろ
301デフォルトの名無しさん:2006/07/11(火) 19:54:28
>>299
IDE使わずともjarコマンドで作れるだろ
302デフォルトの名無しさん:2006/07/11(火) 22:06:29
>>298
JavaとJavaScriptは全くの別物。
Web板で聞くがよろしい。
303デフォルトの名無しさん:2006/07/12(水) 12:47:34
初心者ですよろしくお願いします。

どの解説を読んでも
「Stringクラスは文字列の内容を変更できない」とありますが
以下のコードでは変更できてキーボード入力した文字列で
String オブジェクトに再度設定できます。
なんででしょうか?

import java.io.*;

class strsample
{
public static void main(String args[]) throws IOException
{
String str1 = new String("aaaaa");
System.out.println("入力してください");

BufferedReader bf = new BufferedReader (new InputStreamReader(System.in));

str1=bf.readLine();
System.out.println("あなたの入力した文字は:" + str1);

}

}


304デフォルトの名無しさん:2006/07/12(水) 12:59:35
>>303
変更してんじゃなくて、新しいのに変わってんの
305デフォルトの名無しさん:2006/07/12(水) 12:59:58
>>303
この動作は 「Stringクラスの文字列の内容を変更」しているのではなく
str1に 「別の内容のStringクラス」 を代入している。
元の new String("aaaaa") は破棄されて、bf.readLine() 内で作られた
Stringのインスタンスが入ってるわけだ。
306デフォルトの名無しさん:2006/07/12(水) 13:03:03
最近javaをはじめたのですが、
String name[] = new String[3];

String name[3];
ではだめなのはなぜですか?
307303:2006/07/12(水) 13:06:54
>>304
>>305

なるほど、そうゆうことですか。
日本語ってむずかしいですね。
ありがとうございます。
308デフォルトの名無しさん:2006/07/12(水) 13:08:15
>>306
そういう言語仕様だからです
309デフォルトの名無しさん:2006/07/12(水) 13:50:19
>>306
String name[]はStringクラスの配列型の変数nameの宣言であり、
配列オブジェクトの生成又は配列構成要素のための空間の割当ては行われない。
配列への参照を含むことが可能な変数nameだけを生成する。

new String[3]が配列オブジェクトを実際に生成する配列生成式である。
配列オブジェクトを生成したいならこの配列生成式か配列初期化子を使用する。
310デフォルトの名無しさん:2006/07/12(水) 13:58:07
さらにいえば、new String[3]は配列オブジェクトを生成するのみで、
個々の配列構成要素、この場合3個のStringオブジェクトを生成するわけではないので、
配列構成要素の生成がさらに必要になる。
つまり、name[0]〜name[2]が参照するStringオブジェクトの生成が必要になる。
311デフォルトの名無しさん:2006/07/12(水) 21:45:08
それならString name[]も無しにして
String[] nameのみにすべきなんじゃないの?
312デフォルトの名無しさん:2006/07/13(木) 10:30:47
文法砂糖だろ
313デフォルトの名無しさん:2006/07/14(金) 00:42:07
 javac ができません。
ちなみに、java -version はちゃんとした反応ありです。
set でも反応があるが、PATH が通ってないようでした。
CLASSPATH はよいようです。
パソコンは98です。

REM Environment Settings For McAfee VirusScan
SET Path=%PATH%;C:\PROGRA~1\NETWOR~1\MCAFEE~1;C:\PROGRA~1\TEX\BIN;
SET GS_LIB=C:\Program Files\TeX\gstools\gs5.03;C:\Program Files\TeX\gstools\gs5.03\kanji;C:\Program Files\TeX\gstools\gs5.03\fonts
SET JAVA_HOME=C:\Program Files\Java\jdk1.5.0_07
SET Path=%PATH%;%JAVA_HOME%\bin
SET CLASSPATH=.;%JAVA_HOME%\lib\tools.jar

これが、autoec.bat ファイルの内容です。長いので上の方は省略。
メモ帳でいろいろ追加しました。再起動もしました。

ファイル内容に誤りがありますか?
その他、原因はありそうですか?
似たようなし質問もあり読んで試行錯誤しましたが
分からずじまいでした。
314デフォルトの名無しさん:2006/07/14(金) 02:16:28
>javac ができません。
SET JAVA_HOME=C:\Program Files\Java\jdk1.5.0_07

SET JAVA_HOME=C:\Progra~1\Java\jdk1.5.0_07
にしたらどうか?

> パソコンは98です。
ハードに漢字出力機能を備えたエロゲマシンか。なつかしいな。
315デフォルトの名無しさん:2006/07/14(金) 15:20:45
>>311
Object object, objects[];
みたいな宣言が書けるように残ってるんジャマイカな
俺はそんな書き方したくもないが

>>314
万一ショートファイル名がProgra~1でない可能性も考慮して二十淫妖婦で囲って
SET JAVA_HOME="C:\Program Files\Java\jdk1.5.0_07"
の方がいいかも。見た目わかりやすいし

> パソコンは98です。
うちでも現役だ。Mustangから捨てられるのが悲しいよ
316313:2006/07/14(金) 20:15:59
>>314
>>315

SET JAVA_HOME="C:\Progra~1\Java\jdk1.5.0_07"

としたところ、うまくできました
念願の 
                 ようこそJavaへ!
ができました。
迅速かつ的確なアドバイスありがとうございます
    ∧∧
   (  ,,)
   /  |
 〜(__)


317デフォルトの名無しさん:2006/07/15(土) 19:49:54
>>315
> 二十淫妖婦
20歳の淫らで妖しい魅力のご婦人でつね
318デフォルトの名無しさん:2006/07/16(日) 17:07:25
>>317
二十人は身がもたない
import java.io.*;
public class DoubleQuotation {
private int 年齢, 淫らさ, 妖しさ;
public DoubleQuotation(int lower, int upper) {
年齢 = (int)(Math.random() * (upper - lower + 1) + lower);
淫らさ = (int)(Math.random() * 101);
妖しさ = (int)(Math.random() * 101);
}
public void 囲われる() {
System.out.println(年齢 + "歳の" + 淫らさ + "%淫らで" + 妖しさ + "%妖しい淫妖婦を囲いました。");
}
public static void main(String[] args) throws Exception {
System.out.print("守備範囲(例:0-99)は? ");
String[] str = new BufferedReader(new InputStreamReader(System.in)).readLine().split("-");
DoubleQuotation[] 淫妖婦達 = new DoubleQuotation[20];
for (DoubleQuotation 淫妖婦 : 淫妖婦達) {
淫妖婦 = new DoubleQuotation(Integer.parseInt(str[0]), Integer.parseInt(str[1]));
淫妖婦.囲われる();
}
}
}
319デフォルトの名無しさん:2006/07/17(月) 00:10:44
教えてください…。
コマンドプロンプトから、例えば2*3と入力すると6が表示されるように、
文字列を数式に変換させるにはどうしたらよいでしょうか。
320デフォルトの名無しさん:2006/07/17(月) 00:59:52
System.inを読んで、文字列を解析して、計算して、
結果をSystem.outに書き出す。

Reader r = new BufferedReader(new InputStreamReader(System.in));
String line = r.readLine();
while (line != null) {
  System.out.println( 一行の文字列を数式として解析して答えを返すメソッド(line) );
line = r.readLine();
}
こんな感じ。
一行の文字列を数式として解析して答えを返すメソッドは、
仕様が判らんので、好き勝手にどうぞ。
321デフォルトの名無しさん:2006/07/17(月) 02:49:58
Windows Mobile 5.0(またはPDA用の他OS)にJavaSDKは載りますか?
通学時間が3時間もかかるので、その間に開発をしたいのですが・・・
322デフォルトの名無しさん:2006/07/17(月) 03:24:01
普通のJava(Java SE)のSDKは、すくなくともSun製ではMobileで動くのはないはず。
Java MEの開発はよく知らんが、Java MEのアプリも普通はPCで開発したものを転送する。
Mobile上は、ランタイム環境はあっても、SDKは、なさそうな希ガス。
遊びなら、JavaScriptでもやったら?これもおもろいよ。

323321:2006/07/17(月) 03:51:26
>>322
素早いレスありがとうございます。
卒研用の開発に使いたかったのですが、
余裕ができたらJavaScriptで遊んでみるのもいいかもしれませんね。
324デフォルトの名無しさん:2006/07/17(月) 11:52:59
例えば、ビデオの会員情報を管理するようなシステムを作るとして、
会員番号や会員名を入力して、対応する会員情報を抜き出すようなのを実装したいんですが

会員情報(UserData)をArrayListに収めるとして、
会員番号(Int)や会員名(String)を入力させてArrayList内のデータとマッチさせる?方法ってどんなのがあるんですか?
番号や会員名からUserDataをいちいち作って、ArrayListのcontain()で確認してget()するってなんか変ですよね・・・
325デフォルトの名無しさん:2006/07/17(月) 13:19:18
>>324
普通はデータの管理はDBMSにやらせる訳
だから、Java側ではSQLを組み立てて投げるだけ

でもどうしてもJavaでやりたいのなら、番号や会員名やらをキーにして同じUserDataオブジェクトを
放り込んだHashMapをキーの種類の数だけ作っておけば良いのでは?
326デフォルトの名無しさん:2006/07/17(月) 13:34:13
>>324
変ではないと思うが
逆にget()で頭から順番に取ってきてUserDataの各キーと比べていくのではだめ?
それとcontain()でなくcontains()
検索を早くしたいならメモリコストを払って>>325の方法でいいと思う
327デフォルトの名無しさん:2006/07/17(月) 15:06:35
今回はjavaの演習でデータの件数が少ないので>>326氏の方法を使ってみます。
というか実際はデータベースで管理しますよね…

>>325氏のHashMapも勉強してみます。

ありがとうございました。
328デフォルトの名無しさん:2006/07/17(月) 20:48:34
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
329デフォルトの名無しさん:2006/07/18(火) 20:14:12
ギャルゲーみたいな、選択肢を選ぶと次のシーンに飛ぶ、というアプレットのサンプルソースを教えてください。
330デフォルトの名無しさん:2006/07/19(水) 10:09:36
ギャルゲーは知らんがポートピアみたいな感じか?
CardLayoutでも使えばいいんじゃね
331デフォルトの名無しさん:2006/07/23(日) 18:25:45
aspを使って誕生日占いを作りたいのですが
超初心者のため全く理解できません。
わかる人教えてください。
332デフォルトの名無しさん:2006/07/23(日) 18:44:37
>>331
お前は理解してるということは分かった。
333デフォルトの名無しさん:2006/07/23(日) 18:53:40
>>332
もっとみんなが理解できるように説明したいんだけど
用語がわからないんです。すいませんorz

占いをの結果をaspで作って
それをHPに表示しろっていう宿題なのですが
生年月日を入力するページはなんとか作れました。
でも、aspで作る結果のページがでどうしてもできなくて・・・
334デフォルトの名無しさん:2006/07/23(日) 18:57:33
>>333
いやだから何でここなのさ
VBScriptなりC#なりのスレで聞こうよ
335デフォルトの名無しさん:2006/07/23(日) 18:59:51
>>333
ここで質問するならaspでなくせめてJSPとかJavaサーブレットとかをキーワードとして出してくれ
336デフォルトの名無しさん:2006/07/23(日) 19:07:44
>>334
>>335

すいません。出された単語全部初耳でわからないですorz
板違いってことはわかるんですが、次どこへ行けばいいかわかんなくて
337デフォルトの名無しさん:2006/07/23(日) 19:12:51
>>336
ASP関連はWebプログラミング板かなあ
http://pc8.2ch.net/php/
338デフォルトの名無しさん:2006/07/23(日) 19:16:54
>>337
サンクス。逝って来ます
339デフォルトの名無しさん:2006/07/24(月) 07:00:31
Webプログラミング板で「おまえの解らないのは占いの方法だろ」って突っ込まれてるようだ・・・
340デフォルトの名無しさん:2006/07/24(月) 12:54:58
>>339
誰も教えてくれそうにないので
もう諦めることにしました><

説明不足が原因のような気がしますがorz
341デフォルトの名無しさん:2006/07/24(月) 13:03:55
「できない」では説明になってないような希ガス
342デフォルトの名無しさん:2006/07/24(月) 13:14:55
ソースでも貼り付けたらいいんですかね?
343デフォルトの名無しさん:2006/07/24(月) 14:14:04
ソースあるんだったらもう書けてるんじゃーか orz
じゃああっちの板でソース貼って、その「できない」を説明しろ。
なにが「できない」のか。 世の中、超能力者は少ねーんだよ。

質問の仕方を教えるスレですねここは orz
344デフォルトの名無しさん:2006/07/24(月) 14:44:10
貼ってきました。
日本語が不自由ですいません><
お世話になってます。
345デフォルトの名無しさん:2006/07/25(火) 00:29:20
Else If 教えてもらったじゃん、その調子でがんがれ〜
346デフォルトの名無しさん:2006/07/25(火) 09:03:31
Javaって言語仕様レベルでビットフィールド無いんですか?
347デフォルトの名無しさん:2006/07/25(火) 15:01:59
>>346
無いよ
Cのプログラムでも移植するのかい
348デフォルトの名無しさん:2006/08/02(水) 00:04:11
JDKにあるんだから使えば良いじゃない
349デフォルトの名無しさん:2006/08/02(水) 18:19:18
JDKにあるってJava 2 Platformパッケージ内にあるって意味かい
ビットフィールドとして扱えるようなクラスはなかったぜ
フィールド幅が全部1でいいのならBitSetがあるよ
350デフォルトの名無しさん:2006/08/23(水) 17:58:42
初心者です、お願いします。
public class Sample extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException
{
try{
String tmp=request.getParameter("cars");
@String carname=new String(tmp.getBytes("8859_1"),"JISAutoDetect");

response.setContentType
A("test/html;charset=Shift_JIS");

@の8859_1、この数字が何を意味してるのか
JISAutoDetectとAのcharset=Shift_JIS
調べてはみたんですけど分かりません、なんの意味でしょうか?
351デフォルトの名無しさん:2006/08/23(水) 17:59:48
age
352デフォルトの名無しさん:2006/08/23(水) 18:32:32
353デフォルトの名無しさん:2006/08/23(水) 19:01:54
>>352
よく分かりました。ありがとうございました。
354デフォルトの名無しさん:2006/08/24(木) 00:13:31
クロージャと分散オブジェクトのメッセージングとの関連について教えてください。
355デフォルトの名無しさん:2006/08/24(木) 05:53:18
.classファイルをデコンパイルした後、何も手を加えずにリコンパイルしようとしたのですが、出来ません
どこもいじらなかったのに何故こんなことになるのか不思議で仕方ありません
どうすればリコンパイルできるかも含めて、よろしければお教えください
356デフォルトの名無しさん:2006/08/24(木) 06:03:22
質問させていただきます。

ただいま、SWT勉強中なのですが、SWTで作ったのをJavaWebStartで
配布しようとしているのですが、うまくいきません。

index.html内にjnlpへのリンクを張り、クリックするとJavaWebStartが
起動するのですが、何のウインドウも表示されません。
357356:2006/08/24(木) 06:04:26
ちなみに、Eclipse上で実行する場合はちゃんとウインドウが表示されるのですが。。。
358デフォルトの名無しさん:2006/08/25(金) 17:01:15
>>356
jnlpにちゃんと各OSごとのswt.jarとネイティブのライブラリのリソース指定している?
359デフォルトの名無しさん:2006/08/25(金) 17:06:25
>>355
デコンパイラに何を使っているのかしらないが、
デコンパイルしやすいJavaとはいえ100%正しくデコンパイルできるとは限らない。
再コンパイルしようとした時点で出るエラーメッセージから、
ソースのどこに手を加えなければならないか見えてくる。
360356:2006/08/26(土) 00:26:38
>>358
例えばwindowsだとdllをjarにしてリソース os=windowsで
指定しているのですが…。
swt.jarリソースの指定しています…。
361デフォルトの名無しさん:2006/08/26(土) 06:11:29
>>360
セキュリティ関係かなあ?
<security><all-permissions/></security>
はある? ネイティブのライブラリを実行させなきゃならんので
362356:2006/08/26(土) 08:28:54
>>361
あります。
363デフォルトの名無しさん:2006/08/29(火) 23:18:25
JVMのJavaの起動オプションの質問です。
メモリをデフォルトの64Mではなく256Mに増やそうとしているのですが、
Javaオプションで-Xmx256mとしてするとJVMが起動できません。
割り当てられる上限ってあるんでしょうか?
なお、物理メモリは2Gつんでいるんですが・・・
364デフォルトの名無しさん:2006/08/30(水) 00:42:44
>>363
俺はWinXP+Java5でメモリ1Gしか積んでないけど-Xmx256mは問題なく起動するよ。
-Xmx1024mでも起動は大丈夫だ。起動できないのは何か別の原因じゃないか?
365デフォルトの名無しさん:2006/08/30(水) 01:02:57
>>363
ざっと調べた感じ、どこまで割り当てられるかはメモリやOSに依存するので一概には言えないが、
仮想メモリをじゅうぶん取っていれば、物理メモリの上限くらいまでは十分割り当て可能と思う。
実行速度とかGCの挙動とかで問題が出てくるかもしれないが。
366デフォルトの名無しさん:2006/09/11(月) 13:26:53
Runtime.exec()から立ち上げたProcess のプロセスIDを得る方法はありませんか?
367デフォルトの名無しさん:2006/09/11(月) 19:03:22
jdk-1_5_0_08-windows-i586-pっていうのをダウンロードしました。
そしてインストールしようとしたら、

1155: ファイルC:WINDOWS\デスクトップWINSTMSIA.EXEを検出できません。

って出てきてインストールできません。どうすればよいでしょうか?
368質問です:2006/09/11(月) 19:21:33
くだらな質問ですいません。
for文で、 for(; ;){...}のように、セミコロンで、表記すると
どのような意味があるのでしょうか???
369デフォルトの名無しさん:2006/09/11(月) 19:39:04
>>368
while(true){...}と同じ
370デフォルトの名無しさん:2006/09/11(月) 21:11:40
>>368
泣いてる顔に見えます
371368:2006/09/11(月) 21:38:13
>>369
さんくすです
>>370
そう見えなくもないっすね
372デフォルトの名無しさん:2006/09/11(月) 21:38:59
>>366
プロセスIDは環境依存のリソースなのでJava標準ではサポートされていなかったかと
環境に合わせてJNIでプロセスIDを得るコードを書くしかないのかな
373デフォルトの名無しさん:2006/09/12(火) 00:09:38
>>367
たぶんそのエラーメッセージはコピーし間違いだと思うが……
Windows Installerがインストールされていないシステムでインストールしようとしているのだと思う。
Win9x系にインストールの場合、Windows Installerがなければ、
InstMsiA.exeを実行してWindows Installerをインストールしようとするんじゃなかったかな?
それが見つからないと言っているエラーだと思う。

インストールしようとしている環境はサポート対象になっているか確認。
jdk-1_5_0_08-windows-i586-pはWin9x系の場合、98SEかMEしかサポートしていない。
まあ98でも文句は言われるがインストールそのものはできる。動作に問題がある時があるが。
変にいじっていない限り、98以降のWindowsであればインストールだけは問題なくできるはず。
あと、ディスク容量が十分あるかも要確認。
374367:2006/09/12(火) 18:50:30
>>373
Windows Installerをダウンロードしたら、インストールできるようになりました。ありがとうございます。
375デフォルトの名無しさん:2006/09/14(木) 22:15:30
jdk-1_5_0_08-windows-i586-pをインストールしたところ、「開発ツール、デモ、ソースコード、public JRE 」
の5つから「機能を選択してくれ」と出てきたのですが、超初心者として今から勉強を始めようという場合にはどれを
選択したらいいですか?
376デフォルトの名無しさん:2006/09/14(木) 23:53:21
>>375
選択といっても排他的な選択ではないので、
ディスク容量が十分あるのなら、
とりあえず全部インストールしておくことをお勧めする。
377デフォルトの名無しさん:2006/09/15(金) 00:02:02
>>375
本当に最初はデモのソースとか見てもなんだかわからんだろうけど、
少し慣れてくると、結構面白いソースが多いぞ。
本に飽きたらデモのコードつつき回して、
こんな事も出来るのかーとかやってみると、それなりに楽しい。
378デフォルトの名無しさん:2006/09/15(金) 02:34:01
>>376-377
ありがとうございます。
とりあえず空き容量チェックしてデモ、ソース、public JREは優先的にインストール
してみます。
379デフォルトの名無しさん:2006/09/15(金) 10:10:01
開発ツールは入れないつもりか?w
380デフォルトの名無しさん:2006/09/15(金) 11:48:20
他のスレで同じ質問をしたのですが、荒らしがいるのでこちらで質問させてもらいます。

ColorConvertOpを使ってフルカラーをインデックスカラーに変換したいのですが、
以下のようなソースだと、あらかじめパレットを用意しておく必要がでてきてしまいます。
パレットを自動的に最適化してくれるような方法はないでしょうか?

//パレット
byte[] rs = {-1, 127, 0, 0};
byte[] gs = {-1, 0, 127, 0};
byte[] bs = {-1, 0, 0, 127};
IndexColorModel colormodel = new IndexColorModel(2, 4, rs, gs, bs);

//一時的に使うイメージ
BufferedImage tmpimg = new BufferedImage(
orgimg.getWidth(), orgimg.getHeight(), BufferedImage.TYPE_BYTE_BINARY, colormodel);

//変換
ColorConvertOp colconvop = new ColorConvertOp(null);
colconvop.filter(orgimg, tmpimg);
orgimg = tmpimg;

また、パレットを作成するときにbyte配列を取りますが、
Javaではbyteは-128から127なので、128以上は表現上マイナスになってしまいます。
これは仕様なのでしょうか?
381デフォルトの名無しさん:2006/09/15(金) 11:54:03
質問させていただきます
アフィン変換で
setToRotation()メソッドとrotate()メソッドの違いってなんなのでしょうか?
382デフォルトの名無しさん:2006/09/15(金) 12:13:51
>>379
本見ながら勉強するつもりだったんで「開発なんてできないから関係無し」と思ってたんですが入れたほうがいいんですか?
383デフォルトの名無しさん:2006/09/15(金) 13:40:49
先生ぼすけて
HashTableとかTreeTableの中身が勝手に書き換わるんだけど
なんか心当たりないですか?

誰かがそこのメモリ使ったとかかな。。。
384デフォルトの名無しさん:2006/09/15(金) 13:53:27
>>383
自己解決
参照先変えてる奴がいた。

失礼しました。
385デフォルトの名無しさん:2006/09/15(金) 19:10:31
>>381
setToRotationは変換行列に設定する。
rotateは変換行列に連結する。
386デフォルトの名無しさん:2006/09/15(金) 19:18:18
>>380
128以上ということはbyteよりも広いビット幅の型からの変換ということになるので、
JLSのnarrowing primitive conversionに従って処理される。
387デフォルトの名無しさん:2006/09/15(金) 19:26:30
>>382
開発しないのであればjdkをインストールする必要はない。
Javaプログラムを動作させるだけであれば、
jdkでなくJRE(実行環境)がjdkとは別パッケージであるので、
それをインストールすれば十分。

もし開発という言葉を大仰に考えていて、
単にプログラミングの勉強をしたいだけなんだ、というのであれば、
開発ツールは入れておいた方がいい。
コンパイラ等、プログラミングに必須のものが含まれているから。
本を読むだけで勉強しようとしてもなかなか身に付かないと思う。
実際にソースを書いてコンパイルすることを行った方が速くモノになる。
388デフォルトの名無しさん:2006/09/15(金) 20:43:39
マスターするまでどれだけかかりますか?
まったくプログラミングしたことありません。
389デフォルトの名無しさん:2006/09/15(金) 21:09:29
>>388
学校で習うにしても独学でやるにしても、資質と意欲と教科書次第。
教科書は別に書籍だけでなくweb上にもたくさんの啓蒙・解説サイトがあるので
それを併用してもいいかも。
ただ、書籍もサイトも多いので良いものを取捨選択するのは一苦労。
どれが良いかというのは多分ひとそれぞれ判断基準が分かれると思うし、
それが自分に合っているとは限らないので、
ここで聞いても逆に混乱するだけになるかもしれない。
自分でこれだと思うものに絞って信じて進むのも手かと。
ただし、誤った部分もある可能性は0ではないので妄信、過信は危ない。
390デフォルトの名無しさん:2006/09/15(金) 21:51:51
>>380
最適化されたパレットを作成するのは自分で行わないといけないんじゃないかな。
byteはその値の範囲しか表せないので、そういう仕様。
ただ、パレット最適化などの処理では面倒なことになるので、
byteをintなりshortなりの0〜255に変換しておいて処理して、
最後にbyteに戻すのがいいと思う。
391デフォルトの名無しさん:2006/09/16(土) 04:17:37
>>387
超初心者なんで「開発」を大仰に考えてましたw
きちんと勉強したいんで全部入れようと思います
丁寧な回答ありがとうございました。
392デフォルトの名無しさん:2006/09/17(日) 00:03:26
      ,、‐'''''''''ヽ、
    /:::::;;-‐-、:::ヽ             _,,,,,,,_
     l::::::l  _,,、-‐"iiiiiilllllllllllliiiiiiiー-、__ゞ:::::::::::`ヽ,
    ヽ::`/: : : : iiiiiilllll||llllliiiiii: : : : : : ヽイ~`ヽ:::::::i
.     /;,..-‐、: : : : : l|l: : : : : : : : : : : : : \ ノ:::::}
     /: /: : : : :`.: : : : : : : : :/´ ̄\ : : : : : ヽ:::ノ
.    !: : : :iflllli、: : : : : : : : : : : : : : : :ヽ: : : : : :.!
    |: : : :llllf l: : : : : : : : : : :.iflllli、: : : : : <iiii|
    |: : : :|llll |: : : : : : : : : : .llllf l: : : : : : : : :.|
    |: : : :.!lllll!' : : : : : : : : : : |llll |: : : : : : : : :i
   /: : : : :    ○    : : .!lllll!' : : : : : : : :.i
   ̄|: : :"  ,,,,,,,,,,,,,|____    : : : : : : : :.<iii/
.  /!.:   |:::::/    ̄''''''''l ヽ: : : : :-─/─   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ヽ   ヽ/        ノ    : : :ヽ/   < ファイルのパーミッションを見てね!
     \  \,,_    _,,,/     : /\     \ 最後にしまじろうとお約束だよ!!
       `''‐、、__  ̄ ̄   __,,,、-‐"         \
.     //:::::/ヽ ̄ ̄ ̄ ̄ノ::::/\             ̄ ̄ ̄ ̄ ̄ ̄ ̄
.   / /:::::/  ` ̄ ̄ ̄/:::::/.  \
393デフォルトの名無しさん:2006/09/17(日) 00:25:23
誘導
【馬鹿回答者が】真(笑)・Java質問・相談スレッド91【ズバリ回答!】
http://pc8.2ch.net/test/read.cgi/tech/1158332683/l50
394ひみつの検疫さん:2024/07/29(月) 22:51:21 ID:MarkedRes
汚染を除去しました。
395デフォルトの名無しさん:2006/09/17(日) 01:36:56
クズどもはやく移動しろ!
【馬鹿回答者が】真(笑)・Java質問・相談スレッド91【ズバリ回答!】
http://pc8.2ch.net/test/read.cgi/tech/1158332683/l50

396デフォルトの名無しさん:2006/09/17(日) 01:48:06
無能共さっさと移動しろや!

【初心者】真(笑)・Java質問・相談スレッド91【が答えます】
http://pc8.2ch.net/test/read.cgi/tech/1158332683/

397デフォルトの名無しさん:2006/09/17(日) 04:15:10

                   ,'⌒,ー、           _ ,,..  X
                 〈∨⌒ /\__,,..  -‐ '' " _,,. ‐''´
          〈\   _,,r'" 〉 // //     . ‐''"
           ,ゝ `く/ /  〉 /  ∧_,. r ''"
- - - -_,,.. ‐''" _,.〉 / /  . {'⌒) ∠二二> -  - - - - - -
  _,.. ‐''"  _,,,.. -{(⌒)、  r'`ー''‐‐^‐'ヾ{} +
 '-‐ '' "  _,,. ‐''"`ー‐ヘj^‐'   ;;    ‐ -‐   _- ちょっくら逝ってくる
 - ‐_+      ;'"  ,;'' ,''   ,;゙ ‐-  ー_- ‐
______,''___,;;"_;;__,,___________
///////////////////////
398デフォルトの名無しさん:2006/09/17(日) 06:36:12
java_ee_sdk-5-windowsとj2sdk-1_4_0-doc-ja
をダウンロードしたんですけどインストール画面がでてきません
いろいろなサイトも見たんですが解決しません
 
両方とも+Lhacaで解凍
java_ee_sdk-5-windowsは開くと強制終了します
j2sdk-1_4_0-doc-jaはフォルダが出てきてどうしようもないです
OSはWINDOWS98です
399デフォルトの名無しさん:2006/09/17(日) 07:06:03
>>398
java_ee_sdk-5-windowsはWindows98をサポートしていない
ドキュメントの方は解凍して適当な場所に置いてブラウザで参照するだけなので、それで正常
400デフォルトの名無しさん:2006/09/17(日) 11:49:15
本スレはこちら
【初心者】真(笑)・Java質問・相談スレッド91【が答えます】
http://pc8.2ch.net/test/read.cgi/tech/1158332683/


401デフォルトの名無しさん:2006/09/17(日) 11:57:48
くだすれと質問スレは住み分けてたはずだYO
402デフォルトの名無しさん:2006/09/17(日) 15:56:47
>>400
(笑)は余計だ死ね
403デフォルトの名無しさん:2006/09/17(日) 16:13:17
>>402
修正しました。
本スレはこちら
【初心者】真・Java質問・相談スレッド91【が答えます】
http://pc8.2ch.net/test/read.cgi/tech/1158332683/

404デフォルトの名無しさん:2006/09/17(日) 17:42:42
>>403
お前にはプライドとかはないのか?
405デフォルトの名無しさん:2006/09/17(日) 19:47:58
他人おちょくるのにプライドは必要ありません><
406デフォルトの名無しさん:2006/09/17(日) 23:38:31
>>403
が答えますの意味がわからん

>>404
こいつは例のAA荒らしの馬鹿だろ
407デフォルトの名無しさん:2006/09/17(日) 23:47:42
>>406
相当な馬鹿ね
408デフォルトの名無しさん:2006/09/18(月) 00:16:19
>>407
誰が?
409デフォルトの名無しさん:2006/09/18(月) 00:23:46
JAVAなんて馬鹿専用言語だからやめたほうがいいよ
回答者みればわかるだろうけど
410デフォルトの名無しさん:2006/09/18(月) 01:02:33
>>399
ありがとうございます
スレ値外みたいなんで移動します
411デフォルトの名無しさん:2006/09/18(月) 01:25:53
と思ったこっちに誘導されましたorz
j2sdk-1_4_0-doc-ja なんですがインストール画面がでてきません
ブラウザで参照とは具体的にどうすればいいのでしょうか
 
ちなみに+Lhacaで解凍
j2sdk-1_4_0-doc-jaはフォルダが出てきてどうしようもないです
OSはWINDOWS98です
412デフォルトの名無しさん:2006/09/18(月) 01:44:10
>>363 亀レス
起動オプションは宣言する順番によって無効になる場合があるから、宣言する順番を変えてみては?
A, java -Xms256m -jar "Hoge.jar"
B, java -jar "Hoge.jar" -Xms256m
Aを実行した場合の結果
Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified
Bを実行した場合の結果
設定値は無視されて起動する。

環境
WinXP SP2 java version "1.5.0_06"
413デフォルトの名無しさん:2006/09/18(月) 02:33:54
と思ったこっちに誘導されましたorz
j2sdk-1_4_0-doc-ja なんですがインストール画面がでてきません
ブラウザで参照とは具体的にどうすればいいのでしょうか
 
ちなみに+Lhacaで解凍
j2sdk-1_4_0-doc-jaはフォルダが出てきてどうしようもないです
OSはWINDOWS98です
414デフォルトの名無しさん:2006/09/18(月) 07:02:07
>>409
各Javaスレでおなじこと連呼しているお前の方が馬鹿だよ
415デフォルトの名無しさん:2006/09/18(月) 07:07:03
>>413
すれ違いだ。メンヘルのAA貼り付け馬鹿に誘導されてるんじゃねえ。
あっち逝け。

416デフォルトの名無しさん:2006/09/21(木) 19:13:57
Java案件なんだけど、リソースくいすぎじゃと起こられてしまった。
リソース少なくするのに有効な方法ある?
417416:2006/09/21(木) 19:14:43
ごめん、あげさせて。
418デフォルトの名無しさん:2006/09/21(木) 19:42:35
>>416
どういうプログラムかいてるのか。
要件がわからんことにはなんともいえん。

誰に怒られたんだ?
419デフォルトの名無しさん:2006/09/21(木) 19:49:47
JavaでGUIを作って、ちょっとしたテキスト処理をするツールを作っています。

そんでJFrameを継承したClassにFileオープンの処理や
テキスト処理のロジックを書いていくと、ものすごく美しくないソースになってきました

そこでGUI制御のクラスと、処理ロジックのクラスと、集計したテキストデータクラスの
3つのClassに分けて書くようにしようと思いましたが、
EventsのトリガーになるのはどうしてもGUI制御クラスのため、
処理ロジックがどんどんGUI制御クラスに書き足されてしまい、ごちゃごちゃして来ました。

こーいうクラス設計を学ぶのに丁度いいサンプルとかありませんでしょうか、
やっぱデザインパターンとやらを活用するようにしないとダメですか?
420デフォルトの名無しさん:2006/09/21(木) 19:59:02
そう、ダメ。

簡単に言うと。



デザインパターンは覚えておいて損はしないよ
421デフォルトの名無しさん:2006/09/21(木) 20:06:42
GUIはぐいぐい書くもんですよ
422デフォルトの名無しさん:2006/09/21(木) 20:09:21
>>420
やっぱりそうですか…ありがとうございます。

ちなみに、こういった「GUI & 処理 & データのカタマリ」で出来たツールだとすると、
どのデザインパターンを使うのが適切なんでしょうか。

サイトでデザインパターンの解説を見ても、果たしてどれを使えばいいものか見当が付かず…。
423デフォルトの名無しさん:2006/09/21(木) 21:02:04
結城浩のJava言語で学ぶデザインパターン入門がお勧め。

間違えてマルチスレッド編のほうは買わないように。
慣れてきたかまたは理解できるなら買ってもいいけど
424デフォルトの名無しさん:2006/09/21(木) 21:05:39
>>423
ありがとうございます、早速探してみます。
425デフォルトの名無しさん:2006/09/21(木) 21:08:59
GUIなんて綺麗に書こうとしなくてええやんけ
426デフォルトの名無しさん:2006/09/21(木) 21:19:53
複雑になると綺麗に欠かざるを得ない。
427デフォルトの名無しさん:2006/09/21(木) 21:24:50
デザインパターンの問題じゃないけどね
428デフォルトの名無しさん:2006/09/21(木) 23:10:12
>>419
ちょうどいいってわけではないがjEditのAPIとかがもしかしたら参考になるかもしれん。
http://www.jedit.org/api/index.html
jEdit自体はここ。
http://www.jedit.org/
429デフォルトの名無しさん:2006/09/22(金) 08:46:25
ttp://www.javaroad.jp/opensource/js_ant1.htm
上記のページを参考にAntをインストールしたいのですが上手くいきません
環境変数JAVA_HOME、ANT_HOME、Pathが設定できているかECHOで確認しましたが

C:\>ECHO %JAVA_HOME%
C:\jdk1.5.0_06

C:\>ECHO %ANT_HOME%
C:\ant

C:\>ECHO %Path%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\pcdNavi
\bin;C:\Program Files\Fujitsu\sa\dll;C:\Program Files\QuickTime\QTSystem\;C:\jdk
1.5.0_06\bin;C:\ant\bin

と出て、正しく設定できているように思いますが、antコマンドを実行しようとすると

C:\>ant -version
'ant' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となります。
430デフォルトの名無しさん:2006/09/22(金) 10:19:52
超ド初心者ですが、教えてください。某ネトゲの待機中の曲を自分の好きな曲にかえられるとのことですが、曲を入れ替えても音がでません。ファイルをJak?に名前をかえてやってました。もとの曲ファイルはmp3って書いてありました。どのようにすればいけますでしょうか?
431デフォルトの名無しさん:2006/09/22(金) 10:49:47
壮絶な板違いです。
ここはプログラムの作り方を論じる板です。

ちなみに適切な板であってもその質問の仕方でちゃんとした
答えが返ってくるとは思わないほうがいいでしょう。
432デフォルトの名無しさん:2006/09/22(金) 16:25:05
429解決しました
なぜかant.batだけbinから消えていました
433デフォルトの名無しさん:2006/09/23(土) 15:36:18
>>416
組込み職人を招聘してJNIで全部やる。
434デフォルトの名無しさん:2006/09/24(日) 16:58:32
JNIってそんなに早いの?
435デフォルトの名無しさん:2006/09/24(日) 17:04:04
たいして速くない。高速化を目的とするというより、既存の資産を呼び出すといった用途で使う。
何度も呼び出さない、例えばバッチ処理とかなら、JNIに手を出す価値はあるけどね。
436デフォルトの名無しさん:2006/09/24(日) 17:04:58
腕次第
437デフォルトの名無しさん:2006/09/24(日) 17:18:49
この前JDBC使うプログラムで、
検索速度を落とさないようなアルゴリズムを考えていたときに、
JNIでやれとか言われたけど、あまり効果ないのか・・・
438デフォルトの名無しさん:2006/09/24(日) 17:28:43
得した時間 = Javaの処理時間 - (Cの処理時間 + JNIのオーバーヘッド)
戻り値がvoidとかStringなどのシンプルなもので、かつ負荷の大きい処理なら得できる。
何でもかんでもCのが優秀なら標準APIはnativeばっかだ。
439デフォルトの名無しさん:2006/09/24(日) 18:06:49
あー
戻り値はStringばっかりだったなぁ・・・

じゃあJNIの方が良かったのか
440デフォルトの名無しさん:2006/09/25(月) 13:08:59
Java applet の文字データをファイルに出力するにはどうすればいいですか。
441デフォルトの名無しさん:2006/09/25(月) 13:44:58
>>440
appletの文字データというものが何なのかわかめだが、javaでの一般的なファイル出力はこのサンプルとか
ttp://takeoba.cool.ne.jp/java/FileWriter.htm

ちなみにappletはセキュリティの観点から、勝手にローカルファイルを読んだり書いたりできない。
危険を承知でやりたいならクライアント毎にpolicy設定が必要だが、社内イントラでもないかぎりオススメしない。
ファイルに出力しなくていい方法を考えろ。
442441:2006/09/25(月) 13:54:54
リンク貼り忘れた。 セキュリティについて書いてある。
ttp://java.sun.com/j2se/1.3/ja/docs/ja/guide/jdbc/spec/jdbc-spec.frame5.html

ちなみに「証明書」というものを用意しappletに署名することで、applet開始時に
このappletを信頼するか yes/no ダイアログで、クライアントのユーザに問い合わせることができる。
クライアントが信頼します"yes"を押せば、appletのセキュリティ制限はなくなるが
この証明書は、一般的にはまともな国際的に信頼できる機関に発行してもらう必要があり、結構高い。
自分で証明書を作って署名することも可能だが、信頼性は限りなくゼロ。誰でも作れるからね。
いわゆる「オレオレ証明書」というヤツだ。

社内などの閉じた環境ならともかく、世間に配布したかったらローカルに出力しないほうがいい。
443デフォルトの名無しさん:2006/09/25(月) 14:01:47
>>442 もまえ、面白いな!
444デフォルトの名無しさん:2006/09/25(月) 15:43:46
>>441-442
レスどうも。
文字データとは、証券会社が提供する株価を自動更新するアプレットの
株価や項目データのことです。
そのデータをファイルに出力する方法が知りたかったのです。
445デフォルトの名無しさん:2006/09/26(火) 00:08:18
JAVAEEをインストールして、そこのサンプルプログラムをコンパイルしてみたのですが
エラーが出まくりです。これは一体どういう事なのでしょうか?
446デフォルトの名無しさん:2006/09/26(火) 16:28:01
はじめまして、今度会社でJavaを使った開発をしようと思うのですが、
ライセンスの取得は必要でしょうか?
また、有償?無償?
会社でJava開発を行う場合はJavaのホムペから落として使ってもOK?
447デフォルトの名無しさん:2006/09/26(火) 16:43:19
>>446
MSの方が結局安く上がりますよ。
それとJavaでもいいですが、
全体的なスキルが上がってきたらオープンソースに移行するのがいいでしょう。
448446:2006/09/26(火) 16:53:26
>>447
どういうことですか?
すいません。理解できませんm(__)m
わかりやすくおしえてください
449デフォルトの名無しさん:2006/09/26(火) 17:12:41
その程度じゃねぇ・・
MSの言いなりになっていたほうが身のためってこと。
450デフォルトの名無しさん:2006/09/26(火) 17:52:36
>>446
必要以上に不親切なヤツがいるので、適当に教えとく。
でも、javaに限らずコンピュータ業界の常識的な部分も解ってないようだから、ちったあ自分で頭使え。

ライセンスの「取得」は不要だが、「許諾契約」は必要。 といっても難しい手続きではない。
SDKのダウンロードサイトに置いてある使用許諾契約を読んで、イヤならダウンロードしないだけ。
逆に、ダウンロードするならこの契約に許諾したと見なされる。 まーよくあるインストール時のagree/disagreeと一緒だ。
SDK自体は無償。 開発環境は無償のNetBeansがダウンロード可能だが、Sunや他ベンダの有償製品を買うのは自由。
Sunのダウンロードサイトから落として使ってOK。 つか他に選択肢は無い。 (厳密には無くはないが、一般的ではない)

「Javaのホムペ」って表現からして、PC初心者臭いな。
開発やるなら、java以前にもっと勉強することがたくさんあるぞ。
451デフォルトの名無しさん:2006/09/26(火) 23:35:05
誘導されて来ますた。

JARに含まれているクラス一覧を取得する方法を教えてください。
あるインターフェースをインプリメントしているクラスだけ、リフレクションでインスタンスを作成したいッス。
452デフォルトの名無しさん:2006/09/26(火) 23:58:17
>>450
それは趣味で使うのではなくて会社で何か作るときも適用?
453デフォルトの名無しさん:2006/09/27(水) 01:02:01
>>444
証券会社の提供しているAppletをハックする気概が無いと無理。
リアルタイム株価は有料でデータを買うものだ。
某Rは例外。某Gは知らん。

>>445
必要なクラスパス全部通したか?

>>451
Eclipseに適当なjavaプロジェクトを作ってそこのライブラリに件のjarを登録しろ。
知りたいものが見えるはずだ。

>>452
「JAVA ライセンス」でぐぐれ。
454デフォルトの名無しさん:2006/09/27(水) 22:58:50
クラスパスというものが良く分からないのですが、詳しく教えてください。
455デフォルトの名無しさん:2006/09/27(水) 23:46:31
Vectorクラスで、add(Object o)メソッドを使っていくつかの要素をプッシュした後、
(例えばa b c dという4つの要素を格納する)
これらの要素をdisplayメソッドを使って逆から(d c b aというふうに)表示するプログラムを書きたいのですが、
どういうメソッドを作ればいいですか?
456デフォルトの名無しさん:2006/09/27(水) 23:50:52
     ζ
    / ̄ ̄ ̄ ̄\
   /         \
  /\   \   /|
  |||||||   (・)  (・) |
  (6-------◯⌒つ|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |    _||||||||| |  < けしからん!
   \ / \_/ /    \ 
     \____/       \________________

for( int i = vector.size() - 1; i >= 0; i-- ){
  System.out.println(vector.get(i));
}

あるいはCollectionsで反転してからforじゃ
457デフォルトの名無しさん:2006/09/28(木) 00:39:01
>>455-456
よくそこまで自作自演する体力があるもんだな

458デフォルトの名無しさん:2006/09/30(土) 10:39:44
while文の中で、while文が続く条件の間でも一回だけさせたい処理ってどう書けばいいでしょうか?

while(!ある条件){
ある条件の間はずっと待ちながら処理;
ある条件になるのを待ってるけど、ある条件になった時1回だけ動く処理;
}
}

こういうとき、どうすれば一回だけその処理をさせて、後は動かないようになるんでしょうか?
単純にif文でよいのでしょうか?
459デフォルトの名無しさん:2006/09/30(土) 10:46:57
int i = 0;
while(!ある条件){
ある条件の間はずっと待ちながら処理;
if(i == 0){
ある条件になるのを待ってるけど、ある条件になった時1回だけ動く処理;
i = 1;
}
}

でいいんじゃね?
460デフォルトの名無しさん:2006/10/01(日) 20:38:18
糞javaerスレ乱立さすな!
461デフォルトの名無しさん:2006/10/01(日) 21:00:46
スレを乱立させたのはドトネト厨だから
462デフォルトの名無しさん:2006/10/01(日) 22:43:07
>>459
はい、間違い
463デフォルトの名無しさん:2006/10/02(月) 08:07:54
というより質問の時点でwhileがおかしいよね
464c⌒っ*゚д゚)っ:2006/10/03(火) 23:38:04
import java.io.*;class p131{
public static void main(String args[])throws IOException{
System.out.println("整数を入力してください");
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
int res=Integer.parseInt(str);
switch(res){
case1:
System.out.println("1が入力されました。");break;
case2:
System.out.println("2が入力されました。");break;
default:
System.out.println("1か2を入力してください。");
break;}}}

入門書を進めていたらなぜかエラーが出るのですがなぜでしょうか?
本文と睨めっこしても謎が分からずノイローゼになりそうなので
どなたか助言お願いします
465デフォルトの名無しさん:2006/10/03(火) 23:40:15
>>464
Eclipseでそのソースコードを表示すれば
どこに間違いがあるのか解りやすいとおもう。
466デフォルトの名無しさん:2006/10/03(火) 23:42:43
>>464
気になるのは
クラスのp131のファイル名は一体何になっているのか?
エラーメッセージは何か?
ってことだね。

クラス宣言のところ
class p131 {のところを
public class p131に変えて、
ファイル名はp131.javaにしてコンパイルしてみるといいよ。
467c⌒っ*゚д゚)っ:2006/10/03(火) 23:54:30
>>465
Eclipseですか、色々な機能があって便利そうですね
後で使って見ます 情報Thanks!!

>>466
細かい指摘ありがとう
エラーの内容はcase,default,または}がありません。

と出ています。まるっきり謎なメッセージです。・゚・(ノд`)・゚・。
ファイル名はもともと p131.java でした
宣言のところを変えてみてもエラーは7個のままでした

本の中身とまったく同じ環境、文なのにエラーとはこれいかに(´;ω;`)
468デフォルトの名無しさん:2006/10/03(火) 23:56:35
>>467
わかった
case1とかいているからだ

caseと1との間にスペースが入っていないんだよ。
それが原因だ。
469デフォルトの名無しさん:2006/10/03(火) 23:57:34
あとな、初めのうちは誰だってイライラする。
多分それはノイローゼじゃないと思う。
解らないことに対する恐怖心があるだけだ。
焦らずに、やれ
470デフォルトの名無しさん:2006/10/03(火) 23:59:23
そろそろ誰か、ちゃんとインデント打ったソースでも晒してみるといいのか?
471c⌒っ*゚д゚)っ:2006/10/04(水) 00:01:28
でけたァァアアアッ!!
スペース不足でした(´・ω・`)

caseと数字の間のスペースは除いてはならない重要な意味があったのか・・
勉強になった

15分ほど見てて間違い探ししていたのでちょっと精神的にダメージを
じわじわと食らってました

皆様ありがとう、精進します
472デフォルトの名無しさん:2006/10/04(水) 00:03:04
//file: p131.java
import java.io.*;
public class p131{
    public static void main(String args[]) throws IOException{
        System.out.println("整数を入力してください");
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String str=br.readLine();
        int res=Integer.parseInt(str); //これの例外はいいのかな?
        switch(res){
            case 1:
                System.out.println("1が入力されました。");
                break;
            case 2:
                System.out.println("2が入力されました。");
                break;
            default:
                System.out.println("1か2を入力してください。");
                break;
        }
    }
}
473デフォルトの名無しさん:2006/10/04(水) 00:23:02
>>472
オーケー。つか>>471は解決したね。よかったよかった
474デフォルトの名無しさん:2006/10/04(水) 06:14:07
今java勉強してるんだけどそのあとC→C++→アセンブリ(CASLU?)
と学ぶとなるとどれくらい掛かるかな?
マスターとまでは行かなくても普通にソフトウェアが作れるレベルで。
何年掛かるかね。
475デフォルトの名無しさん:2006/10/04(水) 06:16:45
たまに見る
while(true) {
}
って言うのは何?
何が true の時に繰り返すの?
476デフォルトの名無しさん:2006/10/04(水) 07:29:40
>>475
無限ループだよ。
必ずループする。で、中でbrake条件を用意しておく。
477475:2006/10/04(水) 07:37:37
>>476
サンクス。
意外に入門書で普通に使われてるのに解説が載ってなくて困ってたんだ。
やっと理解できた。
478デフォルトの名無しさん:2006/10/04(水) 08:23:26
二項分布計算してくれるクラスを作れない
もうだめだ…たたたたたたすけてー><;
479デフォルトの名無しさん:2006/10/04(水) 09:29:24
>>478
奥村晴彦のJava言語によるアルゴリズム事典を読むことをお勧めする。
480デフォルトの名無しさん:2006/10/04(水) 09:39:14
>>478
できてる友達にきけばいいじゃない
481デフォルトの名無しさん:2006/10/04(水) 13:59:40
宿題スレと言うのがあってだな
482デフォルトの名無しさん:2006/10/04(水) 14:01:25
http://java.sun.com/products/java-media/jmf/2.1.1/solutions/JVidCap.html
ここのサンプルプログラムを実行すると「! No Devices for 」ってエラーが出てしまうんですがどうしたらよいでしょうか?
環境はeclipse3.2でjmf.jar、mediaplayer.jar,multiplayer.jarは読み込んでいます
483デフォルトの名無しさん:2006/10/04(水) 15:20:23
>>482
具体的にどんな風にエラーがでたのか書かないと質問に答えられないな。

エラーヶ所を示す行番号は?
484デフォルトの名無しさん:2006/10/04(水) 17:04:48
>483
失礼しました。
実行するとeclipseのコンソール部にCaptureUtil.javaの89行目のメッセージを表示するんですが…
485デフォルトの名無しさん:2006/10/04(水) 17:26:37
エラーメッセージをここにペーストしたほうが解りやすいと思うぞ。
486デフォルトの名無しさん:2006/10/04(水) 18:08:40
>485
! No Devices for RGB, 160x120, FrameRate=15.0

こんな感じです。webカメラを繋いでやっていたんですが…もしかしてwebカメラじゃ無理とかいうオチでしょうか?
487デフォルトの名無しさん:2006/10/04(水) 23:47:28
BBSかBlog作成の手順を解説しているページでどこかいいのありますか?

できればStrutsで。

俺のググり方が悪いのか全然ひっかからん。
488デフォルトの名無しさん:2006/10/05(木) 00:11:48
知らん

すでにできあがっているのなら知っている。
ThingamablogっていうJava製ブログツールがある。
489デフォルトの名無しさん:2006/10/05(木) 00:34:05
>>487
何を知りたいんだ?
StrutsとDBが分かっていれば簡単に作れる部類だと思うが>BBS・Blog

490デフォルトの名無しさん:2006/10/05(木) 01:09:51
だがそれだけの知識ではMovableType並みのブログツールを作るのは容易ではないぞ。

テンプレートを作るなら構文解析くらいはしっておかないといかんだろうし。
Jakarta Velocityで代用っててもあるにはあるが。
いずれにしても、正規表現を使いこなさないとろくなもんはつくれんだろう。

つか、そもそも、RPCについてよくしらないとトラックバックpingを送ることもできない。
491デフォルトの名無しさん:2006/10/05(木) 03:25:21
ボタンを押すとテキストから100文字の字を読み込み
それらを1文字に分割してランダムに全部ウィンドウに表示するプログラムを作りたいのですが
どうしたらよいでしょうか?
被らないように表示したいのですがどうもわからなくて・・。
492デフォルトの名無しさん:2006/10/05(木) 09:02:17
宿題か?
何が被らないようにしたいのかはっきりしろ。
一度表示した者を二度と表示させない方法ならある、

乱数についてよくググれ
493487:2006/10/06(金) 00:39:33
いろいろレスありがとうございます。
人にJavaを説明するのにBBS・BLOGの作り方でもをサンプルにしようと思って聞きました。

俺の汚いソースとわかりにくい説明よりも解説サイトでも見てもらったほうがいいかと。

>>489
>StrutsとDBが分かっていれば簡単に作れる部類だと思うが>BBS・Blog

普通はStrutsとDBが分からないから(超初心者用」)で「教えてください」て聞くんじゃないですか?

ネタかと思いました。
494デフォルトの名無しさん:2006/10/06(金) 00:46:23
君の存在がネタになってるんだよ
495デフォルトの名無しさん:2006/10/06(金) 02:24:04
ネタ質問が多いから名。
496デフォルトの名無しさん:2006/10/06(金) 03:04:00
強がんなくてもいいよ。初心者君。
497デフォルトの名無しさん:2006/10/06(金) 13:48:36
超初心者を名乗るなら struts (の名前だけでも)知ってたらまずいだろ。
498デフォルトの名無しさん:2006/10/06(金) 18:28:11
>>493
例えば「Struts が解らない」と言われても
何が解らんのか、こっちも解らんからね。

要は君は Struts の実際のコードを見たいってことだろ?
いきなり大きなコードを解析しようとするより
小さなサンプルから解析していったら?
499デフォルトの名無しさん:2006/10/06(金) 23:14:08
>>498
487はStrutsのコードではなくて、Strutsを使った掲示板型システムのコードが知りたいのかも。
500デフォルトの名無しさん:2006/10/11(水) 22:38:50
三角関数についての質問なんですが
45度の直角二等辺三角形のtanは
Math.tan(Math.PI/4)
で合ってるんですよね
atanを使って角度を出す時はどうしたらいいんですか?
よろしくお願いします
501デフォルトの名無しさん:2006/10/11(水) 23:25:14
>>500
6行も書くぐらいなら、「atan」ってgoogle先生に聞くほうが早くないか?
502500:2006/10/12(木) 00:04:27
ググって調べたら解決できました
>>501 thx
503デフォルトの名無しさん:2006/10/12(木) 09:22:01
あほか。
504デフォルトの名無しさん:2006/10/12(木) 12:48:15
atanも解らない奴は、まったく、死ねばいいと思う

そのうちatan2が云々って来るんだろ

505デフォルトの名無しさん:2006/10/12(木) 14:37:41
>>504
で、atanって何かわかってないだろ。
お前の説明など要らないけどな。
506デフォルトの名無しさん:2006/10/12(木) 16:06:40
本人乙
>>500の言い訳か

507デフォルトの名無しさん:2006/10/12(木) 16:20:33
妄想乙
後ろで>>500が笑ってるぞ
508デフォルトの名無しさん:2006/10/14(土) 21:58:48
Javaとは、直接関係ないかもしれませんがおねがいします
例えばint[] styles={Font.ITALIC,Font.BOLD,Font.BOLD|Font.ITALIC};
のように、,Font.BOLDとFont.ITALICの間の『|』の意味は
何なんでしょうか?
509デフォルトの名無しさん:2006/10/14(土) 23:08:34
>>508
ビット和演算子
510デフォルトの名無しさん:2006/10/15(日) 00:24:58
>>509
 あぁ、なるほど
サンクスです
511デフォルトの名無しさん:2006/10/15(日) 14:53:35
>>500はバカですね
512デフォルトの名無しさん:2006/10/20(金) 19:11:23
Java.Runtime.Process に、確実にSIGINT もしくは SIGTERM を送る方法をおしえてくだしあ。

環境はJava 1.4.2。
OSは・・・どこでも動くように・・・らしいです。
513デフォルトの名無しさん:2006/10/21(土) 09:37:12
>>2^9
それって結構環境依存じゃないか?
まずjavaとSIGINT/SIGTERMの関係洗ってみ
514デフォルトの名無しさん:2006/10/25(水) 17:48:58
JFrameでGUIアプリを作ってるんですが、
ウインドウにファイルをドラック&ドロップしてファイル名を
受け取れるようにしたいのですがやり方知りませんか?
515デフォルトの名無しさん:2006/10/25(水) 17:52:52
java.awt.dnd.*
516デフォルトの名無しさん:2006/10/25(水) 19:29:55
テキストで書いたあとに、そのままコンパイルまで出来るのって、
「jpad」でしたよね?
違います?
ダウンロードしようと思ってググッたのですが、らしきものが見当たらないです。
517デフォルトの名無しさん:2006/10/25(水) 19:51:28
true/false を return する関数で、true のときに Date の値も返してほしいのだけど、どうやって書けばいいのかな

boolean getDate(Date date) {
 date = null;
 
 if (...) return false;
 
 if (...)
  date = Calender.getInstance().getDate();
 
 System.err.println(date);  // date は null or インスタンス
 return true;
}

void hoge() {
 Date date = null;
 boolean ok = getDate(date);
 if (ok)
  System.err.println(date);
}

とやったんだけど、

Thu Oct 26 01:01:00 JST 2006
null

となってしまって困ってます。Java 1.4.2 です。
518デフォルトの名無しさん:2006/10/25(水) 20:04:37
>>516
jcpad
519デフォルトの名無しさん:2006/10/25(水) 20:07:35
>>517
Java は全て値渡し

case 1: Date を返すように変更。false を返していたときには null を返す
case 2: Date を返すように変更。false を返していたときには例外を投げる
case 3: boolean と Date を含むクラスを作って、そのインスタンスを返す
520デフォルトの名無しさん:2006/10/25(水) 20:08:53
それから getDate なら Date を返すようにしなさい。紛らわしいから。
521デフォルトの名無しさん:2006/10/25(水) 20:16:50
>519
うーん、それしかないのかぁ。

C# の out/ref 引数みたいのがあるといいなぁと思ったのだけど。
すべて値渡しなのは知らなかった。ひとつ賢くなった。
ありがと。

getDate は、ここだけ名前。紛らわしくてごめん。
522デフォルトの名無しさん:2006/10/25(水) 20:38:04
>>521
out/ref があれば、もう少し便利になるんだけどね……。
ま、シンプルさの代償ということで。

あと、Date の参照を保持するオブジェクト作って、それを引数として渡すパターンもある。
あまり見ない手法だけど。
523デフォルトの名無しさん:2006/10/25(水) 21:31:08
static Date date;
に書き込む
524デフォルトの名無しさん:2006/10/25(水) 22:43:04
>>519
すべて値渡しってのは、参照変数渡す場合も
その参照するインスタンスのアドレスのコピーの値を渡しますよー
ってこと?
525デフォルトの名無しさん:2006/10/25(水) 23:11:56
>>524
ググレカス
526デフォルトの名無しさん:2006/10/25(水) 23:16:05
>>525
んー全て値渡しと言った意図を聞きたかったんだけどな・・・まぁいいか
527デフォルトの名無しさん:2006/10/25(水) 23:27:05
>>526
out/ref のような参照渡しが無い、という意味
528516:2006/10/25(水) 23:54:02
>>518
ありがとうございました。
529デフォルトの名無しさん:2006/10/29(日) 12:23:26
すいません、javaを動かすのにjcpadをインストールしたのですが、
「コンパイラのパス」と、
「標準のデータ保存フォルダのパス」を設定しろと出ます。
「標準のデータ保存フォルダのパス」はあらかじめ設定されているのですが、
コンパイラのパスはまったく表示されてません。
通常はどこを設定すればよいのでしょうか?
スレ違いかもしれませんが、該当がなかったので、何卒お願いします。
530デフォルトの名無しさん:2006/10/29(日) 18:39:50
>>529
javac のあるフォルダ



…… JavaScript と間違ってはいないよな?
531デフォルトの名無しさん:2006/10/31(火) 12:34:26
たまに居るな。
JavaScriptとJava混同してる奴。

で、間違いなくJavaだと仮定して。

JDKっていうかJavaのSDKは入れたよな?
入れてあるならその中のbinフォルダに
javac.exeってコンパイラがあると思うが。
532デフォルトの名無しさん:2006/10/31(火) 14:26:57
質問です。
PCにトラブルが発生したのでOSを再インストールしました。
その後またJDKをインストールしてプログラムをしてみたんですが
コンパイル成功した後、表示させると
WARNING: Defauit charset MS932 not supported, using ISO-8859-1 instead
と表示されて
全角(2バイト文字?)が表示されないんですが
これはどうすれば解消できるのですか?
533デフォルトの名無しさん:2006/10/31(火) 14:32:55
>>532
機種依存文字が混じってる
534デフォルトの名無しさん:2006/10/31(火) 14:41:02
>>533
機種依存文字ですか?
OS再インストール前まではちゃんと表示されてたんですが・・・。
535デフォルトの名無しさん:2006/10/31(火) 15:42:24
以前のJDKとバージョンが違うとか、OSのパッチが違うとか
536デフォルトの名無しさん:2006/10/31(火) 22:46:05
java -v して意図どおりの JVM を使ってるかの確認と
echo %CLASSPATH% (windows なら) して
変なところにクラスパスと押されてないかの確認と、
実行環境の JVM が国際化対応されてるか
(クラスパスに charset.jar があるかなど)の確認をするヨロシ。
537デフォルトの名無しさん:2006/10/31(火) 22:48:13
java -version だった。
538デフォルトの名無しさん:2006/11/01(水) 19:14:40
ソケットの質問です。

サーバープログラム
ServerSocket serverSocket = new ServerSocket(5000);
Socket socket = serverSocket.accept();
(以下省略)

のコードを走らせ,クライアントの接続を待っているところに
クライアントが外部から

String host = サーバープログラムの起動しているマシンのグローバルアドレス
Socket socket = new Socket( host,5000);
(以下省略)

を実行したらエラーが出てうまくつながりませんでした。
hostをローカルアドレスにしてローカル内で実行したらうまくいったんですが
グローバルから接続する場合はこのままだとつながらないんでしょうか?
539デフォルトの名無しさん:2006/11/01(水) 19:36:59
>>538
防火壁かルータの設定、あるいはアドレスの間違いかと
540538:2006/11/01(水) 20:32:42
>>539
市販の同人ゲームみたいにルーターのポートを手動で設定しないといけないという
ことですかね?
541デフォルトの名無しさん:2006/11/01(水) 21:17:24
542デフォルトの名無しさん:2006/11/02(木) 18:04:48
SDK1.4のCheckboxコンストラクタ(他にもあるだろうけど)について質問です。

ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/awt/Checkbox.html#Checkbox(java.lang.String, boolean, java.awt.CheckboxGroup)
とその次に表示されるコンストラクタは同じことをするように書いてありますが、
これは単純に仮引数入れ替えちゃってもOK!な利便性のためでしょうか。
もしくは何か特別な意味があるのでしょうか。
543デフォルトの名無しさん:2006/11/02(木) 22:36:08
>>542
特に意味は無い
544デフォルトの名無しさん:2006/11/03(金) 00:43:17
>>543
把握いたしました。
545デフォルトの名無しさん:2006/11/03(金) 00:43:46
ありがとうございました
546デフォルトの名無しさん:2006/11/05(日) 03:25:47
初めまして、超初心者です。すみませんが質問させてください。
ランダムに0.05刻みで出るようにし合計1.0になるまで繰り返すプログラムを作りたいのです
仮に最初に1.0が出たら以降は0.0にするという事は思いついたのですがプログラムに中々上手く出来なくて…
どうか教えてください、よろしくお願い致します。
547デフォルトの名無しさん:2006/11/05(日) 03:32:50
>>546
マジで日本語でおkなんだが・・・
548デフォルトの名無しさん:2006/11/05(日) 07:11:28
>>547
すみません、出直してきます。
549デフォルトの名無しさん:2006/11/05(日) 14:58:18
//0.05刻み(1/「20」)
final int div = 20;

//合計1.0((1/20) * 「20」)
final int target = 20;

Random r = new Random();
for (int sum = 0; sum < target; ) {
int value = 1 + r.nextInt(target - sum);
System.out.printf("%.2f (%d / %d [前計:%d])\n", ((double)value) / div, value, div, sum);
sum += value;
}
550デフォルトの名無しさん:2006/11/05(日) 15:37:16
while文について質問させてください。

class sum{
public static void main(String[] args){

int s = 0, i = 0;

do{
i = ++i;
s = s + i;
}while(i < 10);
System.out.println("1から" + i + "までの和は" + s);
}
}

実行結果は「1から10までの和は55」なのですが、「i<10」はどうして10になるのですか?
「iは10より小さい」なら「9」では・・・
あと「55」になるのかがさっぱりわかりません・・・
551デフォルトの名無しさん:2006/11/05(日) 17:06:19
まず
× while文
○ do-while文
別ものなので本なりグーグルなりで調べ直してくれ
552デフォルトの名無しさん:2006/11/05(日) 23:36:00
>>550
1 do{ 
2 i = ++i; 
3 s = s + i; 
4 }while(i < 10); 
5 System.out.println("1から" + i + "までの和は" + s); 
6 } 
7 } 

iが9で 1 に突入したとして、シミュレーションしてみ
553デフォルトの名無しさん:2006/11/06(月) 00:57:11
すみません、Webブラウザで動くアプレットを作ったのですが
これを.jar化して配布することは出来るのでしょうか。
.jarを実行するにはmain()が要ると聞いたのですが、
アプレットにはmain()がないと思うのですが・・・

コマンドプロンプトで.jarを作ってはみたのですが、これを実行すると
Java Virtual Machine Launcherが
"Could not find the main class. Program will exit."
と言って実行してくれません・・・

よろしくお願いします。
554デフォルトの名無しさん:2006/11/06(月) 01:01:40
>>553
applet タグにて、読み込みたい jar を指定すれば良いよ
<applet archive="foo.jar" code="bar.class" />
555553:2006/11/06(月) 01:16:38
>>554
動きました!!
てっきりjavawで動かすものかとばかり思ってました・・・
助かりました。ありがとうございますm(_ _)m
556550:2006/11/06(月) 03:07:40
>>551
スレ違いでしたか、すいませんでした。
>>552
絶対に一回は実行するので10なのでしょうか?
でもSはわけが分からないです・・・
557デフォルトの名無しさん:2006/11/06(月) 05:46:42
>>550
do {
} while (i < 10);
は{}内の処理が終わった段階で i < 10 が成り立つ限りループせよという意味。
ループ内でまずiは1増える。次にそのiをsの元の値に加えている。
最後にiが10より小さいかどうか判定して、小さければループの先頭に戻る。
iはループに入る前は0なので、
ループ内で1,2,3,..と増えて行き10になった時点で10より小さくないと判断され、
ループの次の処理に移る。したがってprintln()の段階ではiは10になっている。
sはループに入る前は0で、ループ内でiを足し込まれていくので、ループを出た時点では、
s = 1 + 2 + 3 + ... + 10 = 55
になる。

>>556
スレ違いだと言っているのではないと思う。
while文とdo-while文は別物なので、
そのあたりの基本的なところは自分で調べなさいと言っているのではないか?
558550:2006/11/06(月) 18:01:25
>>557
557さん分かりやすく教えてくれてありがとうございました!!!。
おかげで分かりました!!

556さんの言っている事勘違いですね、すいません^^;
559デフォルトの名無しさん:2006/11/06(月) 22:15:19
>>549
549さんありがとうございます!
しかし
System.out.printf("%.2f (%d / %d [前計:%d])\n", ((double)value) / div, value, div, sum);
初心者で上記の箇所が理解出来なくて…作成中のリストに組み込んだら実行出来なくて涙
知識をいただいたのに本当にすみません。。

50個と20個の中身をもった二次元配列を使ってランダムに0.05刻みで出るようにし合計1.0になるまで繰り返し
途中で合計が1.0になったら以降は0.0と表示出来るようなプログラムを作りたいのです

度々の書き込みですみません…どなたか教えてくださいm(__)m
560デフォルトの名無しさん:2006/11/06(月) 23:58:15
>>559
とにかく出力例をplz
それから java -version にてバージョンを確認plz

いまだに、0.05 刻みというのがどういう挙動を言っているのかがわからないス
561デフォルトの名無しさん:2006/11/07(火) 00:01:34
>559
意味が分からない。
お前は今どこまで書いたんだ?
562デフォルトの名無しさん:2006/11/07(火) 00:04:15
>559
「今はこう書いていて
 結果がこうなるんですが
 本当はこういう結果が欲しい」

みたいな例は無い?
問いの意味が判らないし何が解らないのかも判らないぞ。
563デフォルトの名無しさん:2006/11/07(火) 00:08:54
要約すると「日本語でおk」
564デフォルトの名無しさん:2006/11/07(火) 00:21:43
Flash Player って無料??
565デフォルトの名無しさん:2006/11/07(火) 00:41:58
二回までは聞き返すが、三度目はない。
566デフォルトの名無しさん:2006/11/07(火) 00:47:48
そう
567デフォルトの名無しさん:2006/11/07(火) 02:04:57
なにかボタンを押したら
次に進むようにするには
どうすればいいでしょうか?

どなたかお願いします。
568デフォルトの名無しさん:2006/11/07(火) 02:07:39
将軍様に無理難題をふっかけられた一休さんてこんな気分だったのかな・・・
569デフォルトの名無しさん:2006/11/07(火) 03:40:16
では、虎を出して下さい!
570デフォルトの名無しさん:2006/11/07(火) 04:45:25
小象なら出ます。
571デフォルトの名無しさん:2006/11/07(火) 07:38:58
>>567
つActionListener
572デフォルトの名無しさん:2006/11/07(火) 09:14:06
ここで聞くべきかわからないんですが、データベースシステムにおける
3階層アーキテクチャって何のことですか?データベース板で聞いたら
何故かプログラミング板できけって言われて・・・ぐぐったけど
よくわかりませんでした
573デフォルトの名無しさん:2006/11/07(火) 10:02:11
ニュー速VIPで聞け。
574デフォルトの名無しさん:2006/11/07(火) 10:27:42
>>568
金正日に無理矢理ふっかけられた坊主って誰だ?
575デフォルトの名無しさん:2006/11/07(火) 10:28:09
>>567
Swingを勉強すればいい
576デフォルトの名無しさん:2006/11/07(火) 10:56:50
>>572
クライアント - サーバ - DB
の構成のこと
577デフォルトの名無しさん:2006/11/07(火) 11:54:31
>>572
ム板で聞くのは間違ってないとは思うが、
Javaスレで聞くのは間違ってる。
578デフォルトの名無しさん:2006/11/07(火) 16:05:38
package ***;を入れると実行時のwrong nameというエラーになってしまいます。
何が原因なのかまったくわかりません。どなたか教えてください。
よろしくお願いします。
579デフォルトの名無しさん:2006/11/07(火) 17:53:01
>>578
package ***; なんて入れたら実行どころかコンパイルさえ通らないじゃん。
wrong name というエラーじゃなくて、NoClassDefFoundError というエラーじゃないのか?
wrong name はエラーの名前でなくエラーメッセージの一部。
そのエラーは必要なクラスファイルが見つけられないからだ。

例えば、x.java に package a.b; を書いたのなら、
javac x.java で作られた x.class をカレントディレクトリの下のディレクトリ a の下のディレクトリ b の下に置いて、
java a.b.x と実行する。

ディレクトリを作るのが面倒なら、コンパイルするときに javac -d . x.java とすれば、
カレントディレクトリ下に a/b のディレクトリを作成してくれて、 a/b/x.class が作られる。
580デフォルトの名無しさん:2006/11/07(火) 18:02:56
ソースファイルをパッケージに対応したディレクトリ構造の中に置いてコンパイルする
579の例ならx.javaをa/b/x.javaに置いてjavac a/b/x.javaとやればjava a.b.xで実行できる
581デフォルトの名無しさん:2006/11/07(火) 20:26:45
ゲームで毎フレームnewしないでピクセル配列からイメージを作る方法を教えてください
582デフォルトの名無しさん:2006/11/07(火) 22:57:42
>>579,580
レスありがとうございました。実行してみます。
583デフォルトの名無しさん:2006/11/07(火) 23:02:59
効果音と画像の処理をしたいのだがどうやれば一緒に出来るかわからないOTZ

教えてください
584デフォルトの名無しさん:2006/11/07(火) 23:48:06
>>579
>>580
package aaa;をjavaファイルの先頭に作り、
ディレクトリaaaをカレントディレクトリの下に作成し、
そこにjavaファイル(インターフェイスのみのファイル
とそれを実装するmainを含むクラスのあるファイル)を2つ
作ったのですが、javacはうまくいったのですが、java aaa.*
を実行すると
Exception in thread "main" java.lang.NoClassDefFoundError
になってしまいます。どうしたらよいのでしょうか。たびたび
すいませんが、よろしくお願いします。
585デフォルトの名無しさん:2006/11/07(火) 23:59:37
>>584
java aaa.*
         .↑
586デフォルトの名無しさん:2006/11/08(水) 00:20:25
>>584
java の引数で指定するのは main メソッドを含むクラスの完全名。
aaa.* はクラス名とは思えないが?
587デフォルトの名無しさん:2006/11/08(水) 20:25:27
質問です
本とかのサンプルでは整数型はintしか使っていないのですが
shortなどは遅かったりするのですか?
あとbyte型は-128〜127と0〜255のどっちですか?
588デフォルトの名無しさん:2006/11/08(水) 20:50:42
>>587
short …… 特には
byte …… -128〜127
589デフォルトの名無しさん:2006/11/08(水) 20:52:51
>>587
shortは滅多に使わないが。
引数に指定されている変数が数字ならほとんどint型だから
intつかっときゃOK

型名 サイズ 値の範囲
byte 1bytes -128〜+127
590デフォルトの名無しさん:2006/11/08(水) 20:56:51
>>587
処理の遅い速いはVMの実装次第。
整数型は符号付なのでbyteの場合、-128から127。
符号なしなのはcharくらいか。
591549 エスパー見習い:2006/11/09(木) 02:12:42
>>559
import java.util.Random;
import java.text.DecimalFormat;
public class R3 {
public static void main(String[] args) {
//0.05刻み(1/「20」)
final int div = 20;
//合計1.0((1/20) * 「20」)
final int target = 20;
Random r = new Random();
int[][] data = new int[50][];
for (int i = 0; i < data.length; i++) {
data[i] = new int[15];
for (int sum = 0, j = 0; sum < target && j < 20; j++) {
int value = 1 + r.nextInt(target - sum);
sum += value;
data[i][j] = value;
}
printLine(data[i], div);
}
}
public static void printLine(int[] lineData, int div) {
for (int i = 0; i < lineData.length; i++) {
System.out.print(format(lineData[i], div) + " ");
}
System.out.println();
}
private static DecimalFormat df = new DecimalFormat("0.00");
public static String format(int value, int div) {
return df.format(((double)value) / div);
}
}
592デフォルトの名無しさん:2006/11/09(木) 16:16:22
x=1;
y=x;
y=2;
とした時にxの値も2になってしまう場合があると聞きました。
どのような場合なのでしょうか。教えてください。
よろしくお願いします。
593デフォルトの名無しさん:2006/11/09(木) 16:59:26
Javaではそんなことあり得なくね?
594デフォルトの名無しさん:2006/11/09(木) 18:30:20
>>592
cとかc++とか、ポインタを直接渡せる言語の話じゃね?
javaでは、yに新しい値を代入してる限りそれは起こらない。
代入では無く可変オブジェクト(のポインタ値)を渡して、その渡した先で状態を変更すれば
元オブジェクトにも影響が及ぶ。 同じモノをいじくったわけだからな。

JLabel l1, l2;
l1 = new JLabel("A");
l2 = l1;
l2.setText("B"); <--- ココ

この場合は、l1.getText() の結果が "B" になる。 これはなって当然。
595デフォルトの名無しさん:2006/11/09(木) 19:26:51
>>593
>>594
なるほどありがとうございます。では、可変オブジェクトで
このようなことがおこらないようにするにはl1.clone()とすれ
ばよろしいのでしょうか。よろしくお願いします。
596デフォルトの名無しさん:2006/11/09(木) 20:16:35
>>595
clone としたときに何が起きるかは、オブジェクトによって異なる。
極端な話、clone で this を返す実装だって可能といえば可能。

……可変オブジェクトって何よ。unimmutable ってこと?
597デフォルトの名無しさん:2006/11/09(木) 20:18:16
……失礼。im 自体で否定の意味を持つから、mutable だけで良いのか。
598デフォルトの名無しさん:2006/11/10(金) 09:12:07
Vectorに関するメソッドは何があるかなどを調べたいときに、
便利なドキュメントがあるとききました。sun microsystemのドキュメント
でしょうか。どなたか教えてください。よろしくお願いします。
599デフォルトの名無しさん:2006/11/10(金) 10:33:44
APIドキュメントってのがある。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Vector.html

JDKと別配布になってるが、
「J2SE 5.0 ドキュメント」ってところからダウンロードできる。
ttp://java.sun.com/j2se/1.5.0/ja/download.html

って言う話?
APIドキュメントなしでプログラミングするってかなりキツいと思うが。
600デフォルトの名無しさん:2006/11/10(金) 11:42:59
>>595
そういや明確な答えを言ってるヤツがいなかったので書いておく。
clone()が確実に新しいオブジェクトを返すのなら、clone()でいい。
そうでなければ、受け取った側で同じクラスのインスタンスを new で作って
各値をコピればいい。 つーか、本来はclone()の中にこういった処理を書くべき。
601デフォルトの名無しさん:2006/11/10(金) 18:56:20
文字列を取得してそのサイズを求めたいのですが、どうすればいいでしょうか
602デフォルトの名無しさん:2006/11/10(金) 20:36:07
>>601
こんなかんじ?

import java.io.*;
public class IOTest {
public static void main(String[] args) throws IOException {
String str;
System.out.print("Input :");
BufferedReader unko = new BufferedReader(new InputStreamReader(System.in));
str = unko.readLine();
System.out.println("Output:"+str);
System.out.println("Length:"+str.length());
}
}
603デフォルトの名無しさん:2006/11/10(金) 21:12:51
>>577
いや、そもそも、>>572の聞き方に問題がある。
3階層アーキテクチャとひとことにいってもいろいろあるし。
MVCアーキテクチャとは限らないかも知れない。
だったらどう答えればいいのやらって話になる。
604デフォルトの名無しさん:2006/11/10(金) 22:04:19
MVCはあんまり階層とはいわないような。
データベースがらみで階層といえば、
プレゼンテーション、ビジネス、インテグレーション
じゃないの?

Java スレで聞くのは間違ってないが、「(超初心者用)」スレの話題ではないな。
605デフォルトの名無しさん:2006/11/11(土) 00:22:34
>>599
レスありがとうございます。早速ダウンロードして解凍したのですが、
jdk-1_5_0-doc-jaというフォルダが作られました。これをどうすれば
Vectorのメソッドはどんなのがあるのか調べられるようになるのでしょうか。
よろしくお願いします。
606デフォルトの名無しさん:2006/11/11(土) 00:27:40
>>605
とりあえずフォルダを開きなさい。話はそれからだ。
607デフォルトの名無しさん:2006/11/11(土) 02:31:03
>>604
OSIか。それだったらム板どころか、LinuxやUnix,通信技術、自宅サーバ、セキュリティ、情報システム
板辺りが妥当だともいえるかもな。

だが、ネットワークプログラミングのスレッドがム板にあるなら、そこも適切かもな
608デフォルトの名無しさん:2006/11/11(土) 02:31:51
3階層アーキテクチャ


というとしたら、


エンタープライズアーキテクチャ、
サービス指向アーキテクチャ(SOA)

とかか
609デフォルトの名無しさん:2006/11/11(土) 05:19:16
はじめまして。Javaを始めたばかりなのですが、質問させていただきます。

クラスの使い方がまだ良くわかっていないのですが、
メソッド内で変数を宣言する際に、CのStatic変数のような宣言の仕方は出来ないのでしょうか。
各メソッドで共有したい値はメンバとして宣言するしかないのでしょうか?
610デフォルトの名無しさん:2006/11/11(土) 13:24:37
>>609
C の static 変数のような仕様はありません。
オブジェクトのメンバとして宣言してください。
611デフォルトの名無しさん:2006/11/11(土) 15:27:33
>>606
フォルダを開いて、docs\jaのindex.htmlをひらくとJava2 プラットフォーム
API仕様というのがありましたがこれを見ればよいのでしょうか。このフォルダを
デスクトップに持ってくることは出来ないのでしょうか。よろしくお願いします。
612デフォルトの名無しさん:2006/11/11(土) 15:49:49
>>611
とりあえず、パソコンについて最低限の知識を学んでください。
そうでないと java を勉強することが難しくなりますので。
613デフォルトの名無しさん:2006/11/11(土) 19:00:42
>>611
お前は自分が行動する前に誰かの承認を得ないではいられない体質なのか?
もっと自発的にならなければプログラミングどころか世の中全般渡っていけないぞ。
まず見てから問題があれば質問しろ。
614デフォルトの名無しさん:2006/11/11(土) 19:09:27
たとえ「行動する前に承認を得ないではいられない」体質の人間が数十万単位で居ても、
少数派なので問題ない
615デフォルトの名無しさん:2006/11/11(土) 20:35:50
鼠が宇宙にただ一匹しかいなくてもそれがドラえもんの隣にいたら大問題
616デフォルトの名無しさん:2006/11/11(土) 20:53:06
ドラえもんなんていねーです
夢語るのもいい加減にしろです
617デフォルトの名無しさん:2006/11/11(土) 21:45:33
:::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ:::::::::::
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;
618デフォルトの名無しさん:2006/11/12(日) 01:54:08
たとえいい加減にする人間が数十万単位で居ても、
少数派なので問題ない
619デフォルトの名無しさん:2006/11/12(日) 01:55:24
たとえじつにばかな人間が数十万単位で居ても、
少数派なので問題ない
620デフォルトの名無しさん:2006/11/12(日) 01:56:59
たとえいい加減にする人間が数十万単位で居ても、
少数派なので問題ない人間が数十万単位で居ても、
少数派なので問題ない
621デフォルトの名無しさん:2006/11/12(日) 02:18:06
後ののび太である
622デフォルトの名無しさん:2006/11/14(火) 20:39:51
たとえ3層アーキテクチャと聞いて3層スキーマアーキテクチャのことだと思ったのは俺だけでいい
623デフォルトの名無しさん:2006/11/15(水) 05:16:34
最近L2〜L4までで遊んでいる俺はOSIだと思ったがどうでもいい
624らん:2006/11/15(水) 11:16:56
例外処理について質問です。
自分で例外を作る時は、class クラス名 extends Exception を最初に記述すれば
あとは、通常の例外処理を書いてあげればいいのですか?
625デフォルトの名無しさん:2006/11/15(水) 11:51:48
質問の意味がよくわからんが、通常の例外処理を書いて〜 ってのは、例外をハンドルする側の事か?
class クラス名 extends Exception は新しい例外クラスを定義している。
よって、このクラスにコンストラクタを書くなりして、この例外オブジェクトを作る方法を定義してやる。
シンプルにメッセージだけを持った例外でもいいし、もっと詳細な情報を持たせてもいい。 好きなように。
で、例外を受け取る側では、他の例外と同じようにcatchしてやって
この例外から情報を取り出して表示するなり、printStackTrace()なりすりゃいい。
626デフォルトの名無しさん:2006/11/15(水) 16:26:43
俺も、例外のところ分からないな〜。特に、throwとthrowsのところだ!
627デフォルトの名無しさん:2006/11/15(水) 16:36:52
ネタか? 全然使う文脈が違うじゃん。
throwは文中で、「今から例外を投げるぜ」と使うもの。
throwsはメソッド定義時に、「俺はこんな例外を投げるかもしらんよ」と宣言するもの。
throwsが書いてあるメソッドを使う時には、その例外にそなえてcatchしなければいかんし
ここでcatchしても何もできないなら、そのままさらに上に丸投げ (throws) する。
全部main()でなんとかするような、マヌケな事態にならないようにしなければいかんが。
628デフォルトの名無しさん:2006/11/15(水) 19:18:38
ここはJBuilderでの質問でもいいんですか?
629デフォルトの名無しさん:2006/11/15(水) 20:03:00
>>627
626です。わかりやすい説明ありがとうございます。私の場合throwとthrowsの
違いからしっかり勉強しないといけませんね。
どの参考書よりもわかりやすい説明でした!!
また、分からなくなったら質問させて頂きます。
630デフォルトの名無しさん:2006/11/16(木) 00:06:35
むしろどれほどわかりにくい参考書読んでたのか気になる。
631デフォルトの名無しさん:2006/11/16(木) 01:18:47
ポップアップメニューの複数作成のやり方がわかりません。
1つならできたのですが…
参考になるサイトがあったら教えてください。
632デフォルトの名無しさん:2006/11/16(木) 13:46:11
javaで自動計測のプログラムを書くことになったのだが
お勧めのサイト・本などありますか?
633デフォルトの名無しさん:2006/11/17(金) 10:46:30
ttp://www.eclipse.org/ オープンソースな、世界で一番使われていると思われるJavaアプリ
ttp://javafaq.jp/index.html JavaFAQ。
ttp://www.tagtraum.com/ GC チェッカ。メモリリークしてるとどんどん育つ。
ttp://utsu.jp/ 首吊り防止に重要
ttp://www.eyezmaze.com/ 秋の夜長に

あとはjava のバイナリに入ってる src.zip の中身が重要
634デフォルトの名無しさん:2006/11/17(金) 18:17:09
家になぜか

黒くてゴツい

Java
プログラミング
Black Book
Steven Holzner 著/武藤 健志 監修/トップスタジオ 訳

発行 株式会社インプレス

2000年10月11日第1版第2刷発行

Windows版Java 2 SDK Standard Editionバージョン1.3収録のCD-ROM付き

という本があるんですが、これは今でも使える本ですか?
Javaを勉強するにしても初心者にはかなりヘビーそうな本に見えるのですが。

ちなみに当方、大学でRubyをかじり、今ExcelVBA勉強中の者です。
VBA終わった後Rubyきちんと勉強しようと思ってます。
635デフォルトの名無しさん:2006/11/17(金) 18:23:01
>>634
ああ、それ持ってた。それの内容をまるまる憶えれば、
あとは java1.3 と 1.4 と 5.0 で新しく出てきたことを勉強するだけで基本はOK。まだ使えるはず。
636デフォルトの名無しさん:2006/11/17(金) 19:42:18
テキストファイルの行数を簡単に知る方法って無いかな?
BufferedReader buffer = new BufferedReader(new FileReader("MyText.txt"));
int i = 0;
while(buffer.reaeLine()) {
   i++;
}
↑みたいにカウントする方法しか思い浮かばないんだけど他に簡単なのないんかな?
637デフォルトの名無しさん:2006/11/17(金) 23:51:06
>>635
分かりました、親切にありがとうございましたm(_ _)m
638チャン:2006/11/18(土) 11:05:21
コレクションのところを勉強していて、コンパイルしようとしたら「ミチェック又は
安全ではありません。詳細については-Xint:uncheckedオプションを指定して、再コンパイル
してください」とでたのですが、いったいなんでしょう?また、どうすればいいのですか?
639デフォルトの名無しさん:2006/11/18(土) 12:12:58
>>638
ttp://pc8.2ch.net/test/read.cgi/tech/1161492130/
こっちで聞くかあっちで聞くか統一した方が良いと思う。
多分、むこうで問題ないよ。
640デフォルトの名無しさん:2006/11/18(土) 14:30:43
>>636
wcコマンドを呼び出せ
641デフォルトの名無しさん:2006/11/19(日) 18:50:51
>>636
システムが行数を管理していない以上、自分で数えるしかない。
1文で書くならこういう方法があるが簡単でも効率的でもないな。
int i=Pattern.compile("$",Pattern.MULTILINE).split(new Scanner(new File("MyText.txt")).useDelimiter("\\Z").next()).length;
642デフォルトの名無しさん:2006/11/19(日) 18:59:11
あー、このままではScannerをクローズできないから、
すぐに終了するようなプログラムでないなら、
int i;
Scanner sc = null;
try {
i=Pattern.compile("$",Pattern.MULTILINE).split((sc=new Scanner(new File("MyText.txt"))).useDelimiter("\\Z").next()).length;
} finally {
sc.close();
}
にしてメソッドがthrows IOExceptionするようにしておくとかが筋かね。
catchしてメソッド内で処理してもいいし。
どちらにしてもひどいコードだ。
643デフォルトの名無しさん:2006/11/19(日) 19:11:48
すまん
sc.close()の前にif(sc!=null)が抜けてた
644デフォルトの名無しさん:2006/11/20(月) 10:38:10
>>640-643
サンクスです。亀レスですまんです。
でもコードの意味を理解する力がまだ無いな(恥
調べてみるね。とりあえずお礼。
645デフォルトの名無しさん:2006/11/20(月) 15:41:51
>>644
Scannerでファイル内容全部をStringにして、
それをPatternで行末をデリミタとしてStringの配列に分解して、
その配列の要素数を数える、という効率とかメモリ使用量とかに優しくないコード。

他にも、BufferedReaderを使うのとほとんど変わらないけど、
LineNumberReaderというBufferedReaderのサブクラスがある。
これはReaderの方で読んだ所までの行数をカウントしてくれているので、
自分でi++とかしなくてすむ。行数の保持をReader任せにできるくらいしか利点はないが。
646デフォルトの名無しさん:2006/11/20(月) 16:17:06
>>645
勉強になります。
647デフォルトの名無しさん:2006/11/20(月) 19:10:19
初心者です。課題でカレンダーを作るんですが、何から始めればいいのか
わかりません。とりあえず、カレンダーの画面は作ったんですが(日付は
JButtonで作成)このボタンに起動した月の日付を表示するにはどうすればいいでしょうか?
648デフォルトの名無しさん:2006/11/20(月) 20:10:36
処理を分解して考えよう
その目的のためには、
1.日付を文字列で取得する
2.ボタンに文字列を設定する
649デフォルトの名無しさん:2006/11/20(月) 21:42:18
>>648
すいません、遅くなりましたがお願いします。
650デフォルトの名無しさん:2006/11/20(月) 21:56:01
>>649
>>648はお前がやるんだよw
651649:2006/11/20(月) 22:12:38
すいません。
652デフォルトの名無しさん:2006/11/20(月) 23:37:08
まず何から始めればいいんですかね?漠然とした質問で申し訳ない。
653デフォルトの名無しさん:2006/11/21(火) 00:30:56
ここはあくまで初心者スレであって、既に解答は>>648で出てる
手取り足取り教えて欲しいなら宿題スレ行けよ
654デフォルトの名無しさん:2006/11/21(火) 02:10:47
誘導
http://pc8.2ch.net/test/read.cgi/tech/1159572806/

最近はswingから始める本が多いのか。
655デフォルトの名無しさん:2006/11/21(火) 15:22:39
スレのすみ分け

このスレは本当に下らない単発の質問をするところ。
宿題スレは自分の脳みそはほとんど使わず、人様に宿題を解いてもらうところ。
656デフォルトの名無しさん:2006/11/21(火) 19:32:12
この↓のコードなんですが、4行目と5行目の違いがいまいちわかりません。
詳しい説明してくれる人お願いします。
class Sample1 {
 public static void main(String[] args) {
  int total = 0;
  Goods[] account = new Goods[3];
  for(int i=0; i<3; i++) {
   account[i] = new Goods();
  }
  account[0].store("りんご",150,3);
  account[1].store("みかん",80,5);
  account[1].store("トマト",120,2);
 }
}
657デフォルトの名無しさん:2006/11/21(火) 19:57:12
4行目が Goods[] account = new Goods[3]; で、5行目が account[i] = new Goods(); だと言い張るのならば、

4行目は Goods インスタンスが入る配列の『外枠』を new している。
5行目は Goods のインスタンスを new して、それを配列に代入している。
658デフォルトの名無しさん:2006/11/21(火) 20:05:35
>>657
助かりました。ありがとうございます。
659デフォルトの名無しさん:2006/11/22(水) 00:11:46
あくまでも5行目がaccount[i] = new Goods(); だと言い張るつもりのようだ。
660デフォルトの名無しさん:2006/11/22(水) 02:16:07
ワロタ
661デフォルトの名無しさん:2006/11/23(木) 19:56:56
jbInitって何ですか?
662デフォルトの名無しさん:2006/11/23(木) 20:19:35
javaを始めようとおもい、j2sdk-1_4_2_13-windows-i586-p.exeを実行したところ
「ドライブが正しくありません:M:\」と表示されインストールできませんでした。

これじゃjavaできないっす 誰か助けてください
663デフォルトの名無しさん:2006/11/23(木) 20:23:47
OSは何? それと、指定した場所は存在する?
664662:2006/11/23(木) 20:38:07
OSはme Mドライブはありません
665662:2006/11/23(木) 21:56:52
なんかjavaに限らず、インストールしようとしたもの全部そうなりました。板違いですね。サヨナラ。
666デフォルトの名無しさん:2006/11/23(木) 21:58:08
大変ですね。めげずに頑張って下さい
667デフォルトの名無しさん:2006/11/23(木) 22:17:35
>>665
レジストリの標準インストール先がM:\になってるんだろうけれど、
身に覚えが無ければウイルスの疑いあり。
668662:2006/11/23(木) 23:51:25
ドライブが正しくありません でググったら解決しました。My Pictureの参照先が〜とかいう理由でした。
今から独習がんばります。

>>667
身に覚えないです。(((( ;゚Д゚))))ウィルス・・・
669デフォルトの名無しさん:2006/11/24(金) 19:40:37
jsp使う利点ってなぁにぃ?
PHPの方がよくね?って思う訳ですが。。。。。
うちの上司が妙にJava信者でjspの利点を語っていたんですが、
「PHPは小規模向きだよね。jspは大規模向きだよね。」
とか言って理由を話してくれなかった訳です。

誰か教えてー
670デフォルトの名無しさん:2006/11/24(金) 19:51:02
時間対効果
671デフォルトの名無しさん:2006/11/24(金) 19:53:52
昔servletなんてのもあったな
672デフォルトの名無しさん:2006/11/24(金) 19:58:51
>>670
よくわからなひ。。。。。
673デフォルトの名無しさん:2006/11/24(金) 20:11:00
オブジェクト指向とか云々は別として、PHPの方が入りやすい。
JSPとPHP比べてるけど、大規模システムをJSPのみで組むんですか?www
PHPでもJava呼べるし、適材適所だろう。Javaにこだわり過ぎるのはどうかと。。。
(うちは、Java・Perl・PHP使い分けてるぞ)
674デフォルトの名無しさん:2006/11/24(金) 20:11:43
一番いいのはASP.NETだけどな
675デフォルトの名無しさん:2006/11/24(金) 20:22:14
>>673
やっぱそうですよね!?
あ、いや、でもやっぱりjspを使う利点がしっかり分かっていないっす。
jspってただJavaのAPIが丸々使えまっせってところ以外はWebアプリケーションとして使う利点がないと思うんですが。。。。
コアの部分はCでもC++でも組める訳ですし・・・・・。
実際のところ、jspよりPHPの方が処理速度早くないですか?
あっ、でもJavaでアプリケーション組むのはすごく良いと思います。Swingむっちゃ便利だし。

誰か指摘キボンヌ
676デフォルトの名無しさん:2006/11/24(金) 20:38:02
とりあえずこのスレの話題じゃなさそうなことを指摘
超初心者の俺はきりんさんが好きですが、jspって結局資源が使えるってメリットが大きいんじゃないの。
677デフォルトの名無しさん:2006/11/24(金) 20:39:40
Java初心者です。
ボタンを42個使ってカレンダーを作ることになりました。
ボタン1個1個に日付を表示する場合、例えば今月の1日は水曜日から
始まりますが、左上のボタンから右に4つ目のボタンに「1日」を
その右隣のボタンには「2日」をという具合に
表示するには、どのようにすればいいのでしょうか?
わかりづらい説明かもしれませんが、使うクラスなどを
教えていただきたいです。お願いします。
678デフォルトの名無しさん:2006/11/24(金) 21:34:50
開発規模が大規模なのか、利用者層が大規模なのかにもよると思うな
前者ならjsp、後者ならPHPで。
PHPプログラマを集めるor教育するのは時間と費用が…
679デフォルトの名無しさん:2006/11/24(金) 21:41:11
>677 java.util.Calendar
680デフォルトの名無しさん:2006/11/24(金) 23:18:52
質問です。
環境は WinXPpro / Java 1.4.2 / eclipse 3.2 / vc6

JNIを使うプログラムを作ったのだけれども、
jar に固めて、ダブルクリックで起動しようとすると、
---------------------------
Java Virtual Machine Launcher
---------------------------
Could not find the main class. Program will exit!
---------------------------
OK  
---------------------------
という、エラーダイアログが出るんです。
jar ファイルと、呼び出される dll ファイルは同じディレクトリにあります。

eclipse からは当然起動できるし、コンソールからでも

C:\Documents and Settings\〜> java -jar jnitest.jar
Hello jni!

C:\Documents and Settings\〜>

みたいなかんじで起動できるので manifest が狂ってるわけではなさそう。
#いや、こんなプログラムじゃないけど起動出来るって意味で。


ダブルクリックで起動できるようにするにはどうすればいいのか教えてほしいです。
681680:2006/11/24(金) 23:31:59
んー、なんとなくエスパー召喚してる気がするのでもうちょい。

なんとなく予想している原因が、多分 dll の読み損ねなのではないかなとおもってます。
開発中に、dllを読み損ねたときに同じようなダイアログが何回も出たからです。

dll の読みそこねならば、原因は多分起動ディレクトリが狂っていて、dll を見つけられないのではないか、
では System.loadLibrary に適切なパス=<jarファイルの置いてあるディレクトリ>\dllfile.dll
を渡せばいいのではないかと、考えました。

でも、それを取得する方法がわかりません。
なので、まず、<jarファイルの置いてあるディレクトリ>をゲットする方法が知りたいです。


まぁ、ホントにそれであっているのかどうかもわかりませんけれども。
682デフォルトの名無しさん:2006/11/24(金) 23:35:56
>>680
META-INF/MANIFEST.MF
が小文字だとダメとかあった気がする。
683680:2006/11/24(金) 23:53:54
C:\Documents and Settings\〜>jar tvf program.jar
  0 Fri Nov 24 22:18:04 JST 2006 META-INF/
 127 Fri Nov 24 22:18:02 JST 2006 META-INF/MANIFEST.MF
    :

うーん、どうやら違うみたいです。
684デフォルトの名無しさん:2006/11/24(金) 23:59:12
>669
ビジネス現場ではPHPプログラマよりJavaプログラマのが多い
だったら既存の人材がそのまま使えるJSP
そこが一番大きいんだろうな実際は
685684:2006/11/25(土) 00:00:48
ビジネス現場じゃねぇや
ビジネス向けアプリ開発者か
686デフォルトの名無しさん:2006/11/25(土) 00:06:17
>681 ClassLoader#getResource
687デフォルトの名無しさん:2006/11/25(土) 01:17:40
>>678
うちはJavaメインだが、唐突にPHPやPerlの現場に飛ばされたぜ(´ω`)
(PHPもPerlも使えることは言ってない)
つまり、教育 = 現場><
688680:2006/11/25(土) 01:22:32
原因判明、解決しました。

原因は前に参考のために入れたJava 1.3が残っていて、
jar ファイルの関連付けが 1.3 の javaw へ関連付けられていました。
これを 1.4.2 のものに直したら、動くようになりました。
# 1.3 はアンインストールしました。

お騒がせしました。

#でも、jar ファイルのあるディレクトリを取る方法がよく出来なかったり^^;
class JNI {
 static {
  URL url = System.class.getClassLoader().getResource(path);
 }
}
とかやって、pathをいろいろ変えたりしたんですが null しか返ってこないのですよね。うーむ。
あ、eclipse からはずっと 1.4.2 の javaw を呼んでいたようです。
689デフォルトの名無しさん:2006/11/25(土) 09:34:58
ヒント: ブートストラップクラスローダとシステムクラスローダ
690デフォルトの名無しさん:2006/11/25(土) 20:39:06
インスタンスを作るときに、
<クラス名> <変数名> = new <クラス名> で
前の<クラス名>と、newの後ろの<クラス名>が違う場合はどういう意味
でしょうか?
前と後ろの<クラス名>は必ず一致しなければいけない訳では
ないんでしょうか?
お願いします。
691デフォルトの名無しさん:2006/11/25(土) 20:43:38
>>690
継承やインターフェイスを実装した場合など
<インターフェイス名> <変数名> = new <クラス名>
692デフォルトの名無しさん:2006/11/25(土) 20:47:39
後ろのnew <クラス名>は<クラス名>のオブジェクトを生成しますよって意味。
前の<クラス名> <変数名>は、<クラス名>型の <変数名>という変数を宣言している。
二つ併せて、new <クラス名>で生成したオブジェクトを
<クラス名>型の <変数名>という変数に代入して
今後はその変数で生成したオブジェクトを扱う事が出来る。

前と後ろの<クラス名>は必ず一致しなければいけない訳では
ないんでしょうか?

違う。
new <クラス名>の<クラス名>のスーパークラスとか
実装しているインタフェースでも
<クラス名> <変数名>の<クラス名> に使える。
693デフォルトの名無しさん:2006/11/25(土) 21:01:06
>690
サブクラスなんかも指定出来る。
例えば Integerクラスや Doubleクラスは
両方とも Number を継承しているので

Number n1 = new Integer(123);
Number n2 = new Double(3.14);

なんて事が出来る。

new側は実体化可能なクラスしか指定出来ないが
変数宣言側の型には仮想クラスや
インターフェイスも指定できる。

それを継承(インターフェイスならimplements)したオブジェクトなら
何でも入る変数ってワケ。
694デフォルトの名無しさん:2006/11/25(土) 21:44:25
double e = new Integer(3);
695デフォルトの名無しさん:2006/11/25(土) 22:03:25
>694
それはまた違う原理。
Boxing/Unboxing
696デフォルトの名無しさん:2006/11/26(日) 00:34:14
すいません。
コンパイルをしようとしたら、

「注:***.javaの操作は、未チェックまたは安全ではありません。」
「注:詳細については、-Xlint:uncheckedオプションを指定して再コンパイルして下さい」

と出たんですか、どういう意味なのかどなたか教えて頂けないでしょうか?
お願いします。
697デフォルトの名無しさん:2006/11/26(日) 00:49:54
>>696
java 5.0 では generics というものが追加されていて、
その関連で、コレクション関係のクラスを使うとそういう警告が出るようになってる。

-source 1.4 をコンパイルオプションに追加すれば一応出なくなるけど、
この際だから generics も勉強することをお勧めしておくよ。
698デフォルトの名無しさん:2006/11/26(日) 01:41:12
>>697さん
教えて頂き、ありがとうございます!

>-source 1.4 をコンパイルオプションに追加する
とはどういった操作?でやるのでしょうか?

genericsですか・・・ちょっと聞いた事ないんですが、勉強します^^;
699デフォルトの名無しさん:2006/11/26(日) 02:02:42
すいません。
自己解決しました!
700デフォルトの名無しさん:2006/11/26(日) 02:05:04
>>698
返答しようと思ったら、自分で解決できたようで何より。乙
701デフォルトの名無しさん:2006/11/26(日) 02:11:07
一定時間ごとにその時間をテキストに書きたいのですが
なにか良いのはありますか?
702デフォルトの名無しさん:2006/11/26(日) 02:22:02
>>701
java.lang.Thread
java.util.Calendar
703デフォルトの名無しさん:2006/11/26(日) 02:38:59
>>702
ありがとうです
ちょっと調べてがんばってきます
704690:2006/11/26(日) 02:52:47
>>691 692 693 694
ありがとうございます。
705690:2006/11/26(日) 02:53:29
>>691 692 693 694
ありがとうございます。
706690:2006/11/26(日) 12:26:29
>>691 692 693 694
ありがとうございます。
707デフォルトの名無しさん:2006/11/26(日) 13:50:55
>704 705 706 707
ありがとうございます。
708デフォルトの名無しさん:2006/11/26(日) 17:53:09
http://www.javaroad.jp/java_io7.htm
ここの例題2をコピペして実行してもtxtの中は文字化け(?)を起こして
ャ sr Hello猖ハT<・ xp
となります

どうすれば普通にHello World!! と書き込めるのでしょうか・・・
709デフォルトの名無しさん:2006/11/26(日) 18:27:11
>>708
例2のプログラムは 『ファイルに Hello World と書くプログラムではない』 んだけどな。
710690:2006/11/26(日) 18:51:42
>>691 692 693 694
ありがとうございます。
711デフォルトの名無しさん:2006/11/27(月) 17:11:39
PHPは開発環境が高い
712デフォルトの名無しさん:2006/11/27(月) 23:37:37
フリー環境でええやん
713デフォルトの名無しさん:2006/11/28(火) 09:22:12
フリーでEclipse並みのPHP開発環境ってなくね?
714デフォルトの名無しさん:2006/11/28(火) 10:26:33
>>713
Eclipseで開発すればいいじゃん
715デフォルトの名無しさん:2006/11/28(火) 11:07:21
EclipseのPHPプラグインってそれほどできよくなくね?
716デフォルトの名無しさん:2006/11/28(火) 11:12:53
よくなくなくないよな
717デフォルトの名無しさん:2006/11/28(火) 15:06:48
どっちなんだ
718デフォルトの名無しさん:2006/11/28(火) 15:55:17
>717
(!!!良い)
719デフォルトの名無しさん:2006/11/28(火) 18:49:53
byte a = (byte)255;
これってなんですか?
720デフォルトの名無しさん:2006/11/28(火) 19:24:54
彼には役不足だよ
721デフォルトの名無しさん:2006/11/28(火) 20:18:49
日経ソフトウエアのはじめよう!Javaまるごと学習ブックでJavaに勉強した者です。

本の中盤でpublic class Test1というものを書いているのですが、Test1という名前は
前の章ですでに使ってしまっていて、この名前ではメモ帳で保存できません。

今は本のとおりにMyJavaというフォルダを作ってずっとそれで作業しており、コマンドプロンプト
を起動するとそれが自動で出てくるようになっているのですが、新しいフォルダを作成した方が
いいのでしょうか?その際、フォルダ名はMyJava2にしてもJava的にOKなのでしょうか。

あるいはTest1を他のクラス名./ファイル名にしたほうがいいのでしょうか?その場合は無難な
ファイル名でなにかいいものがあったら教えていただけると有難いです。よろしくお願いします。
722721:2006/11/28(火) 20:20:30
訂正

誤:日経ソフトウエアのはじめよう!Javaまるごと学習ブックでJavaに勉強した者です。

正:日経ソフトウエアのはじめよう!Javaまるごと学習ブックでJavaを勉強している者です。
723デフォルトの名無しさん:2006/11/28(火) 21:03:58
エスパー降臨祭ハジマタ! \(^o^)/
724デフォルトの名無しさん:2006/11/28(火) 21:53:28
クラス名とファイル名(拡張子除く)が一致していて
クラス名が大文字のアルファベットで始まっていたら何でもよし
Test1に対して改造を行っているのならTest1aでもいいし、連番でTest2でもok
もちろんフォルダ分けるってのでもok
(あえてパッケージには触れない)
725デフォルトの名無しさん:2006/11/28(火) 21:58:11
変数の型で
int型は整数、String型は文字列、doubleは少数、charは文字などは
わかるんですが、その他の例えば、Calendar型、ArrayList型というのは
どういうことでしょう?
説明してくれる方よろしくお願いします。
726デフォルトの名無しさん:2006/11/28(火) 22:08:55
>>725
そのまま。ArrayList 型は ArrayList 型。
それから double = 少数って憶えないほうがいいよ。float も少数だから。
727デフォルトの名無しさん:2006/11/28(火) 22:09:36
>>725
逆に
> int型は整数、String型は文字列、doubleは少数、charは文字などはわかるんです
というのはどういうことでしょう?
もっと説明してください
728721:2006/11/28(火) 22:44:54
>>724
ありがとうございました。
729デフォルトの名無しさん:2006/11/29(水) 04:06:17
>>725
intとかdoubleとかcharはデータを格納するための最も基本的な型。
Calendarとかはオブジェクト。Stringも実はオブジェクト。

基本型もオブジェクトも
int myInt;
Calendar myCalendar;
みたいに基本型と同じように変数宣言できるけど、
そこに値を入れるために、オブジェクトは一手間いる。
基本型は12とか3.14とかそのまま表記できるけど、オブジェクトは無理っぽい。
それでnew Calendar(〜)でCalendar型における12とか3.14みたいなものを作る。
作ったのを変数に入れてやるから
myInt = 12
myCalendar = new Calendar();
みたいに代入するよね。

Stringは "こうやって文字列を作ることができるから" new String(〜)を必ずしも使わなくていいってだけ
730デフォルトの名無しさん:2006/11/29(水) 14:04:35
>>719
-128
731725:2006/11/29(水) 23:13:43
725です。
教えてくれた方ありがとうございます。
732721:2006/11/30(木) 08:09:23
以下のリストは日経ソフトウエアのはじめよう!Javaまるごと学習ブックの51ページ
に載っているもの(インデントは2ch用に全角・半角スペースを使用)ですが、これを実行すると
「私は38歳です。」だけ表示されず、引数のないコンストラクタPerson3()がageに20を代入して
「私は20歳です。」と表示するはずだと思うのですが、出てきません。

実行結果がどうなるか本に書いてないのですが、「私は38歳です。」だけでOKなのでしょうか?

よろしくお願いしますm(__)m


class Person3 {
 private int age;
 Person3() {
   this.age = 20;
 }
 Person3(int age) {
   this.age = age;
 }
 public int getAge() {
   return age;
 }
}
public class Test4 {
 public static void main (String[] args) {
   Person3 p1 = new Person3();
   System.out.println("私は" + p1.getAge() + "歳です。");
   Person3 p2 = new Person3(38);
    System.out.println("私は" + p2.getAge() + "歳です。");
 }
}
733721:2006/11/30(木) 08:12:43
訂正。

「私は38歳です。」だけ表示されず、



「私は38歳です。」だけ“しか”表示されず、

の誤りでした。申し訳ございません。
734デフォルトの名無しさん:2006/11/30(木) 08:32:13
違うクラスを実行してない?
もしくは、貼り付けたソースと実際に使用したソースが違うとか。
735721:2006/11/30(木) 08:36:56
ん〜。後半の「Test4」のクラス名はすでに他のJavaファイルで使用しているので、
そこはTestconstructor1という名前しているのですが・・・

実行は、
javac Testconstructor1.java(>>732の例では、Test4.java)でコンパイルしています。

「Person3」も他のjavaファイルで使ってるから改名したほうがいいんでしょうかね・・・。
736732:2006/11/30(木) 08:44:33
>>734
解決しました。ちゃんと「私は20歳です。」も出ました。

>違うクラスを実行してない?

たぶんこれだったと思います。Testconstructor1ではなく、javac Testconstructor(”1”がない!).java
でやってしまっていました。

ありがとうございました。
737デフォルトの名無しさん:2006/11/30(木) 17:01:28
eclipseでプロジェクトをコピーしてちょっといじった。
新しいソースが完成した!さあ実行ボタンをクリックだ!
なぜか変更前と同じ動作だ・・・・・なんでだ・・・・・・とバグを探して三千里。

という実体験を彷彿とさせます。
738デフォルトの名無しさん:2006/11/30(木) 21:34:42
EclipseでArraysから継承したクラス ArraysEXってのを作ろうとしたのですが、
「暗黙的スーパー・コンストラクター Arrays() は、デフォルト・コンストラクターについては不可視です。
明示的コンストラクターを定義する必要があります。」
と言うエラーが出て作成出来ません。
これはどういった意味なんでしょうか?
739デフォルトの名無しさん:2006/11/30(木) 21:53:03
暗黙的というのは自動で実装されるってこと
明示的というのは記述して実装するってこと
740デフォルトの名無しさん:2006/11/30(木) 22:05:38
Arraysにはコンストラクタが必要なんだね
741デフォルトの名無しさん:2006/11/30(木) 22:17:04
いまいち理解して無いけど、こんな感じにしたら「Arraysは不可視です。」と怒られた。
public class ArraysEx extends java.util.Arrays {
ArraysEx(){
super();
}
}
742デフォルトの名無しさん:2006/11/30(木) 22:19:34
何のために継承しているんだか
743デフォルトの名無しさん:2006/11/30(木) 22:22:33
俺初心者だがこれじゃダメ?
public class ArraysEx extends Arrays {
ArraysEx(){
super();
}
}
744デフォルトの名無しさん:2006/11/30(木) 22:24:13
…タブ押したら書き込まれた…なんでだ…
745デフォルトの名無しさん:2006/11/30(木) 22:32:01
java.util.Arrays は Toolkit クラスだよ。
コンストラクタが private になっているクラスからはインスタンスが作成できなくて、そういうクラスは結果的に継承もできない。

……けど、なんで Arrays は final になってないんだろう。
java.lang.Math は final なのに。
746デフォルトの名無しさん:2006/11/30(木) 22:47:21
Arraysにmaxやらsumやらが欲しくて継承して実装しようかなと思っていました。
とりあえずこんな感じでやってみます。ありがとうございました。
import java.util.*;
import java.lang.*;
public class IntArrays {
public static int max(int a[]) {
int max = 0;
for (int i = 0; i < a.length; ++ i) {
max = Math.max(a[i], max);
}
return max;
}
}
747デフォルトの名無しさん:2006/12/01(金) 00:18:43
>>746
そのコードはバグ持ちだよ。
aの要素が全て負の時に困ったことになる。
748746:2006/12/01(金) 00:30:19
ありがとう、確かにaを-MAXINTで初期化しなきゃおかしいね。
続けて質問なんだけどJavaにMAXINTやら定数ってあるの?
Math辺りをにあると思って探したんだけど見つからなかったから。
749デフォルトの名無しさん:2006/12/01(金) 00:38:35
>>748
intならInteger.MIN_VALUE
でも、int max = a[0];で初期化してもいいかも。
あと、a.lengthが1以上であることを確認した方がいいと思う。
IntArrays.max(new int[0])なんてやられた時用に。
750デフォルトの名無しさん:2006/12/01(金) 00:43:22
あ、いいのか。forのa.lengthで弾くね。
それならInteger.MAX_VALUEで初期化のほうがいいね。
751デフォルトの名無しさん:2006/12/01(金) 00:44:32
うお、さらに間違ったorz
>>750はInteger.MIN_VALUEね
752746:2006/12/01(金) 00:56:47
定数見つからなかったので別クラス作って定数まとめようかと思ってた。
とりあえずmaxはこんな感じになりました。
色々勉強になりました。ありがとうございます。
public static int max(int a[]) {
int max = Integer.MIN_VALUE;
for (int i = 0; i < a.length; ++ i) {
max = Math.max(a[i], max);
}
return max;
}
753デフォルトの名無しさん:2006/12/01(金) 14:35:20
凄く初歩なのですが…

String型の文字列にchar型の文字を足したいのですが、
どうすればよいですか?

String str = "ABC";
char chr = 'DEF';
str += chr;//←このような連結を試みています。
754753:2006/12/01(金) 14:36:39
間違えました、charは一文字でした。
'D'ということでお願いします。
755753:2006/12/01(金) 14:41:06
アレ?そのままできました…すみませんでした…。
756デフォルトの名無しさん:2006/12/01(金) 17:48:53
すいません初歩の質問なんですが
Sample.javaのコンパイルが出来ません、
javac Sample1.java
と入力すると
javacは内部コマンドまたは外部コマンド操作可能なプログラムまたは
バッチファイルとして認識されていませんとでるんですが
どうすればいいんでしょうか?
757デフォルトの名無しさん:2006/12/01(金) 18:04:58
>>756
javacにパスが通ってない
758デフォルトの名無しさん:2006/12/01(金) 18:05:34
759756:2006/12/01(金) 18:08:00
>>757
>>758
ありがとうございます。
760デフォルトの名無しさん:2006/12/01(金) 19:21:09
>>684
PHPのほうが多そうに見えるが。
仕事も案件も。
Javaよりやすっぽくてウェブデザイナが喜びそうな
仕事ばかりだが
761デフォルトの名無しさん:2006/12/01(金) 19:25:34
>>715
PHPIDEのことなのかPHPEclipseのことかのかTruStudio
のことなのかはっきりしないことにはなんともいえん
762デフォルトの名無しさん:2006/12/01(金) 19:42:10
>>761
詳しくないのだが、Eclipse+java並にできるやつがその中にあるの?
763デフォルトの名無しさん:2006/12/01(金) 19:55:13
PHPEclipseは使える。
TruStudioは開発が遅れているのか
商品版でないと使い物にならないのかイマイチ。

今ならPHP-IDEが台頭してきたのと
Eclipse標準のプロジェクトなので
PHPEclipseが要らなくなる可能性があるかも。
WebProg板ではPHPIDEがすでにPHPEclipseを
越えて使いやすいという意見も出ている。
764デフォルトの名無しさん:2006/12/01(金) 19:55:40
というか、すれ違い。

続きはこっちでやったほうがいいかもな。

【Java/Callisto/TeX/他】統合開発環境EclipseM21
http://pc8.2ch.net/test/read.cgi/tech/1153492728/
765732:2006/12/03(日) 09:17:25
また「日経ソフトウエアのはじめよう!Javaまるごと学習ブック」についての相談ですが、
配列を覚える章の以下の例(61ページ)を実行すると読み込めないエラーが出てきてしまいます。
Test1をいろいろなクラス名に変更しているのですが、同様のエラーが出ます。
タイプミスがないかと何度も見つめるのですが・・・

どなたかお願いしますm(__)m


public class Test1 {
public static void main(String[] args) {
int[] a;
a = new int[3];

a[0] = 10;
a[1] = 20;
a[2] = 30;

System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(a[2]);
}
}
766765:2006/12/03(日) 09:28:54
質問取り消します。

ひさしぶりにPC電源切ってWindows再起動したらデスクトップに沢山のJavaファイルが保存されていました。
いつの間に規定の保存場所がデスクトップになってたみたいorz

たぶん疲れている・・・
767デフォルトの名無しさん:2006/12/03(日) 12:12:29
最適化のやり方を詳しく教えてください。
ネットを探してみても英語とか携帯用とかで分かりませんでした
768デフォルトの名無しさん:2006/12/03(日) 13:22:42
>>767
Java特有という訳ではないが、プログラミングにおける最適化
ttp://www.mars.dti.ne.jp/~torao/program/general/optimize.html
769デフォルトの名無しさん:2006/12/04(月) 12:25:47
CODE COMPLETE の最適化の章を読んでみてはどうか。
結論は「最適化とか考える前に動く読みやすいコードを書け」になる。
770767:2006/12/04(月) 13:07:51
回答ありがとうございます。
大体理解できました。
771デフォルトの名無しさん:2006/12/04(月) 16:06:54
いつもお世話になっております。また日経ソフトウエアのJavaまるごと学習ブック(65
ページ)なんですが、コンパイル時にエラーになってしまいます。("class"または"interface"
がありません。import java.util.ArrayList;と表示されます)

原因が分かる方がいらっしゃったら助けていただけないでしょうか?m(__)m

public class Student {
   String name;
   String className;
   Student (String name, String className) {
   this.name = name;
   this.className = className;
   }
}

import java.util.ArrayList;
public class Test6 {
 public static void main (String[] args) {
    ArrayList<Student> school = new ArrayList<Student>();

    Student student = new Student("日経 太郎","A");
    school.add(student);
    student = new Student("日経 花子","B");
    school.add(student);

    for(int i = 0; i < school.size(); i++) {
    student = school.get(i);
    System.out.println("生徒の名前は" + student.name +
    ", 学級は" + student.className + "です");
    }
  }
}
772デフォルトの名無しさん:2006/12/04(月) 16:13:19
>>771
import はファイルの先頭に書け
773デフォルトの名無しさん:2006/12/04(月) 16:14:26
間違えた。package の直後に書け。package がないならファイルの先頭だ。
774デフォルトの名無しさん:2006/12/04(月) 16:19:53
>>773
ありがとうございます。やってみます(`・ω・´)。
775デフォルトの名無しさん:2006/12/05(火) 03:14:24
すみません質問です。
ArrayListやVectorやHashMap、HashListなどの違いが余りわかりません。
使い分けとしてはどのような場合に使えばよろしいでしょうか?
776771:2006/12/05(火) 06:18:11
やっぱり駄目です。>>771が動かない原因を教えていただけないでしょうか・・・
777デフォルトの名無しさん:2006/12/05(火) 06:46:54
>>775
ArrayListとVectorは要素数を動的に変えることのできる配列として使う。
両者の違いは、複数のスレッドから同時アクセスされる場合、
変更が加えられるような操作に対して最初から安全になるように作られているのがVector。
つまりそのようなことを気にしなくていい場合でもちょっと余計な機構が入っていることになる。
ArrayListは逆にそのような場合には安全になるようにプログラマ側でちょっとしたことを
してやらないといけない。大した手間ではないが。

HashMapはキーとそれに対応した値というペアを複数格納するためにある。
例えば、社員番号をキーとして、それに対応した社員の名前を値として、
これを複数格納して社員名簿を作るというときにHashMapが役に立つ。

HashListというのは思い違いでなければ標準的なAPIでは聞いたことがない……
778デフォルトの名無しさん:2006/12/05(火) 06:59:15
>>776
動かないとしか言えないようではエスパーでなければたぶん指摘するのは無理だ
Student.javaとTest6.javaの二つのファイルに分けてないとか
Test6.javaの方にあったimport文をTest6.javaの方に移しちゃったとか
そういうのでないのなら
でもそんなことならコンパイルエラーで指摘されているだろうし
「動かない」ということはコンパイルは通っているということか
779778:2006/12/05(火) 07:49:41
> Test6.javaの方にあったimport文をTest6.javaの方に移しちゃったとか
Test6.javaの方にあったimport文をStudent.javaの方に移しちゃったとか
780デフォルトの名無しさん:2006/12/05(火) 08:13:53
java.util.Random();のnextIntを利用する場合に使うseedとは何を入れてもいいのですか?
seedにこう入れたらこう出るとかそういう意味ではなくてその数字によってランダムに生成されるんですか?
初期値ではシステム時刻を利用しているようなのでRandomとは言うものの凄く巨大な配列と考えてもよろしいのでしょうか?

それともseedに入れる値により発生する乱数の範囲が決定しているとかフォーマットの様なものがあるのですか?
781デフォルトの名無しさん:2006/12/05(火) 08:26:37
>>775
ArrayListはリスト構造でVectorは内部に配列を持つ。
内部の構造も全く別物ですよっと

プロジェクト内の開発規約でVector禁止とかたまに見るが理由が分からん
782デフォルトの名無しさん:2006/12/05(火) 08:35:06
>>780
nextIntが返す乱数は擬似乱数といって非常に長周期の数列が実態。
だから一周期回れば同じ数値が繰り返される。
普通使われている実装ではかなり長い周期になっているはず。
nextIntはこの数列を切り出して返している。
seedはこの数列のどこから切り出し始めるかを指定するもの。
783771:2006/12/05(火) 10:13:04
>>778
二つのjavaファイルに分けて保存するんですか・・・。
784デフォルトの名無しさん:2006/12/05(火) 10:23:13
>>783
「動かない」ってのはどういう事だ?
コンピュータの電源が入ってないのか?
コンパイルしたらエラーが出るのか?
実行したらフリーズするのか?
エラーが出るならメッセージを省略せずに全部書け。おかしなメッセージが出るようならそれも全部書け。状況を詳しく書け。
785771:2006/12/05(火) 10:52:18
>>784
コンパイル時のエラーです。>>786のリストをメモ帳で作り、Test9.javaとして
MyJavaフォルダへ保存、コンパイルしようとすると、

C:\MyJava>javac Test9.java
Test9.java:10:'class'または'interface'がありません。
import java.util.ArrayList;
^
エラー1個

と出ます。
786771:2006/12/05(火) 10:54:53
public class Student {
String name;
String className;
Student(String name, String className) {
this.name = name;
this.className = className;
}
}

import java.util.ArrayList;
public class Test9 {
public static void main (String[] args) {
ArrayList<Student> school = new ArrayList<Student>();

Student student = new Student("日経 太郎", "A");
school.add(student);
student = new Student("日経 花子","B");
school.add(student);

for(int i = 0; i < school.size(); i++) {
student = school.get(i);
System.out.println("生徒の名前は" + student.name +
", 学級は" + student.className + "です");
}
}
}
787デフォルトの名無しさん:2006/12/05(火) 11:17:47
OK、エラー再現
原因
・public をつけたクラスは1つのjavaファイルに1つしか書けないので
 Student.java と Test9.java の2つのファイルに分ける
・import文はファイルの先頭に書く(package文があるときはその直後)
って今までに答え出てるじゃん
788771:2006/12/05(火) 11:20:15
>>787
ごめんなさい・・・。もう1度やってみます。
789771:2006/12/05(火) 11:27:04
>>787
2つに分けてそれぞれjavaファイルで保存したらできました。ありがとうございましたm(__)m
790デフォルトの名無しさん:2006/12/05(火) 11:46:00
>>781
有名どころの SDK で ArrayList の実装が
配列になってないやつを教えてください。
791デフォルトの名無しさん:2006/12/05(火) 12:44:58
>>790 の言ってるjava.util.ArrayListがあるのなら俺も見てみたいぜw
・・・自分で実装しろよ(ボソ
792デフォルトの名無しさん:2006/12/05(火) 12:52:41
配列じゃないとArrayListにならない予感
793デフォルトの名無しさん:2006/12/05(火) 13:02:40
>>792
Arrayだしな・・・
794デフォルトの名無しさん:2006/12/05(火) 13:16:38
>Vector禁止とかたまに見るが理由が分からん
ArrayList との違いを説明できないか、
理解してもらうように説明するのが大変かのいずれか。
たまーに「Vectorなんて遅くてダメ。ArrayList速!」な理由で
そういう規約を作ったりすることもあるらしい。
JDK1.2のころのパフォーマンス本に
「同期がないから速いです。」の「速いです」しか読んでない奴とかが
技術リーダーになったかわいそうなプロジェクトとかな。

Vector と ArrayList の違いは(実装はともかく仕様として)
同期化されるかされないかくらい。
でも、現実問題Vector使っとけばスレッドセーフでウハウハ、
なんてことはなく、他の要素もきちんと考えなきゃならん。
(運が良ければバグの検出に多少役に立つ程度。)
にも関わらずVector使うと言うのなら、
なんでそんなにもVectorじゃないとダメなのか説明させる。
そのレベルでの「Vector禁止」なんて結構あると思うけどな。

ライブラリ(SwingとかSwingとか、あるいはSwingもかな)の仕様で
どーーーーーしても使わなければならない場合を除いて
Vector使うことなんて無いだろう、普通。
795デフォルトの名無しさん:2006/12/05(火) 21:30:06
そうか、Swingを禁止すればいいんだ!
796デフォルトの名無しさん:2006/12/06(水) 15:20:50
>795
全部サーブレットにする気か?w
797デフォルトの名無しさん:2006/12/06(水) 15:35:32
>793
でも List なんだぜ?
あたかもArrayの様に扱えるListなんじゃ?
798デフォルトの名無しさん:2006/12/06(水) 16:27:40
toArray が配列返しさえすれば、内部の実装はなんでもいいんじゃね?
799デフォルトの名無しさん:2006/12/06(水) 16:49:50
まじれすきんしです
800デフォルトの名無しさん:2006/12/06(水) 17:45:05
すでしんきすれじま
801デフォルトの名無しさん:2006/12/06(水) 22:23:58
ArrayList implements RandomAccess だから
インデックスアクセスが速くないとおじさん許さないよ
802デフォルトの名無しさん:2006/12/07(木) 00:30:50
>>719みたいなサンプルをみたことがあるのですが、これは間違いですか?
803デフォルトの名無しさん:2006/12/07(木) 00:34:17
一つのクラスからできたソースって
ファイル分割できますか?
804デフォルトの名無しさん:2006/12/07(木) 00:56:00
>>802
a に +255 を入れようと思ったのなら間違い。
a に 0xff 相当のビット列を入れようと思ったなら間違っていない。

>>803
出来ない。
805デフォルトの名無しさん:2006/12/07(木) 01:12:10
255を入れたら0xffになるんですか?
0を入れたら0x00になりますか?
806デフォルトの名無しさん:2006/12/07(木) 03:18:14
>>805
255は入れられない
byteの範囲は-128〜127だ
807デフォルトの名無しさん:2006/12/08(金) 01:36:50
描画は、paintメソッド内でしか実行できないのでしょうか?

例えば
・初期設定で「背景を描く」
・もしボタンが押されたら「キャラクターの位置を変更する」

としたい場合は、どう記述すればよいですか?
808デフォルトの名無しさん:2006/12/08(金) 01:43:13
そういえばそんなことやったこともないな
809デフォルトの名無しさん:2006/12/08(金) 02:05:12
>>807
getGraphics等のグラフィックスコンテクストを得るメソッドで取ってきて、
それを使って描画して最後にdisposeで破棄する。
でも再描画のタイミングをとったりとかは自分の責任でやらなければならない。
810デフォルトの名無しさん:2006/12/09(土) 04:38:04
Javaアプレットやりたいんですけど、Javaアプリケーションからやらないと解らないですか?
811デフォルトの名無しさん:2006/12/09(土) 05:11:46
>>810
そんなことはない。
アプレットからJavaプログラミングに入る道もある。
アプリケーションから入るにしろアプレットから入るにしろ、
良い先生と良いドキュメントに出会うことを祈る。
812デフォルトの名無しさん:2006/12/09(土) 12:14:55
二次元配列のそれぞれの要素の長さってどうやって取れますか?
813デフォルトの名無しさん:2006/12/09(土) 13:35:16
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0 ; i < array.length; i++) {
list.add(array[i].length);
}
System.out.println(list);
814デフォルトの名無しさん:2006/12/09(土) 13:36:11
int[][] array = {{1, 2}, {201, 202, 203, 204, 205}, {}};
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0 ; i < array.length; i++) {
list.add(array[i].length);
}
System.out.println(list);
815デフォルトの名無しさん:2006/12/09(土) 15:38:24
int[][] array = {{1, 2}, {201, 202, 203, 204, 205}, {}};
int[] list = new int[array.length];
for (int i = 0 ; i < array.length; i++) {
list[i] = array[i].length;
}
for (int l : list) System.out.println(l);
816デフォルトの名無しさん:2006/12/09(土) 17:19:43
int[][] array = {{1, 2}, {201, 202, 203, 204, 205}, {}};
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0 ; i < array.length; i++) {
    if (array[i] != null)
        list.add(array[i].length);
    else
        list.add(-1);
}
System.out.println(list);
817デフォルトの名無しさん:2006/12/09(土) 17:50:30
そういえばintでも二次元配列だから当然nullがありうるのか
int[][] array = {{1, 2}, {201, 202, 203, 204, 205}, null, {}};
int[] list = new int[array.length];
for (int i = 0 ; i < array.length; i++) {
if (array[i] == null)
list[i] = -1;
else
list[i] = array[i].length;
}
for (int l : list) System.out.println(l);
818デフォルトの名無しさん:2006/12/10(日) 05:24:28
ttp://www.swetake.com/qr/java/qr_java.html

ここにあるライブラリでQRコードを生成しようと試みたのですが、
サンプルアプレットで生成される2次元バーコードと自作プログラムで生成したgif形式の2次元バーコードの絵がだいぶ異なります。
そして、自作プログラムで生成した2次元バーコードは携帯で読み込むことができません。。。

どなたか上手くファイルに出力できている方はいらっしゃらないでしょうか。
819デフォルトの名無しさん:2006/12/12(火) 19:29:07
swingを勉強しはじめた初心者です。
jList1_valueChanged(ListSelectionEvent e) {
String s = (String)jList1.getSelectionValue();
jTextField1.setText(s);
}
というメソッドでコンパイルは通るのですが、実行すると
java.lang.Class.CastExceptionというエラーメッセージが出てしまいます。
違うクラスを作って、この部分だけを作るとエラーメッセージは
出ないのですが、どうしても上記のメソッドのあるクラスはエラーが
出てしまいます。
なにか考えられる原因はありますか?
説明してくれる方おねがいします。
820デフォルトの名無しさん:2006/12/12(火) 20:07:32
821デフォルトの名無しさん:2006/12/12(火) 22:59:19
>>819
getSelectionValue と言うメソッドはないから 820 氏の推測通りだとして

Object o = jList1.getSelectedValue();
if(o == null){
 jTextField1.setText("null");
} else if(o instanceof String){
 jTextField1.setText(s);
} else {
 jTextField1.setText(o.toString());
}

とでも書き換えて動きをみる。
JList の中身は文字列以外にもあらゆるオブジェクトを入れられるので
必ずしも String にキャスト出来るとは限らない。
822819:2006/12/13(水) 20:02:24
>> 820 821さん
実行できました!
ありがとうございました。
823デフォルトの名無しさん:2006/12/13(水) 20:29:08
MIDP2.0+CLDC1.1で無限小数や好きな桁で丸めたい場合どうすればいいのでしょうか?
824デフォルトの名無しさん:2006/12/14(木) 03:31:59
C⇒javaな感じで勉強中なのですが、長さが不明な文字列を宣言するとき、
文字列の長さでエラーチェックとかかけなくてよいものなんですか?
825kioo:2006/12/14(木) 09:12:39
824
JavaのString使うなら問題ないかと。少なくとも俺は気にしてない。
JavaのStringの使いやすさにほれるとCのchar配列使うのに苦戦するぞ
826デフォルトの名無しさん:2006/12/14(木) 15:33:20
テキストファイルに、例えば
125.12324
5468.546
456814.557
と言う風にかかれた不動小数点数値を
double型の変数に読み取るにはどうしたらいいですか?
827デフォルトの名無しさん:2006/12/14(木) 15:40:27
ファイル読み込みはググれ。 いっぱいサンプルあるから。
文字列からdoubleに変換は Double.valueOf(文字列) でOK。
ヘンな文字列を渡すと例外出すから、一応キャッチしとけ。
828デフォルトの名無しさん:2006/12/14(木) 15:40:54
Double.parseDouble(String s)
829デフォルトの名無しさん:2006/12/14(木) 15:48:46
Double.valueOf(文字列)はdoubleじゃなくてDoubleが返るね。
まぁdoubleValue()使えばいいんだけど。
Double.parseDouble(String s)なら直接doubleが返る。
830デフォルトの名無しさん :2006/12/14(木) 16:52:36
あの、このサイトをローカルで保存して回線つなげてない状態で
このサイトのJavaを起動してもエラーがなるんですが。。。。
なので、このJavaをローカルで保存して回線つなげなくても
使えるようにする方法を教えてください・・・・・
ttp://pedantic.jp/pangya/?siid=simulation_tomahawk
831827.jpn.ch ◆tTBC.7oEaQ :2006/12/14(木) 21:43:36 BE:379959146-2BP(1)
アプレット内で、クリックすると指定したURLに飛ぶリンクっぽい物をつけたいと思っているのですが、指定したURLに移動させる為にはどのようにすれば良いのでしょうか。
832デフォルトの名無しさん:2006/12/15(金) 00:26:41
age
833デフォルトの名無しさん:2006/12/15(金) 02:23:07
>>825
どもありがとです。
どっちかっつーとchar配列の方がとっつきやすいです。。
今困っているのは、構造体をクラスで表現したとして、その1要素に
文字列があったとして、
そのクラスを配列にした時に、クラス2にクラス3を代入しようとした時に
文字列はちゃんと置き換わるのかといった疑問を抱えています。

文字列の長さがクラス間で全然変わってくることも想定されるのですが、
Javaではメモリを贅沢に確保してるからへっちゃらってことでよいのでしょうか?
834デフォルトの名無しさん:2006/12/15(金) 02:47:16
>>833
java のオブジェクトは参照型。
C で言えば構造体のポインタを扱っている形になる。代入時に値が変化することは無い。

それから、java はそういうややこしいことは全部クラスにまとめて外に漏れないようになっている。
C から入ると、みんなメモリ管理かオブジェクト指向に躓くんだよな……。
C とは全く異なる言語だと認識した上で、これ以降勉強していくことを薦めるよ。
835デフォルトの名無しさん:2006/12/15(金) 03:20:30
GUIのChoiceの貼り付け位置を指定したいのですが、うまくいきません。

(例)
 Choice c1 = new Choice();
 c1.setBounds(10,110,150,230 );//このように指定しても無反応です
 this.add(c1);//BorderLayoutは機能しています

「Choiceをフレームの座標x,yに貼り付ける」にはどうすればよいですか?
836デフォルトの名無しさん:2006/12/15(金) 04:26:46
>>835
指定した位置にセットできないのはBorderLayoutがちゃんと機能している証拠。
自分がレイアウトマネージャの真似事を苦労してしたいのならsetLayout(null)にすると道が開ける。
837デフォルトの名無しさん:2006/12/15(金) 04:42:00
>>831
アプレット内だから、
移動というのがアプレットを起動しているブラウザでそのURLを表示することとして、
AppletContext#showDocument(url)で現在のページが指定したurlに変わる。
targetを指定したければshowDocument(url,target)で。
AppletContextはApplet#getAppletContext()で取得できる。
838827.jpn.ch ◆tTBC.7oEaQ :2006/12/15(金) 05:25:01 BE:189980126-2BP(1)
>>837
ありがとうございますm(_ _)m
839デフォルトの名無しさん:2006/12/15(金) 14:39:42
画像を読み込んで2値化したいのですが、うまくいきません・・。
コメントアウトした部分に問題があると思うんですがどうしたらよいのでしょうか?

//画像を2値にしたい   入力画像biInから、biOutに変換する  
//引数は入力画像のBufferedImage  戻り値は変換後の画像のBufferedImage
public BufferedImage change(BufferedImage biIn){
int width = biIn.getWidth(), height=biIn.getHeight();//入力画像の横幅、縦幅
int rgbIn[] = biIn.getRGB(0, 0, width, height, null, 0, width); //入力画像のRGB値を配列に取得
int rgbOut[] = new int[width*height];  //変換後の画像のRGB値を入れるための配列

//変換後の画像データを入れるためのBufferedImageを生成 BufferedImageの横幅、縦幅、タイプを引数で指定
BufferedImage biOut = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

Color color;
int r,g,b;
int r2,g2,b2;
for(int i=0; i<rgbIn.length; i++){
color = new Color(rgbIn[i]);
r = color.getRed();//入力画像のピクセルのR
g = color.getGreen();//入力画像のピクセルのG
b = color.getBlue();//入力画像のピクセルのB
/*#########################
if(r >= 128){r2 = 255;}else{r2 = 0;}
if(g >= 128){g2 = 255;}else{g2 = 0;}
if(b >= 128){b2 = 255;}else{b2 = 0;}
#########################*/
color = new Color(r, g, b, 0xFF);
rgbOut[i] = color.getRGB();//出力画像のピクセルのRGBを配列に設定
}
biOut.setRGB(0, 0, width, height, rgbOut, 0, width); //RGB値の入った配列からBufferedImage biOutに設定
return biOut;
}
840デフォルトの名無しさん:2006/12/15(金) 15:05:44
>if(r >= 128){r2 = 255;}else{r2 = 0;}
ここで入れたr2はどこで使われるの?
841sage:2006/12/15(金) 15:16:49
color = new Color(r, g, b, 0xFF);
の代わりにnew Color(r2,g2,b2, 0XFF);
としてすれば、128以上は255 それ以外は0になってくれると思ったのですが。
842デフォルトの名無しさん:2006/12/15(金) 16:05:05
こんなんでいいんでない?

b = color.getBlue();//入力画像のピクセルのB
int y=(int)(0.299*r+0.587*g+0.114*b);
if(y >= 128){y = 255;}else{y = 0;}
color = new Color(y, y, y, 0xFF);
rgbOut[i] = color.getRGB();//出力画像のピクセルのRGBを配列に設定
843デフォルトの名無しさん:2006/12/15(金) 21:36:08
>>842 返信遅くてごめんなさい。学校で作ったのを家で開いたら誤動作してたので直してました。
おおおおおおおおおおおおお。
2値画像になった!!ありがとうございます。

しかしここで解らない事が出来てしまいました。
int y=(int)(0.299*r+0.587*g+0.114*b);
ここのintでyを新しく作ったのはわかるのですが、0.299や0.587の数字はどこから来たのでしょうか?
RGBの16進数表記とはまた違うように思えるのです・・。
844デフォルトの名無しさん:2006/12/15(金) 21:42:43
YUVとかモノクロ変換とかでググると出てくると思う。
845デフォルトの名無しさん:2006/12/15(金) 21:45:44
俺は >>843 じゃないから予想にすぎないけど、それはグレー化のための各色の重み。
だから、一応

int y=(int)(0.333*r + 0.333*g + 0.333*b);

でも2値になる。ただ、何で >>842 の値になっているかは知らんス(´・ω・`)
846デフォルトの名無しさん:2006/12/15(金) 22:00:27
>>844
ググればすぐに出てきました!!
RGBとYCrCbの対応だったのですね・・。RGBを一度『明度』におきかえてからifで判断する。
CMYKとRGB以外にもあるのは初耳でした。勉強になります。ありがとうございます。
参考にしたHP:ttp://www.sm.rim.or.jp/~shishido/yuv.html 『RGBとYCrCbの変換』

>>845
0.333でも2値化できました!
確かにできたけど、さっきのYCrCbを考えると厳密な意味で2値化じゃないのかも?
覚えておきます!ありがとうございます。
847:2006/12/15(金) 22:50:04
ループを使用して
0
2
4
5
8
10

と表示してください。
10より大きくなった場合breakを利用しループを抜けること。
4から5を表示するという部分が特に難しく感じます。

これの回答もしくはヒント分かる方いないでしょうか?
848デフォルトの名無しさん:2006/12/15(金) 23:02:54
俺分かるよ。
849デフォルトの名無しさん:2006/12/15(金) 23:54:56
>>847
public class ge{
public static void main(String[] args){
for(byte ge:new byte[]{0,2,4,5,8,10,12,15}){
if(ge>10)break;
System.out.println(ge);
}
}
}
850デフォルトの名無しさん:2006/12/16(土) 00:02:23
それ出題者の意図するところ無視してねーか?w
851デフォルトの名無しさん:2006/12/16(土) 00:23:55
じゃあ
public class he{
public static void main(String[]args){
byte he=0;
do{
if(he>10)break;
System.out.println(he==6?5:he);
he+=2;
}while(true);
}
}
852デフォルトの名無しさん:2006/12/16(土) 02:19:23
>0
>2
>4
>5
>8
>10
これって
0
2
4
6
8
10
の打ち間違いじゃねーの?
853デフォルトの名無しさん:2006/12/16(土) 11:12:27
お前あたまいいな
854852:2006/12/16(土) 15:08:09
>>853
よく言われる。
855デフォルトの名無しさん:2006/12/16(土) 15:16:40
>>852
6のとき5を出力するようばいいわけかw
856デフォルトの名無しさん:2006/12/16(土) 21:17:55
三角関数使ってintでキャストすれば一つの式でいけそうだな。
857デフォルトの名無しさん:2006/12/17(日) 04:40:38
久しぶりにダウンロードするものですが、

最新のSDKのダウンロードファイル名は何ですか。
バージョンは何ですか。
よろしく。
858デフォルトの名無しさん:2006/12/17(日) 07:00:24
setup.exe
version 2.0
859857:2006/12/17(日) 07:35:34
>>858
笑い
860721:2006/12/17(日) 23:04:52
雑誌付録のJavaまるごと学習ブックでののらりくらりとした学習がようやく
終わりました。インスタンスだとか、void、staticなども理解できていませんが、
『創るJava』を購入してしまいました。入門書スレを読む限り、なんかネタっぽく紹介
されていて不安でしたが、「やさしいJava」だとこれまでと同じ手打ちになるので、こちらに
しました。

以下の2点について、ご意見をいただけないでしょうか?

●NetBeansのような開発ツールを15型のディスプレイ(1024×768)を持つA4ノート
 にインストールして長期間学習するのは自殺行為?

●NetBeansの本サイトを見たら、どうやら日本語版はそこからダウンロードできない
 みたいなので、リンクを辿ったら以下のサイトにあたりました。

http://ja.netbeans.org/index.html

 日本語版のダウンロードはこちらからで間違いないでしょうか。
861デフォルトの名無しさん:2006/12/17(日) 23:29:13
>>860
>開発ツールを15型のディスプレイ(1024×768)を持つA4ノート

800*600のB5ノートでEclipse普通に使ってるよ。
いろいろと工夫しないと使いづらいけど。
1024*768は十分ではないけど、問題無いレベルかと。
862860:2006/12/17(日) 23:34:52
>>861
レスありがとうございます。安心してA4ノートにぶち込めます。
863デフォルトの名無しさん:2006/12/18(月) 18:49:56
java初心者です。
GUIを始めたんですが、課題で
現在時刻を表示する時計を作ることになりました。
JFrameにjLabelを2つ作り、1つに時、1つに分を表示する
時計で、起動中は普通に時計として機能するものです。
jLabelの数は別に決まってないので、もし、この他に作り方など
ありましたら教えてください。
よろしくお願いします。
864デフォルトの名無しさん:2006/12/18(月) 18:58:05
>>860
前はNetBeans使ってたけど今はEclipse使ってる。
自分はEclipseがお勧め。
865デフォルトの名無しさん:2006/12/19(火) 20:08:03
>>863
現在時刻をどう取得して、どうStringにしているかにもよるが、
JLabelを1個にして時分を一緒に表示してもいいんじゃないかい?
866デフォルトの名無しさん:2006/12/20(水) 00:22:05
最新の日本語「JDK ドキュメント」はバージョンいくつでしょうか?

どこからおとすのでしょうか?

(^<^)
867デフォルトの名無しさん:2006/12/20(水) 00:28:06
ttp://www.google.com/search?q=JDK+%83h%83L%83%85%83%81%83%93%83g
Mustang用はまだない
そしてこれからもJavaと関わるのならSunのJavaサイトの歩き方は覚えた方がいい
868866:2006/12/20(水) 01:29:35
くぐればよいのですね。
ありがとうございます。(^_^)v
869デフォルトの名無しさん:2006/12/20(水) 10:10:38
くぐる?
870デフォルトの名無しさん:2006/12/20(水) 22:38:51
プログラマへの門を一つくぐったんだろう、きっと
871デフォルトの名無しさん:2006/12/20(水) 22:58:30
誰がうまい事を(ry
872860:2006/12/21(木) 23:31:48
 入門書『創るJava』で、繰り返し(for構文)まで学習が進みましたが、インクリメント演算子(++)の
説明が理解できないので、教えていただけると大変助かります。

103ページに
> インクリメント・デクリメント演算子は、変数の前につけて++iのようにしても、あとにつけてi++のようにして
>もかまいません。
> 変数の前につけた場合は、まず加算・減算が行われてから、その結果が式の値として使われます。
(以下略)

とありますが、この説明だと、まず足し算をし、それからコードブロック内での処理が行われることになりますよね?
 本のサンプルプログラムでは、ウィンドウに「なにがなんでも5回繰り返す」と表示するappendメソッドに続いて
以下のfor構文が続きます。

for(int i = 0; i < 5; ++i) {
  taOutput.append(i + "回目\n");
}

 ファイルを実行すると「なにがなんでも5回繰り返す」に続いて、0回目、1回目、2回目、3回目、4回目
と表示されますが、処理の前に加算が行われるのなら「0回目」で始まらないのでは?と思ったのです。

ひょっとして1回目の処理は++iでもi++でも初期値で行われるのでしょうかね。
873デフォルトの名無しさん:2006/12/22(金) 00:01:18
その例では、どちらでも一緒
インクリメントの前置後置が関係してくるのは、こうゆう場合よ

int a = 0;
int b = ++a;
int c = a++;

さあ、各変数の値は?
874デフォルトの名無しさん:2006/12/22(金) 00:13:46
for(int i=0; i<5; taOutput.append(i++ + "回目\n");
for(int i=0; i<5; taOutput.append(++i + "回目\n");
875デフォルトの名無しさん:2006/12/22(金) 00:38:30
>>872
for 文は
 1:初期化式
 2:条件式
 3:コードブロック
 4:更新式
 5:2にもどる
の順で実行される。
だから、更新式で i++ をやろうが ++i をやろうが、結局更新式自体の順番は変わらない。
876872:2006/12/22(金) 01:18:39
>>873
> int a = 0;
> int b = ++a;
> int c = a++;
>
> さあ、各変数の値は?

それぞれ
0
1
0
でしょうか。

>>873さん、>>874さん、>>875さん、ありがとうございました。>>874の書き方も興味があるので
やってみます。
877デフォルトの名無しさん:2006/12/22(金) 01:41:08
>>876
ちがう。それぞれ 0 1 1 だ。
878872:2006/12/22(金) 01:52:13
>>877
あ、この三行を一つながりで考えないとダメですね・・・

int a = 0;
(aが0になった。)

int b =++a;
(aをbに入れたいのだが、その前にaを1にして、b=1)

int c = a++;
(cにaを入れるときは何も足さなくていいけど、aが1になっていることを忘れず、c=1)

もしint dにaを代入するとしたら、aは↑で2になっていますよね。
879デフォルトの名無しさん:2006/12/22(金) 03:15:48
>>878
正解
3行目を実行完了した時点でa=2,b=1,c=1 となってる

if文については他の人の説明の通り
880デフォルトの名無しさん:2006/12/22(金) 08:46:50
int i = 0;
while (i < 5) {
taOutput.append(i + "回目\n");
++i;
}
と同じ意味です
881デフォルトの名無しさん:2006/12/22(金) 09:39:17
これは良いパズル・・・和んだ。
882デフォルトの名無しさん:2006/12/22(金) 20:11:12
"-123.5d"のような文字列を
Double.parseDoubleで例外を使わずに
double値であるか判別する方法は、無いでしょうか?

883デフォルトの名無しさん:2006/12/22(金) 20:22:13
正規表現はどうだろう
[+ー]{0,1}\d+\.\d+[Dd]
とか?
詳しくないので訂正よろ
884デフォルトの名無しさん:2006/12/22(金) 22:24:40
>883

ありがとうございます。
正規表現は、思いつきませんでした。

でも、parseDoubleで例外を使った場合と同じ結果は、得ることは、できなさそうです

発端は、単純に例外をはくのが気持ち悪かっただけなので
parseDoubleを使った方が、いいですかね。
boolean Double.isDouble(String)みたいなのが、あればいいのに・・・。
885デフォルトの名無しさん:2006/12/23(土) 00:10:50
boolean isDouble(String str) {
  try {
    Double.parseDouble(str);
    return true;
  } catch (NumberFormatException e) {
    return false;
  }
}

えー。
886デフォルトの名無しさん:2006/12/23(土) 00:16:38
>885

いえ、その実装で例外使うのが、ちょっと嫌だったので
何か他にやり方がないかと質問したわけでして。
887デフォルトの名無しさん:2006/12/23(土) 00:49:59
スレッドについて質問です
画像を使ったアニメーションの処理をしたいのですが
3つの画像を別々に管理しなければなりません。
またそれらの画像は動きっぱなしになっています。
この場合3つのスレッドを同時に動かすということでいいのでしょうか?
また画像をつかったアニメーションを行う場合ダブルバッファリングって必須ですか?
888デフォルトの名無しさん:2006/12/23(土) 01:13:19
>>887
・スレッドで個別に同時に動かしても良いけど、そうしないことを薦める
・ダブルバッファリングは必須ではない。ダブルバッファリングがないほうがパフォーマンス的に有利な場合もある。

アニメーション作るのなら、スレッドを1つだけ作って
『全部の画像を動かす』 『全部の画像を描画する』 を繰り返し行ったほうがいいと思うよ。
そんなに大量にスレッド作るもんじゃないし。
889デフォルトの名無しさん:2006/12/23(土) 04:16:39
>>888
つまり画像を画像を動かすのと描画するのをまとめたスレッドを1つ作って
メインの内部処理と平行して動かしたほうがいい
ということでOKでしょうか?
890デフォルトの名無しさん:2006/12/23(土) 18:33:49
>>812
a[1].length
891デフォルトの名無しさん:2006/12/25(月) 20:43:35
iアプリの描画に関してなのですが、ここでもいいですか?

メインとなるCanvasクラスの行数がやたらと多くなってしまったので、
新たに別のクラスを作り、そこに描画処理の中の一部を移したいと思っています。
(例えば「背景画像の描画」のみを別クラスにする)
しかし、どう記述すればよいのか分かりません。

・背景描画クラスはextends Canvasとし、メインと同じ様にGraphicsやpaintメソッドを記述
・メインのCanvasクラスで、背景描画クラスのインスタンスを生成
としたのですが、画面には反映されませんでした。(メインの方は反映されています)

こうした場合、どのようにすればよいでしょうか…?
892デフォルトの名無しさん:2006/12/25(月) 21:47:08
メインのCanvasクラスのGraphics gを渡してやる
893デフォルトの名無しさん:2006/12/26(火) 03:06:38
commonnsとかその他ライブラリを使用しないでXML-RPCを使うことは、難しいでしょうか?

社内の規定でライブラリを追加するときは、申請が必要で、
共通チームのテストを経なければ使えないので、何とか標準ライブラリだけで実現したいのですが、
やはり難しいでしょうか?
894デフォルトの名無しさん:2006/12/28(木) 22:50:50
インポートしたものとして、
class botan {
public static void main(String args[]) {
JFrame frame = new JFrame("電卓");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container AA = frame.getContentPane();
GridLayout g1 = new GridLayout(4,1);
AA.setLayout(g1);
    AA.add(new JButton("7"));
    AA.add(new JButton("8"));
AA.add(new JButton("9"));
AA.add(new JButton("+"));
frame.pack();
frame.setVisible(true);
}
}
ない頭使ってこんなソースを書きボタンを作りました。
でも、ボタンそれぞれに処理を割り当てる方法がわかりません。
JButton aa = new JButton("1")
のようにボタンを書き直せばいけそうな気はしますが、上のソースのまま割り当てる方法があれば教えてもらえませんか。
よろしくお願いします。


895デフォルトの名無しさん:2006/12/28(木) 23:20:40
> ボタンそれぞれに処理を割り当てる
kwsk
896デフォルトの名無しさん:2006/12/28(木) 23:49:25
質問です。
listを使えば
(char* A)
one→two→three→…

のような可変長配列を実装できる事は分かったのですが、
可変長構造体配列?のような物はlistで実装できないのでしょうか?

(例
(char* A, int B)
(one,3)→(two,4)→(three,5)→…

こんな感じに。
897894:2006/12/29(金) 00:11:29
AA.add(new JButton("7"));
AA.add(new JButton("8"));
AA.add(new JButton("9"));
AA.add(new JButton("+"));

で定義したボタンに7を押したら7を表示し、8だったら8を表示するようなプログラムです。
898894:2006/12/29(金) 00:18:45
すんません、自分で書いたソースの意味がワカリマセンでしたが解決しましたorz
無視してください
899デフォルトの名無しさん:2006/12/29(金) 00:23:04
>>896
あきらかにJavaじゃないだろ・・・。

listってC++ののstd::listのこと?だったら構造体作るか、std:pair使って
std::list<std::pair<char*,int>>するかじゃね?

C++長くやってないから微妙だけど。
900897:2006/12/29(金) 00:48:36
やっぱわかりませんでしたOtL
JButton aa = new JButton("1") ;
のように定義した場合aaがこのJButton("1")の入れ物になると思うのですが

GridLayout g1 = new GridLayout(2,2);
    AA.setLayout(g1);
    AA.add(new JButton("7"));
    AA.add(new JButton("8"));
AA.add(new JButton("9"));
AA.add(new JButton("+"));
の場合
JButtonの入れ物は何になるのでしょうか。
それとも、まだ存在していないから自分で定義する必要があるのでしょうか。

わかりずらい文章ですみませんOrz



901デフォルトの名無しさん:2006/12/29(金) 00:57:43
>>900
JButton aa = new JButton("1") ; 
JButton bb = aa;
aa = null;
// さて、この位置では bb には何が入っているでしょうか


ぶっちゃけ、入れ物と考えるべきでは無いんだな。
902デフォルトの名無しさん:2006/12/29(金) 04:50:58
Javaには、クラスインスタンス内の状態(値)が
変更されないことを保証する機能はないのでしょうか?

C++で言うところの
const MyClass c;
もしくは
const MyClass * c = new MyClass( );
みたいな機能です。
903デフォルトの名無しさん:2006/12/29(金) 11:28:37
>>902
immutable かどうかはクラス定義に依存する
904デフォルトの名無しさん:2006/12/29(金) 16:52:13
>>901
屋台のひも引っ張るクジあるよな。
豪華景品がブラ下がってるんだけど、どう考えてもそれに繋がるヒモは無いってやつ。
インスタンスは景品で、変数はヒモ。
ヒモは一つの景品にいくつくっついててもいい。
でもヒモが全く付いてない景品は屋台と違ってほっとくと捨てられる(ガベージコレクション)

って認識でよろしいか。
905デフォルトの名無しさん:2006/12/29(金) 20:28:14
>>904
それ止めたほうがいいよ。
ついたての向こうで屋台のおっちゃんがこっそりヒモ持ってる場合があるから。

AA.add(new JButton("7"));

みたいな感じにね。
906デフォルトの名無しさん:2006/12/29(金) 20:57:01
要するに900では
明確にボタンを定義する変数を宣言しないと処理をさせることは不可能ってことでいいのかな?
907デフォルトの名無しさん:2006/12/30(土) 02:30:55
>>900
content paneにaddしておいて、入れ物は何ですかもないと思うのだが。
ちゃんとヒモは握られてるんだから、握っているヤツに聞けばいい。
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container AA = f.getContentPane();
AA.setLayout(new GridLayout(4,1));
AA.add(new JButton("7"));
AA.add(new JButton("8"));
f.pack();
f.setVisible(true);
Component[] components = AA.getComponents();
for (int i = 0; i < components.length; i++) {
Component c = components[i];
if (c instanceof JButton) {
if (((JButton)c).getText().equals("7")) {
((JButton)c).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("7ですにょ");
}
});
} else if (((JButton)c).getText().equals("8")) {
((JButton)c).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("おまえ8にゅ");
}
});
}
}
}
こんな書き方するくらいなら、JButton aa = new 〜みたいに書く方がずっといいと思うがね。
908902:2006/12/30(土) 04:50:29
>>903
ということは、クラスのインスタンスがメソッドの引数に渡された時、
渡されたインスタンス内の値をメソッドが書き換えるかどうかは、
メソッドの実装まで遡らないと、確認はできないってことですよね?
909デフォルトの名無しさん:2006/12/30(土) 08:22:25
>>908
immutableかどうかは、渡された方のメソッドの実装を確認するのではない。
引数として渡したインスタンスの実装の方を確認しなければならない。
もしくは、そのクラスのドキュメント。
mutableなクラスであるなら渡された方のメソッドを確認する。
910デフォルトの名無しさん:2006/12/30(土) 12:19:48
>>907
すんまそん、、GUI表示するだけのプログラムってのを見つけて使ったもので
引用できないかなと思ったのです。
せっかく書いていただいた文章ですしコピーして勉強してみます。

でもそんなの書くならホントに
JButton aa = new 〜
のがいいですね。
ありがとうございます。
911デフォルトの名無しさん:2006/12/30(土) 13:55:57
>>902
コレクションに関してはjava.util.Collections#unmodifiable〜でラップすれば保証できる。
912デフォルトの名無しさん:2006/12/30(土) 15:09:38
javaのプログラムソースをC言語に変換するソフトとかありませんか?
913デフォルトの名無しさん:2006/12/30(土) 22:51:24
条件式で 

String a;
if ( a == aa || a == ba || a ==ca){
}

てな感じのものがあったとして
aは aaか、baか、caか、daか、ea、faの6種類の値しかとりません。

 ||を 何回も書かないでこういう条件を簡単に書く方法はないでしょうか?



914デフォルトの名無しさん:2006/12/30(土) 22:55:20
>>912
ない
915デフォルトの名無しさん:2006/12/30(土) 23:03:30
>>913
Stringなら、6パターン全てにマッチする正規表現とか。
実行時間とソースの見た目、どっちを節約したい?
916デフォルトの名無しさん:2006/12/30(土) 23:04:03
>>912
String a;
if (!( a != aa && a != ba && a !=ca)){
}
よくわからん。
http://www2.ocn.ne.jp/~notes/java/java10.html
http://msugai.fc2web.com/java/equals.html
ところで文字列の比較はこれが分かっててそうしてるのか?
917916:2006/12/30(土) 23:04:46
アンカー間違えた
>>913
918913:2006/12/30(土) 23:16:30
超初心者なのでよく意味がわからない部分があることをお許しください。

String形式のaという変数に20種類ほどの特定の文字列を代入して
何個かが当てはまった場合に何かの処理をする。
残りの何個かがあたった場合には何かの処理をする。

というのをやっていて、最初の条件が半分ぐらいの数の文字列に当てはまるもので。
何回も全部書くのがだるいということでした。同じようなこと書いていますし。。変に長くなって見た目も汚くなりますし。


すんません、ソース内では

if(a =="aa" a=="ba")のように書いて動かしてました。

equalsは知りませんでしたorz
919デフォルトの名無しさん:2006/12/31(日) 05:25:50
>>918
単純にメソッドにしたらどうかと。

private boolean matchAny(String test, String[] values){
 for(int i=0; i<values.length; i++){
  if(test.equals(values[i]){
   return true;
  }
 }
 return false;
}

if(matchAny(a, {"aa", "ba", "ca", "da", "ea", "fa"}){
 // なんか処理
}

あんま変わらん気もしてきた。
920デフォルトの名無しさん:2006/12/31(日) 10:49:34
>>919
String... values

のほうが良いんでない?
921デフォルトの名無しさん:2006/12/31(日) 10:55:46
>>920
そっちの方が簡潔で良いっすね。
拡張 for 構文、一度も使ったこと無い・・慣れかな。
922デフォルトの名無しさん:2006/12/31(日) 11:33:12

テキストフィールド上にいろんな文字を出力するにはどうしたらいいんでしょうか。
ボタン1を押したら1と表示しボタン2を押したら2と表示。またはすべての文字を消去できるようなプログラムです。
923デフォルトの名無しさん:2006/12/31(日) 11:56:54
setText(String t)
924922:2006/12/31(日) 14:32:17
どもです。
925デフォルトの名無しさん:2006/12/31(日) 17:02:18
すみません、javaアプレットのインポートやextendsなしでTextFieldやTextAreaは使用可能ですか?
アプリケーションとして動かしたいのですがやり方がいまいちわからなくて。




926デフォルトの名無しさん:2006/12/31(日) 17:04:42
javaアプレットをjavaアプリケーションに移行したいのか?
それならできるぞ
import,extendsなしってのが意味分からんが
927デフォルトの名無しさん:2006/12/31(日) 17:19:57
アプレットとアプリケーションの違いがいまいちわかっていなくて、、
アプレットをインポートしたり、継承しても、アプリケーション上で動かすことはできるんですか?
HTML上や、アプレットビューアでなくて。
できるならやり方の説明などが載ったページでもいいので教えてもらえるとうれしいです。


自分で探したのですがTextFieldやTextAriaを使ったソースは、全部Javaアプレット上で動かしてたもので、、
プログラム上で動かすにはどうすればいいのかと思ったんです。
TextFieldを使わずに、GUI上で文字列をいろいろ変えて表示できるものがあるのならそちらの使い方でもいいのですが。
928デフォルトの名無しさん:2006/12/31(日) 18:38:00
>>927
アプリケーションでの GUI の作り方を先ず勉強しなさい。

それからアプレットとアプリケーションの違いは 927 が思っているほど劇的なものではなくて、
アプレットをアプリケーションとして起動することも(小細工はいるけど)問題なく出来るから気にすんな。
929デフォルトの名無しさん:2006/12/31(日) 19:29:56
やってみます
930デフォルトの名無しさん:2006/12/31(日) 19:53:13
コンパイルまで出来るのに実行できね〜なんてあるかよ!

フリーソフトじゃなくていいよ。糞三黒マイクロ実行できね〜ファイル
を送ってんだろ!

このスレも三マイクロの自演自作だなくそ〜
931デフォルトの名無しさん:2007/01/01(月) 10:40:58
日本語でおk
932デフォルトの名無しさん:2007/01/01(月) 23:35:12
awtでインベーダーでも作って勉強しようと
がんばってるんだけど
敵の攻撃で

if(!flag1){
for(i=1;i<=6;i++){
for(j=1;j<=6;j++){
num=(int)(Math.random() * 6)+1;
if(ey[i][j]>0){
tx1[i]=ex[num]+13;
ty1[i]=ey[i][j]+35;
}
}
}
flag1=true;
}

こんな風に持ってる知識を振る活用してみたんだが
前の一列殺すと、突然攻撃してこなくなり
縦を消してると、何もない場所から攻撃が出てきたりと
もうなにが何だが・・・
933デフォルトの名無しさん:2007/01/01(月) 23:57:16
常に弾発射してる弾幕インベーターにするのをお勧めします。
とりあえず弾を出す敵を算出する処理、もう一度見直してみてはいかが?
934デフォルトの名無しさん:2007/01/02(火) 04:16:56
質問があります。
簡単な暗号化に挑戦してるのですがUnicodeを変数で扱う事はできないのでしょうか?

public String changeUnicode(int i) {
String s = "\\u00";
String uni = Integer.toString(i, 16);
if(i < 16) {
s = s+0+uni;
} else {
s = s+uni;
}

return s;
}

として受ける数を10としてみましたが無論
\u0010と表示されてしまいます。

どうにか変数からUnicodeに変換する方法を教えてください。
935デフォルトの名無しさん:2007/01/02(火) 12:05:38
このへん眺めてみたら
Character
936デフォルトの名無しさん:2007/01/02(火) 22:19:05
単なるHelloWorldアプリケーションで、
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
が出る理由って何ですか?
937デフォルトの名無しさん:2007/01/02(火) 22:40:11
>>936
実行したコマンドとソースコードを書いたほうがいいですよ。
938デフォルトの名無しさん:2007/01/02(火) 22:41:38
mainがおかしい
939937:2007/01/02(火) 22:43:22
あとは↓とか
FAQ−2.実行時のエラー
http://www.javaroad.jp/faq/faq_error2.htm#q2
940デフォルトの名無しさん:2007/01/04(木) 23:48:14
<SCRIPT language="JavaScript">
<!--
var image= new Array();
image[0]='000.jpg';
image[1]='001.jpg';
image[2]='002.jpg';
image[3]='003.jpg';
image[4]='004.jpg';
image[5]='005.jpg';
function randimage(){
x=Math.floor(Math.random() * image.length);
imgframe.src=image[x];
t=setTimeout('randimage()',rtime);
}
//-->
</SCRIPT>

<IMG src="000.jpg" id="imgframe">


↑ブラウザの更新するたびにランダムに画像を変更したいんですけど
上記のようにすると最初に000.jpgが表示されその次にランダムの画像に切り替わるんです。
つまり更新するたびに最初は000.jpgその次にランダムの画像という風になります。
最初にランダムの画像を出すにはどうすればいいでしょうか?


941デフォルトの名無しさん:2007/01/05(金) 01:38:26
>>940
スレ違い
942デフォルトの名無しさん:2007/01/05(金) 01:50:08
オライリーの Jakarta Commons クックブックという本を読んだのですが、
今のjavaは、C++に肩を並べる位の処理速度になっているって書いていました。
本当でしょうか?

どこかにベンチマークの結果とか乗っているサイトがあれば教えてください。
943デフォルトの名無しさん:2007/01/05(金) 05:58:15
原理的には、ネイティブコードを吐けるC++の方が速い。
944デフォルトの名無しさん:2007/01/05(金) 11:23:20
>本当でしょうか?
どの程度をもって肩を並べる、とするかによる。
C++で0.2秒の処理がJavaで0.3秒なら許す場合もあれば
C++で1時間の処理がJavaで1時間半かかってしまうと使い物にならん場合もある。

「可能性だけなら」Javaの実行時プロファイリングによって
C++で必死こいて最適化した場合と同等かそれ以上の速度を出すことも
「絶対にないとは言い切れない」けど、それが意味を持つとは思えない。

ttp://homepage2.nifty.com/Fujimaki/download/Comparison/
この人の結論は「使えないということはない」になったけど
人によっては(C++で3ヶ月かかるシミュレーションがJavaで1年とかになったら)
「使い物にならない」になるはず。

あなたの想定してるベンチマークってなに?
945デフォルトの名無しさん:2007/01/05(金) 12:22:36
言語AだとプログラムAを作成するのに1ヶ月、実行に2週間かかって、
言語BだとプログラムBを作成するのに1週間、実行に1ヶ月かかると仮定すると、

実は言語Bのほうが早く答えが出てくる罠。
946デフォルトの名無しさん:2007/01/05(金) 12:58:38
しかも、ほぼ作り直しの仕様変更が3回入ると仮定する
947デフォルトの名無しさん:2007/01/05(金) 13:26:44
そのうちプログラマは考えるのをやめた
948942:2007/01/05(金) 17:36:58
>>942ですが、いろいろレスをありがとうございます。

大学の研究室に配属が決まって、来年から有限要素法を用いた構造分析を
する予定なのですが、今まではLinux上でC++でプログラムを作成して
いたようです。

そこで3回生に出された課題(というほどもののもでもないけど)が、
Windowsとの共存で共通で動く環境としてJavaがどうかっていうことで
議論が出ていました。最初はJavaは遅いからダメっていうことで
話が終わっていましたが、>>942で述べたようにC++と同等の
速度が出るというのであれば、話が変わってきますのでここで
質問したというところです。
949デフォルトの名無しさん:2007/01/05(金) 18:02:28
大学の研究室にとっても2chは役立つんですね。ひろゆきは偉い。
950デフォルトの名無しさん:2007/01/05(金) 18:28:14
2ちゃんねるが役に立つ研究じゃ科研費はもらえそうもないな
951デフォルトの名無しさん:2007/01/05(金) 20:28:14
>>948
一般論を言えばマシンにより近い部分を記述できるC++の方が
速いプログラムを作成する能力がより高い、ことになってる。
起動時間無視すれば、気にならない〜遅いけど我慢できる、辺りに落ち着くことが多い。

大量のデータを頻繁にメモリに出し入れするのであれば、
ガベコレ任せのJavaは不利。
ガベコレ発生頻度がさほどでもないレベルなら
「WindowsでもLinuxでも動く」ことに比べたら
速度のペナルティは許容できるレベルに納まる。

何か画面を持っていてそれが「共通で動いて欲しい」って言う話であれば、
ロジック部分はC++で記述してモジュール化して
(そもそもC++で記述された科学計算関連のライブラリを使うことになりそうな気がする。)
Javaで記述したGUIからモジュールを呼べばいい。
画面の話であれば俺はコレを強く推奨。

間違いなく言えるのは、JavaはC++より遅い、
って言う信仰(程度の差はあるがほぼ事実)があるので
あえてJavaを推した場合、思ったほど速度出ない時に非難される。
なんでJavaなんかにしたんだと言われる。
C++版が遅かった場合にはもっと速く書けって言われるだけで済む。

結論から言うと、自分で判断する能力がないなら人の話(C++だろ?)に合わせとけ。
952デフォルトの名無しさん:2007/01/06(土) 00:24:36
すいません、ページを30秒ごとに更新をさせてるんですが
↓ように次の更新までの残り秒数を表示させたいのです
ttp://www.red.oit-net.jp/tatsuya/java/sample/countdwn2.html

例えば

次の更新まで28秒です
・・・20秒です・・・
(更新)
・・・次の更新まで30秒です・・・


のようにしたいのですが
どうようにすればよいのでしょうか?
953デフォルトの名無しさん:2007/01/06(土) 00:40:23
>>952
スレ違い
954デフォルトの名無しさん:2007/01/06(土) 00:48:19
いや板違い
955906:2007/01/06(土) 00:54:51
ごめんなさい出直してきます
956デフォルトの名無しさん:2007/01/06(土) 01:27:49
サーブレットやstrutsでマルチスレッドの方法がよくわかりません。
どこか参考になるサイトや書籍はないでしょうか?
957デフォルトの名無しさん:2007/01/06(土) 03:22:32
Javaスタートブック高田美樹著のCD通りやったのにコンパイルまでできたのに
実行できね〜よ。インチキ!!!!!!!!!!!!!!!!!

ホームページデザイン変えるなよ糞サンマイクロ!
958デフォルトの名無しさん:2007/01/06(土) 03:57:04
>>957
で、グチを言いに来ただけなのか?
959デフォルトの名無しさん:2007/01/06(土) 05:16:03
>>956
質問の意味が不明確なので、もっと具体的に頼む。
960デフォルトの名無しさん:2007/01/06(土) 08:35:29
推測するに・・
初心者向けのJavaでPakageを使ったらいかんな。この手の言いがかりが増える。
961デフォルトの名無しさん:2007/01/07(日) 20:15:35
初心者のうちにパッケージについて正しい知識を身につけさせるのは重要だと思う。
悪いのは、初心者にパッケージについて学ばせることではなく、
初心者に理解できるように学ばせられない入門書じゃないかな。
962デフォルトの名無しさん:2007/01/08(月) 05:51:32
char ch = 'あ';
でコンパイルのときに
illegal character
って起こられるんですけど日本語使うのに設定いるんですか?
環境はDebianです. よろしくお願いします.
963デフォルトの名無しさん:2007/01/08(月) 06:55:03
'あ' は 0xa4a2
964962:2007/01/08(月) 08:08:13
>>963 確かにコンパイルは通るんですがコンソールで?とでます。
0x3042でもだめです。てか文字コードで書くのしんどいです。
965デフォルトの名無しさん:2007/01/08(月) 08:31:57
>>964
文字コードに何を使ってるかしらないが
javac -encoding EUC_JP ...
java -Dfile.encoding=EUC_JP ...
966962:2007/01/08(月) 09:00:54
>>965
なるほどVMのプロパティも設定しないとだめなんですね。
うまくいきました。ありがとうございました。
みんな環境に合わせてエイリアスしてるのでしょうか?
たぶんデフォルトはUnicodeなんでしょうか?
いいサイトあれば教えてください。
967962:2007/01/08(月) 09:09:02
環境変数LANGを設定すればいいだけでした。
連続投稿すみません。
968デフォルトの名無しさん:2007/01/08(月) 13:13:32
javaプログラムコンパイルしてメモ帳作っても
windowsのメモ帳の方が起動とかめっちゃ早いじゃん
どうしたらいいの。
969デフォルトの名無しさん:2007/01/08(月) 13:33:10
使わない
970デフォルトの名無しさん:2007/01/08(月) 14:53:33
>>968
windowsのメモ帳を削除する
971デフォルトの名無しさん:2007/01/08(月) 15:46:08
>968
自分で作ったメモ帳は
・プログラミングの勉強になる
・思う存分改造出来る

Windows付属のメモ帳は
・基本的には改造出来ない
(やろうと思えば出来なくもないがJavaの知識じゃ無理だな)
972デフォルトの名無しさん:2007/01/08(月) 18:19:07
>>968
作ったメモ帳はWindows付属のメモ帳と全く同じ機能じゃないんだろ?
Windows付属のメモ帳の起動速度をとるか、
自作メモ帳の付加機能をとるかのトレードオフは自分自身の評価関数を使って評価しろ。
973デフォルトの名無しさん:2007/01/08(月) 18:41:58
起動に時間がかかるのなら、終了させなければ良い
974デフォルトの名無しさん:2007/01/08(月) 20:15:35
起動が遅いならWindowsのスタートアップに登録してしまえば良い。
975デフォルトの名無しさん:2007/01/08(月) 22:52:28
gcj使ってみる
976デフォルトの名無しさん:2007/01/08(月) 23:32:01
ある意味javaの究極の姿を見た
977デフォルトの名無しさん:2007/01/09(火) 20:28:38
swingを色々弄っています。
例えばボタンを押した時にカウントダウンを始める、等のように、
少しアニメーションっぽく表示させたいのですが、
途中結果が表示されずに結果のみ表示されてしまうのはどうしてでしょうか?

class Action implements ActionListener {
 public void actionPerformed(ActionEvent event) {
  testBtn.setEnabled(false);
  for (int i = 5; i >= 0; i--) {
   testLabel.setText(i + "秒");
   try {
    Thread.sleep(1000);
   } catch (InterruptedException e ) {
    
   }
  }
  testBtn.setEnabled(true);
}
978デフォルトの名無しさん:2007/01/09(火) 20:52:34
>>977
setEnabled を抜かしたらどうなる?
979デフォルトの名無しさん:2007/01/09(火) 22:46:59
>>977
Swing はシングルスレッドで実装されてて、
イベントディスパッチスレッドってところでイベント処理してる。
その Action をボタンに addActionListener すると
actionPerformed() の処理が終わるまで描画がブロックされて、
5秒過ぎてから今までブロックされてた描画イベント
(0秒、1秒・・・4秒と表示する)がまとめて起きる。

for (int i = 5; i >= 0; i--) {
 new Runnable(){
  public void run(){
   // i秒待つ処理。
   // Action があるスレッドとは別スレッドで動くので Action をブロックしない。

   SwingUtilities.invokeLater(new Runnable(){
    public void run(){
     // ラベルを "i秒" にする処理
    }
   });
  }
 }.start();
}

動くかどうか試してないけど、こんな感じに書くことになるはず。
イベントディスパッチスレッドやSwingUtilitiesでググると
詳しい解説とか拾えると思われ。
980デフォルトの名無しさん:2007/01/10(水) 07:17:23
>>978
結果は同じでした。setEnabled自体も反映されていませんでした。
>>979
参考に書き直したところ、無事にカウントダウンさせることができました。
今後イベントディスパッチスレッドについて勉強します、
ありがとうございました。
981デフォルトの名無しさん:2007/01/10(水) 22:31:13
Javaスタートブック高田美樹著だとCLASSPATHを設定しろなんて書いてないぞ!

おい、実行できね〜よ〜、糞サンマイクロ!!!!!!!!!!!!!!

てめ〜らインケンやろう〜実行できるファイル送れ〜
ホームページをいちいち変えるなよ馬鹿やろう。ホームページのアドレス
変えやがって、ず〜と同じでいいだろこのやろう
982デフォルトの名無しさん:2007/01/10(水) 22:36:16
次の質問はまだですか?
983デフォルトの名無しさん:2007/01/11(木) 04:06:28
環境変数としてCLASSPATHなんて設定していないんですが、
なぜかコンパイルも実行もできてしまいます。
はやりのノロウイルスにでも感染しているのでしょうか?
984デフォルトの名無しさん:2007/01/11(木) 09:22:04
日本脳炎です
985デフォルトの名無しさん:2007/01/11(木) 11:46:21
>>983
環境変数 PATH に指定されてるどこかに
javac.exe や java.exe が居て、
それらが自身の実行環境がどこにあるか知っている
(javac や java の内部で CLASSPATH とかを設定してるイメージ)
ので実行できる。

>ノロウィルス
あんまり面白くもないな
986デフォルトの名無しさん:2007/01/13(土) 00:56:31
隣に座っているPGが、テストデータの名前欄に「のさく」、「みゆきち」、「ほちゃ」と入れてます。
何かの暗号なのでしょうか?
987デフォルトの名無しさん:2007/01/13(土) 01:47:50
行く道には野花が咲いています。
この風景の中で飲むお茶はさぞおいしい事でしょう。
988デフォルトの名無しさん:2007/01/13(土) 02:04:26
>>986
野川さくら、沢城みゆき、堀江由衣
その隣の住人は野川さくらのアンチだな
989デフォルトの名無しさん:2007/01/15(月) 10:26:18
誰?
990デフォルトの名無しさん:2007/01/15(月) 13:11:13
>>989
声優
991デフォルトの名無しさん:2007/01/17(水) 04:06:47
w
992デフォルトの名無しさん:2007/01/18(木) 07:09:40
ww
993デフォルトの名無しさん:2007/01/19(金) 08:05:58
www
994デフォルトの名無しさん:2007/01/19(金) 16:59:21
break;
995デフォルトの名無しさん:2007/01/19(金) 21:54:05
goto >>986
996デフォルトの名無しさん:2007/01/20(土) 00:48:37
System.exit(1);
997デフォルトの名無しさん:2007/01/20(土) 10:45:55
break;
998デフォルトの名無しさん:2007/01/20(土) 13:28:28
for (; res<=1000; res++) {
999デフォルトの名無しさん:2007/01/20(土) 14:36:56
さて、次スレだが。
1000ゲッターの人、次スレ立て&誘導よろしく。
1000デフォルトの名無しさん:2007/01/20(土) 14:42:25
【初心者】Java質問・相談スレッド96【大歓迎】
http://pc10.2ch.net/test/read.cgi/tech/1168678303/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。