【初心者】Java質問・相談スレッド107【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/10/18(木) 09:08:26JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド106【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1190169553/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。
次スレは>>980あたりで。
0002デフォルトの名無しさん
2007/10/18(木) 10:13:16変数の値を出力するのに
<h1>${title}</h1>
としていたのですが、サニタイズされないことが分かりました。
仕方ないので
<h1><c:out value="${title}"/></h1>
と書き直しているのですが、すごくばからしくなってきました。
なんとか ${title} の書き方でサニタイズされることはできないでしょうか。
つうかなんでサニタイズされないのだ? <c:out/>はデフォルトでされるというのに。
0003デフォルトの名無しさん
2007/10/18(木) 11:52:24ようにソースを書いたのですが
出力されたファイルはバイト数は正しいのですが
画像が変になってしまいます。
どこか間違いがありますでしょうか?
URL url = new URL(urlString);
//受信
InputStream is = url.openStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
//ファイルに出力
FileOutputStream fos = new FileOutputStream(fileName);
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
int c;
while ((c = reader.read()) != -1) {
bw.write(c);
}
bw.flush();
reader.close();
bw.close();
0004デフォルトの名無しさん
2007/10/18(木) 11:58:17ImageReaderとかあるよ
0005デフォルトの名無しさん
2007/10/18(木) 12:14:45Reader や Writer をはさまずに、直接 InputStream から読み込んで FileOutputStream に出力すればいいんじゃない
0006デフォルトの名無しさん
2007/10/18(木) 12:26:42ありがとうございます。できました。
0007デフォルトの名無しさん
2007/10/18(木) 12:56:13PreparedStatementを使用して、"select 〜for update wait ?"で
待機時間をバインド変数でプログラムを組みたいと思っているんですが、
上手くいきません。
setIntやsetDouble、Longを試してみましたが、
なにかよい方法はないのでしょうか。
0008デフォルトの名無しさん
2007/10/18(木) 13:40:05プロパティファイルなどの設定ファイルを、どのように管理したらいいもので
しょうか?
・開発機、テスト機、本番機でそれぞれ設定内容が異なる
・開発機の場合、ここの開発者の環境ごとに設定内容が少しずつ異なる
・設定項目の種類はいずれも共通だが、開発中に増えたり減ったりする
こういうものをCVSで管理するにはどうしたらいいものか、考えあぐねています。
Ruby on Rails だと、開発機、テスト機、本番機用の3種類のファイルがデフォ
ルトで用意されていました。開発者ごとの環境設定は、個々人で修正すること
になっていました。
0009デフォルトの名無しさん
2007/10/18(木) 14:08:16protected String name; // 名前
protected int eng; // 英語得点
protected int math; // 数学得点
protected int sci; // 理科得点
// コンストラクタ(データを受け取る)
public Tokuten(String n, int e, int m, int s) {
name = n;
eng = e;
math = m;
sci = s;
}
// データの見出しを文字列にして返す
public String getHeader() { // \t … タブ文字
return "name\teng\tmath\tsci";
}
// データを文字列にして返す
public String getData() {
return name + "\t" + eng + "\t" + math + "\t" + sci;
}
}
0010デフォルトの名無しさん
2007/10/18(木) 14:10:22public static void main(String args[]) {
// データの初期設定
Tokuten tokuten[] = new Tokuten[3];
tokuten[0] = new Tokuten("taro", 80, 70, 60);
tokuten[1] = new Tokuten("hanako", 70, 80, 70);
tokuten[2] = new Tokuten("jiro", 60, 90, 80);
// データを表示させる
System.out.println("No.\t" + tokuten[0].getHeader());
for (int i = 0; i < tokuten.length; i++)
System.out.println(i + "\t" + tokuten[i].getData());
}
}
質問おねがいします。
>>9のTokutenを、Kadai20クラスを使って表示させたいのですが
2つのクラスをつなげてもうまくいきません。
どのようにすれば実行結果を得られるのでしょうか、教えてください。
0011デフォルトの名無しさん
2007/10/18(木) 14:19:11>JSP2.0を使ってます。
>変数の値を出力するのに
><h1>${title}</h1>
>としていたのですが、サニタイズされないことが分かりました。
>仕方ないので
><h1><c:out value="${title}"/></h1>
>と書き直しているのですが、すごくばからしくなってきました。
>なんとか ${title} の書き方でサニタイズされることはできないでしょうか。
>つうかなんでサニタイズされないのだ? <c:out/>はデフォルトでされるというのに。
0012デフォルトの名無しさん
2007/10/18(木) 14:28:140013デフォルトの名無しさん
2007/10/18(木) 14:52:48"つなげる" てのはどうやってるのかな?
例えば Kadai20.java に両方書くってんなら、Tokuten は public 外して
public class Kadai20 { ... }
class Tokuten { ... }
と宣言すればいい。
仮に Tokuten を public にしたいなら別々の .java ファイルにする。
(そうしろっていうコンパイルエラーが出てないかい?)
00149-10
2007/10/18(木) 15:02:42別々のjavaファイルでそれぞれのクラスがあるのですが、
それぞれをコンパイルしてKadai20.javaを実行しても結果が表示されないんです。
だからつなげればよいのかと考えたのですが・・・
0016デフォルトの名無しさん
2007/10/18(木) 16:29:58これでどう?
http://www.thinkit.co.jp/free/article/0604/7/7/
0017デフォルトの名無しさん
2007/10/18(木) 18:42:19なんででしょう?
ソース表示したらソースは読みこんでます
0018デフォルトの名無しさん
2007/10/18(木) 18:49:010019デフォルトの名無しさん
2007/10/18(木) 18:50:45ttp://ja.wikipedia.org/wiki/Internet_Explorer
>IE7を使ってウェブにアクセスすると、低くない頻度でページの読み込みが止まり、ページが真っ白又は背景しか表示されない不具合が確認されている。F5キーなどで再読込(更新)すれば表示できることがあり
ttp://sattontanabe.blog86.fc2.com/blog-category-8.html
0020デフォルトの名無しさん
2007/10/18(木) 18:51:370021デフォルトの名無しさん
2007/10/18(木) 19:00:230022デフォルトの名無しさん
2007/10/18(木) 19:05:25さんくすです。fn:escapeXml()を使うのか。
でもこれ、いけてねー
${fn:escapeXml(var)}
<c:out value="${var}"/>
あんましかわらん。。。
やっぱり ${} はデフォルトでエスケープすべき。
したくないときだけ <c:out value="${}" escapeXml="false"/> を使うのがいいんじゃないか。
0023デフォルトの名無しさん
2007/10/18(木) 20:04:43俺も同じ症状だノシ
とりあえずFirefox使って凌いでる。おそらくローカルドキュメントのセキュリティ関連だと思うが、
バグかもしれんので原因を探す気にはなれない。
00248
2007/10/18(木) 20:17:38率直に言って、みんなどうやっているのか不思議です。
WARを作る際にAntなどでファイル名を変更しているのでしょうか?
0025デフォルトの名無しさん
2007/10/18(木) 22:00:44としたんですけど、pathが通りません。誰か教えてください。
0026デフォルトの名無しさん
2007/10/18(木) 22:57:24path = %path%;%JAVA_HOME%\bin;
でどうなる?
0027デフォルトの名無しさん
2007/10/18(木) 23:38:54java 1.3.1_01と表示されてしまいます。
コンパイルまでは出来るのですが、実行しようとすると「UnsupportedClassVersionError」と表示されてしまいます。
調べてみるとどうやら作成した環境と実行した環境のバージョンが違うときに出るみたいです。
Cドライブを色々見てみても、java1.3.1は見つかりません。
JavaSE6を再度実行してみても「すでにインストールされています」と表示されるのみです。
どうすればいいのでしょうか?
0028デフォルトの名無しさん
2007/10/18(木) 23:42:15デフォルトは固定で持たせておいて、開発用の設定ファイルはVM引数で渡したり、設定ファイル郡を定義する設定ファイルを読み込んだり(web.xmlでもOK)する事が多い
0029デフォルトの名無しさん
2007/10/18(木) 23:46:06OSは?
あと、JavaSE6ってJDKを入れたのか、JREをいれたのか?
とりあえず、コンパネからアプリケーションの追加と削除で、1.3を消してしまえ。
以前、1.3を入れた覚えとかあるならば、環境変数のpathに1.3のbinが通ってないかも確認する方がいい。
ついでにclasspathとか入っているならば一度消すべし
0030デフォルトの名無しさん
2007/10/18(木) 23:57:07・開発機の場合、ここの開発者の環境ごとに設定内容が少しずつ異なる
>28も書いているが、起動引数などで設定ファイルを指定できるようにした上で、
自分の環境用の設定ファイルはローカルに作って、SVNなどのバージョン管理対象からはずす。
SVNで管理するのはあくまで本番用と本番環境でのデバッグ用、UT用くらいだろうな。
パッケージングする時にそれらを含めないようにWARなどを作ればいいだけ
まあ、含んでいても問題は生じないけど
0031その1
2007/10/19(金) 00:39:12StringBufferに格納した文字列を、Printableで出力する処理を作成しています。
その際、StringBufferに「\n」を格納すると、改行させることが出来るのですが(例1)、
「\f」を格納して改ページをさせようと思っても、中点(・)が印字されてしまい、
上手く改ページさせることが出来ません(例2)。
改ページをさせるには、どうしたら宜しいのでしょうか?
以上、宜しくお願い致します。
0032その2
2007/10/19(金) 00:40:26【PGM】
StringBuffer sb = new StringBuffer();
sb.append("改行");
sb.append(\n);
sb.append("テスト");
【出力結果】
改行
テスト
※ 例2
【PGM】
StringBuffer sb = new StringBuffer();
sb.append("改ページ");
sb.append(\f);
sb.append("テスト");
【出力結果】
改ページ・テスト
※ \は実際には「バックスラッシュ」です
0033デフォルトの名無しさん
2007/10/19(金) 00:45:00BufferdImageで定義したimageをダイアログを用いて保存する方法についてですが、
fileDialog内の引数が上手く取れずに困っています。現在、
public class neko {
public static void main(String[] args){
MyFrame f = new MyFrame();
中略}}
class MyFrame extends Frame{
中略
public MyFrame(){
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
中略
FileDialog fileDialog = new FileDialog( f , "SAVE画面" , FileDialog.SAVE);
という形にしていますが、new FileDialogの部分でシンボルが見つかりませんというエラーが出ました。
fをちゃんと引数として持って来れていないのが原因と考えていますが、直す事ができません。
どうすればいいのでしょうか?
0034デフォルトの名無しさん
2007/10/19(金) 02:20:05たぶん new FileDialog(MyFrame.this, "SAVE画面", FileDialog.SAVE); でいけるかと思うが
GUI の前にもうちょっと Java の言語自体を勉強したほうがいいような
0035デフォルトの名無しさん
2007/10/19(金) 02:32:04エラーがなくなり、実行できるようになりました。
ずっと悩み続けていて、Webサイトや参考書で調べてみたりしたのですが
mainでのローカル変数は取り辛い、ということしか解らず解決策を見いだせずにいました。
解決策を拝見し、javaについての知識が浅すぎたという気持ちでいっぱいです。
もっと精進できるよう努力します。ありがとうございました。
0036デフォルトの名無しさん
2007/10/19(金) 02:59:58利用しようとしてもNull Pointerが返されてしまいます。
どうすればよいでしょうか?
import java.io.*; // for I/O
class Person{
String myName;
public void SetName(String name) {
myName = name;
}
}
class Address{
public Person[] a;
public Address(int max){
a = new Person[max];
}
public void insert(String insert){
a[0].SetName(insert);
}
}
class 2ch{
public static void main(String[] args){
Address ad;
ad = new Address(100);
ad.insert("ななし");
}
}
0037デフォルトの名無しさん
2007/10/19(金) 03:21:10実行時エラーを出すも何も、そもそもそのソースはコンパイルできないだろ。
a = new Person[max];
はPerson型を格納する配列を作成しているだけで、
その要素であるPerson型のインスタンスを生成しているわけではない。
だから、
a[0].SetName(insert);
で配列要素の初期値であるnullに対してメソッドを呼び出そうとして例外が投げられる。
配列の要素もちゃんと生成しろ。
003836
2007/10/19(金) 03:31:06実行してもNullPointerExceptionが返るって、、
まったく状況似たようなもんですけどね。
すみませんが、なんかサンプルみたいのないでしょうか。
レスしてくださったのはありがたいんですが、
概念がさっぱり。。。インスタンスについて完全にわかってないせいでしょうか。。。
0039デフォルトの名無しさん
2007/10/19(金) 03:33:28class 2ch{
> 配列の要素もちゃんと生成しろ。
> なんかサンプルみたいのないでしょうか
sunのドキュメントやチュートリアル
004036
2007/10/19(金) 03:36:21テキトウなクラス名つけておいたら、
実際にやってみたら、通りませんでした(汗
class Eとかつけてたんですが、そのまま書けばよかった。
6時間格闘してるんですが、
正直何がわかってないかがわかってないだけに
どこを探せばよいのか。。。
0041デフォルトの名無しさん
2007/10/19(金) 03:38:43そこら辺もきちんと説明してあげたらどうよ?
004236
2007/10/19(金) 03:44:19こういう風にクラスを3つ使うパターンを
実践してみたことがなくて、何が起きてるかわからなくて。
0043デフォルトの名無しさん
2007/10/19(金) 04:19:11a = new Person[max];
によってaにはmax個のnullが詰まった配列への参照が代入される。
new Address(100);
ならPerson型を100個格納できる配列が作られる。
それは配列が作られただけで、その中に入れるPerson型のインスタンスが作られたわけではない。
100個分入れられる容器が作られただけ。
だから、次にその容器=配列に入れるためのPerson型のインスタンスを作ってやらないといけない。
a[0].SetName(insert);
でエラーになるのは、aという配列の1番目の要素a[0]に入っているべきPerson型のインスタンスがまだ作られておらず、
nullというPerson型でない特別なものが入った状態だから。
エラーにならないようにするには、そうやって使う前にa[0]にPerson型のインスタンスを作って入れてやらないといけない。
Person型のインスタンスの作りどころとしては、Addressのコンストラクタの中で作ってa[0]に代入するとか、
insertメソッドの中でa[0]がnullなら作成して代入するとか。
Person型のインスタンスの作り方は分かるよね?new演算子を使えばいい。
それをa[0]に代入する方法も分かるよね?代入演算子を使えばいい。
0044デフォルトの名無しさん
2007/10/19(金) 04:29:02クラスを3つ使うことでハマっているわけじゃないと思うよ
class E {
public static void main(String[] args){
Person[] a = new Person[100]; //1
a[0].SetName("ななし"); //2
}
}
ってやろうとしているのと同じ
1と2の行間に
a[0] = new Person();
がないとa[0]はnullが入っているから2でぬるぽになるんだ
配列を作ることと配列の中身を作ることは別の話になる
0045デフォルトの名無しさん
2007/10/19(金) 04:49:240046デフォルトの名無しさん
2007/10/19(金) 07:10:37特に初心者本でいい加減に解説されていることが多いのが問題。
Person p と宣言したときは、pは当然ながらPersonインスタンスを参照する
Person[] p と宣言した場合は、pはPerson[]インスタンスを参照する
しかし、Personインスタンスは生成していないから、p[0]には何も参照がない
004742
2007/10/19(金) 08:34:35たくさんのご返答ありがとうございます。
>>43さんの指示通りAddressのコンストラクタの末行に
for(int i=0; i<max; i++) a[i] = new Person();
を加えることで対処できました。
実際に動くのを目で見てみると、
>>37の「格納する配列を作っただけで、配列の要素を作ってない」
という意味がわかりました。
また>>44のクラスを3つ使ってるから陥ったわけでもないというのもわかりました。
しかし、我ながらまだインスタンスと配列の概念があやふやだと思うので、
みなさんのレスも合わせて勉強しなおしたいと思います。
0048デフォルトの名無しさん
2007/10/19(金) 08:39:50IEブラウザで行うとローカルプロキシには
Browser reload detected...
Posting 155 bytes...
とログが残るのですが、JAVAでリロードを感知するにはどうしたらいいのでしょうか?
0049デフォルトの名無しさん
2007/10/19(金) 09:32:46たとえば12の場合約数は
1, 2, 3, 4, 6, 12
でこっから累乗で割り切れる数を抜き出した場合、
1, 2, 3, 6
どうにか約数をリストアップさせることはできたんですが、累乗で割り切れる数を抜き出すことができません。
誰かお助けを。 よろしくお願いします。
0050デフォルトの名無しさん
2007/10/19(金) 10:00:44求めた約数の配列に対して順次演算処理していけば良いんじゃないかな。
逐一累乗を計算するより良いかと思う。
0051デフォルトの名無しさん
2007/10/19(金) 10:14:24System.out.println("数字を入れてください");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
int int1 = Integer.parseInt(str1);
double square = Math.sqrt(facInt1);
System.out.print(int1 + ":");
for (int y = 1; y <= facInt1; y++)
{
for (double b = 2; b <= square; b++)
{
if (facInt1 % y == 0 && y % Math.pow(b, 2) != 0)
{
System.out.print(y + ",");
}
}
}
System.out.println("");
}
}
で、出力が12をいれた場合、
1,1,1,2,2,2,3,3,3,4,4,6,6,6,12,12
一応累乗で割り切れる数はそれぞれ三つずつではなく二つずつ表示されているんですが・・・^^;
もう本当にJava初心者なんで... もう頭がおかしくなってきました。もっと考えみますが、誰かなにかアドバイスがありましたらご指摘お願いします。
0052デフォルトの名無しさん
2007/10/19(金) 10:15:12アドバイスどうもありがとうございます
0053デフォルトの名無しさん
2007/10/19(金) 10:20:14ごめんなさい、facInt1はすべてint1です。^^;
0054デフォルトの名無しさん
2007/10/19(金) 11:45:12入力のチェックがあり、エラーが出ると登録されず登録画面のままにし、
その際選択したプルダウンを選択したままの状態にする際はどうしたらいいんでしょうか
00558
2007/10/19(金) 12:04:48ありがとうございます。参考になります。
さらに質問なのですが、たとえばweb.xmlなどはどうしておられますか?
errorpage要素、welcome要素などが、開発、テスト、本番ごとに、定義してあっ
たりなかったりするのですが、どの環境でもファイル名はweb.xmlでないと動き
ません。別のファイル名をつけて、デプロイ時にリネームするのでしょうか?
また、内容の大部分は重複しているので、もしファイルを3つ作るとすると、3
つのファイルに同じような編集を繰り返さなければなりません。エラーの元に
もなるし、どうしたものかと思っています。
0056デフォルトの名無しさん
2007/10/19(金) 12:23:40JavaScriptでは無くサーバで値チェックてことだよね。
選択したoptionにselectedをつければ選択されるが、
"selected"が入った変数をセッションで渡して、
${}, <%= %>で表示すればいいと思う。
0057デフォルトの名無しさん
2007/10/19(金) 12:28:01JNI経由でblasなどを呼び出すという話があるようなのですが、マルチスレッド
環境を考えると不安なので、どこかにPure Javaなライブラリがないかと思うの
ですが。
005857
2007/10/19(金) 12:30:28Commons Math というのがあるのですね。
http://jakarta.apache.org/commons/math/
使ってみて、不満だった時にまた質問します。
0059デフォルトの名無しさん
2007/10/19(金) 14:22:57レスありがとうございます。
確認してやってみたいと思います。
0060デフォルトの名無しさん
2007/10/19(金) 16:13:55JavaでのXMLの取り扱いについて調べてみると数年前の情報しか見つからず、
その情報を頼りにDOMで実装しました。
今現在DOMよりも一般的な方法があれば教えてください。
0061デフォルトの名無しさん
2007/10/19(金) 16:35:03Antのコピーでフィルタかけるとか。
あるいは、環境で変る箇所はweb.xmlから追い出すとか。
0062デフォルトの名無しさん
2007/10/19(金) 16:49:00JDOM,SAX,StAX
一般的かどうかは自分の目で判断してくれ。
俺は裾野が広がった、と見ている。
0063デフォルトの名無しさん
2007/10/19(金) 17:13:26本当に基本的な質問でしょうが、一つの配列に同じ整数が入ってた場合return falseとかえしたいのですが
どうすればいいんでしょうか。 たとえば 配列に (2, 3, 3) と入ってる場合です。
簡単なコードを書いてもらえれば幸いです。よろしくお願いします。
0064デフォルトの名無しさん
2007/10/19(金) 17:43:31Java Ver6をWebからインストールしようとすると途中で止まりエラーになってしまいます。
下記がエラーメッセージです。
「htt://javadl.sun.com/webapps/download/GetFile/1.6.o 03-b05/windows-i586/jre1041.MSTの読み込みに失敗しました。
このファイルが存在するかどうか、およびこのファイルへのアクセス権があるかどうかを」
何とかしてインストールしたいので宜しくお願いします。
006564
2007/10/19(金) 17:53:13デフォルトの6は今まで使えてました。
何故アップデート出来ないのでしょうか・・・。
006664
2007/10/19(金) 17:55:51WindowsはVistaビジネス32bit版です。
IE7です
0067デフォルトの名無しさん
2007/10/19(金) 18:03:16JDOMマジオススメ。w3cの方使ってからだと感動する。
0068デフォルトの名無しさん
2007/10/19(金) 18:29:56すいません、わかりました。^^;
006954
2007/10/19(金) 18:30:32<select name="mail">
<%
if (mail !=null){
switch (Integer.parseInt(mail)) {
case 0 : out.println("<option value=\"1\">age");
out.println("<option value=\"2\" selected>sage"); 省略
break;
case 1 :out.println("<option value=\"00\" >age");
out.println("<option value=\"00\" >sage"); 省略
break;
}
}else{
out.println("<option value=\"00\"selected >age");
out.println("<option value=\"01\">sage"); 省略
}
%>
</select>
大分省略してるんですが、この記述だとプルダウンの項目ごとにcaseで表記するのですが
この記述を簡略化することはできますでしょうか。
0070デフォルトの名無しさん
2007/10/19(金) 19:14:01できました。ありがとうございます。
0071デフォルトの名無しさん
2007/10/19(金) 20:18:20通りません。自分のシステム環境変数は path=c:\usr\local\bin;c:\gs\gs7.07\bin;%SystemRoot%;%SystemRoot%\system32;%SystemRoot%\wbem;c:\gs\gs7.07\lib;c:\dviout
;C:\Program Files\QuickTime\QTSystem\;%JAVA_HOME%\bin;
classpath=ip;.;C:\Program Files\QuickTime\QTSystem\QTJava.zip;.;C:\Program Files\Java\jdk1.6.0_<version>\lib
QTJAVA=C:\Program Files\QuickTime\QTSystem\QTJava.zip
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_<version>
となっています。コマンドプロンプトでjavacとうってもバッチファイルとして認識できませんと出ます。
アドバイスください。
0072デフォルトの名無しさん
2007/10/19(金) 20:37:20pathの方だが、JAVA_HOMEは認識しないぞ
ちゃんとフルパスで入力汁
あと、classpathは色々と面倒な事になるから消しとけ
必要な場合は起動時に指定するべし
0073デフォルトの名無しさん
2007/10/19(金) 20:59:21byte s = Byte.parseByte(args[0]) - 1;
0074デフォルトの名無しさん
2007/10/19(金) 21:11:09エラー
0075デフォルトの名無しさん
2007/10/19(金) 21:13:291行づつ分解してコンパイルしてみればいい
0076デフォルトの名無しさん
2007/10/19(金) 21:14:07javaバージョンがありましたら教えてください。
0077デフォルトの名無しさん
2007/10/19(金) 21:14:55byte s = (byte)(Byte.parseByte(args[0]) - 1);
0078デフォルトの名無しさん
2007/10/19(金) 21:17:56ありがとうございます。原因が分かりました。
0079デフォルトの名無しさん
2007/10/19(金) 21:23:22標準のコンソールを操作するクラスはjava.io.Consoleだけどほとんど機能はない
自分でGUI組むしかないんじゃない?
0080デフォルトの名無しさん
2007/10/19(金) 21:42:37なるほど、分かりました。
ありがとうございました。
0081デフォルトの名無しさん
2007/10/20(土) 00:01:47> C:\Program Files\Java\jdk1.6.0_<version>
まさか <version> の部分を文字通り <version> と書いているわけじゃないよな?
0082デフォルトの名無しさん
2007/10/20(土) 00:11:04既に別のスレで指摘されている
というか>>71はマルチじゃね
0083デフォルトの名無しさん
2007/10/20(土) 12:40:25マルチになってしまい、失礼なのは解っていますが、どうかお願いします。
フレームをバックグラウンド(非アクティブ)にした状態でマウスイベントの取得はできますか?
できるならばその手法について教えてください‥どこを探しても載っていないので本当に実現できるか心配でorz
0084デフォルトの名無しさん
2007/10/20(土) 17:38:110085デフォルトの名無しさん
2007/10/20(土) 17:52:38とりあえず最低限のもの作って自分で確かめろよ。
0086デフォルトの名無しさん
2007/10/20(土) 18:18:58OS=XPpro
Javaランタイムの現在のバージョンは1.6.0_03をインストール済み
旧バージョンの1.6.0_01/1.6.0_02はどうすればいいのでしょうか
以前の1.5.0_10などはプログラムの追加と削除からアンインストールしてました
諸先輩方 ご教授願います。
0087デフォルトの名無しさん
2007/10/20(土) 18:32:52008886
2007/10/20(土) 18:41:12ここに質問と↑ ここに回答が書いてありました↓ HDDに余裕があるので1.6.0_01/1.6.0_02は残します
http://www.java.com/ja/download/faq/5000070400.xml
お騒がせしました _(_^_)_
0089デフォルトの名無しさん
2007/10/20(土) 19:13:19009083
2007/10/20(土) 19:15:29バックグラウンドで動かしたいプログラムは作ってはあります。
プログラムはフレームを開きマウスイベントのfillやdrawでフレームとイメージに描画を行いますが
IEを全画面で開き、フレームをバックグラウンドにして実行した時は描画が行われず、
IEを全画面ではなく、小さくした状態でフレームが見れる状態にした場合はIEから出ている部分では描画が行われていました。
なので、IEの上でのマウスの位置が取得できていない、つまりマウスイベントの取得ができていないように感じました。
自分は、全画面でアクティブになったものの下にフレームを置き描画を行いたいのですが現段階では実現できていません。
この解決策についてどうかご教授願えませんでしょうか?
0091デフォルトの名無しさん
2007/10/20(土) 20:52:24今度初めてEclipseでJAVA GUIプログラム作りました。
ほかのアプリケーションのようにアイコンをクリックして起動させたいのですがどうしたらよいのでしょうか?
classファイルをクリックしてもダメだし、exeファイルも作成されないようなのでよくわかりません。
わかるひとにはくだらない質問だと思いますが、どうぞよろしくご教授お願いいたします。
0092デフォルトの名無しさん
2007/10/20(土) 20:57:58java.awt.MouseInfo
非アクティブでも使えるかしらん
>>91
jar マニフェスト
0093デフォルトの名無しさん
2007/10/20(土) 21:00:07もしくはexewrapとかjsmoothとかlaunch4j
あとはgcjでバイナリにしちゃうとか
0094デフォルトの名無しさん
2007/10/20(土) 21:10:19例えば1から15までの数の1を数えたい場合は8と出力させたいのですが
これはやはり数学的にどうにかなるようなものなのですか?
0095デフォルトの名無しさん
2007/10/20(土) 21:14:440096デフォルトの名無しさん
2007/10/20(土) 21:22:27count++;
}
if (i / 10 == 1) {
count++;
}
0097デフォルトの名無しさん
2007/10/20(土) 21:34:140098デフォルトの名無しさん
2007/10/20(土) 21:50:00009983
2007/10/20(土) 21:54:05java.awt.MouseInfoをグーグルで検索を行い、マウスの位置を非アクティブで
確認することができました。
プログラムに組み込めるよう応用してみます。大変助かりました。ありがとうございます。
010094
2007/10/20(土) 22:13:44こんな事も自分の頭で考えられないとは…
0101デフォルトの名無しさん
2007/10/20(土) 22:42:57java.awt.dnd.DropTarget とか java.awt.dnd.DropTargetListener あたり
0102デフォルトの名無しさん
2007/10/21(日) 00:59:41してもできません。
プログラム概要としては下記です。
よろしくお願いします。
public class AppletTest extends Applet{
PanelTest panel=new PanelTest();
public void init() {
setLayout(new BorderLayout());
add("Center", panel);
}}
class PanelTest extends Panel
implements KeyListener, ActionListener, MouseListener{
public void init(){
addKeyListener(this);
addMouseListener(this);
}
public void keyPressed(KeyEvent e){
char ch;
ch=e.getKeyChar();
System.out.println("キー入力:"+ch);
}}
環境
javac 1.5.0_12
windowsXP
0103102
2007/10/21(日) 01:01:00System.out.printlnでキー入力値が表示されないので、おそらくkeyPressedの
イベントが呼ばれてないように見えます。
0104デフォルトの名無しさん
2007/10/21(日) 01:07:16これがどこからも呼ばれてないんじゃ?
0105104
2007/10/21(日) 01:07:580106デフォルトの名無しさん
2007/10/21(日) 01:08:00イベントリスナを登録していないから呼ばれるわけがない。
PanelTest#init()を明示的に呼ぶか、
AppletTest#init()の中でpanelにadd*Listener()するか汁。
PanelTestのコンストラクタの中でthisをadd*Listenerするのは止めておけ。
たぶん勘違いしているのだろうがinit()が勝手に呼ばれるのは、
Appletクラスのサブクラスをアプレットとして呼ぶ場合だけだぞ。
010760
2007/10/21(日) 01:58:38レスありがとうございます。
JDOM使ってみたんですが、これすごいですね。
DOMと比べて記述が直感的に分かりやすい。それに動作が洗練されていて、効率的。
XMLの取り扱いがここまで簡単になるなんて思っていませんでした。
これは感動しました。
概要を掴む為のサイトを探し出すのに非常にホネが折れました。
ttp://web.archive.org/web/20061209062051rn_2/www-06.ibm.com/jp/developerworks/java/010810/j_j-jdom.html
公式サイトに詳しい解説ページがあるようなので、今からちまちま読んでいこうと思います。
0108デフォルトの名無しさん
2007/10/21(日) 07:19:160110デフォルトの名無しさん
2007/10/21(日) 14:24:02フレームを常に最前面に表示させたいんですが…
toFrontで簡単に出来るかと思ったんですが調べてもできませんでした…
どなたか教えてください…。
0111デフォルトの名無しさん
2007/10/21(日) 15:40:10java.util.Vectorの使いかたがわからん.
import java.util.*;
public class vectest
{
static Vector v;
public static void main(String[] args)
{
v = new Vector(1);//容量を指定してVector作成(ア)
v.set(0,"foo");//A案(イ)
v.setElementAt("foo",0);//B案(ウ)
}
}
(ア)で容量を指定してvを生成しているにもかかわらず,
(イ)のA案でやっても
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
(ウ)のB案でやっても
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
というExceptionが出てしまう.
どうすれば空のVectorに値を設定できるんだ?
0112111
2007/10/21(日) 15:44:37空のVectorに,位置を指定して要素を設定したいのだ.
0113デフォルトの名無しさん
2007/10/21(日) 15:47:07無理。できない。
0114111
2007/10/21(日) 16:12:26ありがとう.そうか.まぁ,考えてみればそうだよな.
配列ならできるんだろうが,Vector以外のデータ構造で
>>111でやりたいようなことができるものって,
Java-APIで準備されたもので他に何かないかな?
ううむ.なさそうだな.
Vector初期化のときに捨てデータでも入れておいて,
あとからset()/setElementAt()で設定する,という手ぐらいか.
0115デフォルトの名無しさん
2007/10/21(日) 16:13:050116111
2007/10/21(日) 16:22:44「必要なだけnullでadd」してみたんだが,
これはだめじゃなかったかな.
nullを入れても空と同じ扱いだったような…
(未確認だが)
結局,「Vector初期化のときに捨てデータ」
で試行中.助言ありがとう.
0117115
2007/10/21(日) 16:34:26だめだと思う前に確認しようよ
import java.util.*;
public class XVector<E> extends Vector<E> {
public XVector() {}
public XVector(Collection<? extends E> c) { super(c); }
public XVector(int initialCapacity) { super(initialCapacity); }
public XVector(int initialCapacity, int capacityIncrement) { super(initialCapacity, capacityIncrement); }
public E set(int index, E element) {
while (index >= size()) add(null);
return super.set(index, element);
}
public void setElementAt(E obj, int index) {
while (index >= size()) add(null);
super.setElementAt(obj, index);
}
public static void main(String[] args) {//test
XVector<Object> v = new XVector<Object>();
v.set(10, new Object());
System.out.println(v.size());
System.out.println(v.get(10));
}
}
0118デフォルトの名無しさん
2007/10/21(日) 17:01:16Vector#setSize(int)を使えば初期化時にnullを必要なだけ追加してくれる。
0119デフォルトの名無しさん
2007/10/21(日) 17:04:05Vector#setSize(int)を初期化時に使えば自分で追加するコードを書かなくても
だね
0120デフォルトの名無しさん
2007/10/21(日) 17:16:22list.add("A");
Iterator <String> itr = list.iterator();
while(itr.hasNext())
{
String s = itr.next();
System.out.print(s + " ");
}
ここのwhileはなぜ実行されるのでしょうか?イテレータが指す(ここではA?)次の要素はないですよね?
0121デフォルトの名無しさん
2007/10/21(日) 17:23:49疑問点がよく分からないんだけど、listには要素"A"が1個入ってるんだから、
最初にwhileの条件式を評価する段階ではitr.hasNext()はtrueになるんじゃないの?
0122デフォルトの名無しさん
2007/10/21(日) 17:26:450123デフォルトの名無しさん
2007/10/21(日) 17:30:57もしかして、itr = list.iterator()の段階でitrは"A"を指していると勘違いしている?
itrは"A"の前を指していると思えばいい。それでないとIteratorで全てを取り出すことができないじゃないか。
だから、最初にnext()すると"A"を取り出せる。"A"を取り出せる状態なんだからhasNext()は真になる。
0124デフォルトの名無しさん
2007/10/21(日) 17:32:42ありがとうございます。勘違いしていたようです。
確かに一つ前と考えると納得がいきます。
0125デフォルトの名無しさん
2007/10/21(日) 17:34:45最初にAをさしていると考えてもいいんだが
その場合はhasNextはさしているものがまだある時にtrueを返し
nextはさしているものを返してから次に進むと考えないといけない
0126デフォルトの名無しさん
2007/10/21(日) 17:44:340127デフォルトの名無しさん
2007/10/21(日) 17:54:12今自分は秀丸のCompleteXでコーディングしているのですが、
他にオススメのエディタってありますか?
よろしくお願いします。
0128デフォルトの名無しさん
2007/10/21(日) 17:57:26エディタの良し悪しは使用者の使用スタイルや嗜好が結構決め手になるので
自分がどういうものをエディタに求めているかを示したほうがいい
0129デフォルトの名無しさん
2007/10/21(日) 17:59:56vi
0130デフォルトの名無しさん
2007/10/21(日) 18:04:23使用スタイルとかはまだ決まっていないのですが
関数や文字を入力した際に色で分けてもらえるといいです。
>>129
探してみます。
0131デフォルトの名無しさん
2007/10/21(日) 18:04:40Eclipseでいいじゃん
エディタなんて好み、秀丸に金払っているならば秀丸使えばいい
0132デフォルトの名無しさん
2007/10/21(日) 18:11:09秀丸はちょっと使いにくくて・・・^^;
Elipseってよさそうですね。早速使ってみます。
0133デフォルトの名無しさん
2007/10/21(日) 18:12:14統合開発環境を入れるほどではないと思うなら、
せっかくJavaプログラミングだしjEditでも入れてみたら?
Jeditじゃないよ
0134デフォルトの名無しさん
2007/10/21(日) 18:16:10使いにくいと思うのは構わんが、使いこなしているとは思えんがなぁ・・・
メソッドや文字の色分けなんかは秀丸でも対応しているわけで。
ま、俺もEclipseでいいと思うよ。
0135デフォルトの名無しさん
2007/10/21(日) 18:20:11ありがとうございます。
jEditも使ってみます。
>>134
確かに秀丸は使いこなせてません・・・。
JAVA専用!ってエディタが欲しくて^^;
0136デフォルトの名無しさん
2007/10/21(日) 18:26:11EclipseはIDEだけど、まあJavaのための環境が必要なら、Eclipseは間違いじゃない・・・多少重いのを除けば。
0137デフォルトの名無しさん
2007/10/21(日) 21:58:39例えば、
public void actionPerformed(ActionEvent e){
int r[] =new int [10];
for(i=0;i<10;i++){
r[i] += 5;
}
}
とした場合、その後に作る
public void paint(Graphics g){
}
の中でその配列に入れた値を使いたい場合、どのようにすればいいのでしょうか。
public void paint(Graphics g)
の中でそのままr[0]としても使用することができませんでした。
0138137
2007/10/21(日) 22:10:080139デフォルトの名無しさん
2007/10/21(日) 23:53:58Window#setAlwaysOnTop
0140111
2007/10/22(月) 00:13:22助言を参考にやってみたが,nullで要素を初期化しても
思うように動作しなかった.
null以外の捨てデータを入れてあとから書き換えも考えたが,
結局配列を使うのが最も手軽のように思えるので,
その方向で作業することにした.いろいろありがとう.
0141デフォルトの名無しさん
2007/10/22(月) 00:23:53nullも要素とするようなデータ群を入れるなら、
>>117でnullをaddする代わりにクラス内に適当なprivateオブジェクトをダミーとして作って、
それをaddするようにすればいい。
その場合はgetとかの取り出す系のメソッドもオーバーライドして、
ダミーデータを取り出そうとした場合、例外なりを出すようにすればいい。
てか、もしかして思うように動作しなかったってのは、
nullが入った要素を取り出して何かをやろうとしてNullPointerExceptionが投げられたんじゃ?
0142デフォルトの名無しさん
2007/10/22(月) 00:28:59くどいようだが、なにを実現したいのかが不明だよ。
VecrorなりListは可変長のリストを管理するクラスだし、一般的にその方が使いやすい。
単純にインデックスと値を対応させたいと言うならば、Mapを使うのが筋。
例えば、
HashMap map = new HashMap();
map.put(100, "データ");
map.put(102, "データ2");
と自然にかける。
実現したいのはこっちじゃねーの?
0143デフォルトの名無しさん
2007/10/22(月) 10:59:07>>111
Mapについては書かれてるけど、
仮想配列のイメージならTreeMapの方が良い。
Map<Integer,String> m = new TreeMap<Integer,String>();
m.put(1, "A");
m.put(12, "D");
m.put(3, "B");
m.put(5, "C");
for(int index : m.keySet()){
System.out.println("" + index + " = " + m.get(index));
}
--結果-----------------
1 = A
3 = B
5 = C
12 = D
0144111
2007/10/22(月) 12:08:40なるほど.Map系のクラスが使いやすいね.
Map系クラスだと重くなるかと思い配列かVectorかで
やってしまおうと思っていた.
ほとんど配列でやってしまったのだが,
Map系クラスのほうがスマートだね.
もういちど書き換えることにする.ありがとう.
ついでにご教示願いたいのだが,
Map系クラスを使ったときのメモリ効率とか
生成のためのオーバーヘッドなどは
処理を重くしないのだろうか.
0145デフォルトの名無しさん
2007/10/22(月) 12:15:580146デフォルトの名無しさん
2007/10/22(月) 12:24:09俺もこの問題をMapで対処してたんだが、ずっとHashmap使ってた。
TreeMapの方がパフォーマンスよかったのね、勉強になったわ。
0147デフォルトの名無しさん
2007/10/22(月) 12:26:07アルゴリズムとしては基本だから
0148デフォルトの名無しさん
2007/10/22(月) 12:28:56ハッシュ関数の精度にもよるが実行時間オーダはHashMapの方が優秀
要素数が少なければ大して変わらんが
0149デフォルトの名無しさん
2007/10/22(月) 12:43:36殆ど隙間なく要素が入ってるなら
配列,Listは最小限のメモリ消費、
MapはKey,Entryの分、少し余計に消費する。
隙間が多いなら、
Mapは最小限のメモリ消費、
配列,Listは要素数 * 参照型変数サイズの分、余計に消費する。
どちらも要素数が10万未満ならまず気にすることは無いかと。
拡張のオーバーヘッドはVector, ArrayListが比較的大きい。
LinkedListなら小さいがランダムアクセスの
オーバーヘッドが大きくなる。
Mapは拡張、ランダムアクセス両方とも小さい。
詳細はjavadoc参照で。
>>146
いや、パフォーマンスとかじゃなく、
iterator(for文)の順序がソート済みになるってこと。
HashMapで順序合わせると for(int i=0〜が必要。
SortedMap見ると良いとオモ。
順序保証でパフォーマンス気になるなら
SortedMap + .entrySet()で回すのが最速かと。
0150デフォルトの名無しさん
2007/10/22(月) 12:56:07なるほど、パフォーマンスがよくなる訳じゃないのね。
二分木なんかは一応勉強してたんだけど、インターフェイスがMapだから、ツリーがないと思ってた。
0151デフォルトの名無しさん
2007/10/22(月) 13:40:11アルゴリズムというよりデータ構造の特徴の問題。
挿入時にソートするか、利用時にソートするか。
利用パターンによってどのデータ構造が良いかを考えるのがプログラマの仕事。
0152デフォルトの名無しさん
2007/10/22(月) 13:53:39もうちょっと深くデータ構造を勉強した方が役に立つと思う
0153デフォルトの名無しさん
2007/10/22(月) 14:21:12って何でしょう?
ほっといてもいいですか?
0154デフォルトの名無しさん
2007/10/22(月) 14:22:000155デフォルトの名無しさん
2007/10/22(月) 14:26:151.5以降で、シリアライズしないのが分かっているなら
@SuppressWarnings( "serial" )
でもいい。
0156デフォルトの名無しさん
2007/10/22(月) 16:25:330157デフォルトの名無しさん
2007/10/22(月) 16:29:080158111
2007/10/22(月) 16:33:56移動中に盛り上がっていただいているようで幸いに存じます.
移動中考えましたが,>>149さんご指摘と同じような
メモリ効率に思い至りました.
結局,要素が隙間なく密に並んでいることが保証されるものに
対しては配列を,疎になる可能性のあるものに対してはMapを
使うことに決めました.これに関してはもう書きません.
どうもありがとうございました.
0159デフォルトの名無しさん
2007/10/22(月) 20:26:01重いと思い込むのは一番ダメ
ほとんどは都市伝説なんだから
気になるならば実測、これで解決
いるんだよ、未だにArrayListは遅いから禁止とか言う馬鹿・・・
0160デフォルトの名無しさん
2007/10/22(月) 20:40:12Javaでやるならそれほど神経質になることはないと思うんだけどなあ。
0161デフォルトの名無しさん
2007/10/22(月) 20:42:040162デフォルトの名無しさん
2007/10/22(月) 21:37:20それがハードディスクなのか、リムーバブルディスクなのか、CDドライブなのかなど、
種類を判定する方法ってありますか?
0163デフォルトの名無しさん
2007/10/22(月) 22:11:32リモートメソッド一回呼ぶごとに、
XP より最大 0.2秒のオーバーヘッドが余計につく
VM変えようがファイアウォール切ろうがまるで変化なし
どうしたらいいの〜
0164デフォルトの名無しさん
2007/10/22(月) 22:16:57OutputStreamで書き出した後でいいんでしょうか?
0165デフォルトの名無しさん
2007/10/22(月) 22:18:25ちょっとググったけど、なかなかないねえ。
ドライブの種類を調べて何がしたいの?それを書けば代替えの方法を教えてくれるかもしれないよ。
0166デフォルトの名無しさん
2007/10/22(月) 22:21:55OSレベルでなんらかのセキュリティでも働いているのかね
>>162
たぶん無理
Java6ならばシステム環境変数とか取得できるんで、その辺に情報があれば…って程度。
0167デフォルトの名無しさん
2007/10/22(月) 22:22:56まずは日本語でおk
クライアントが投げるときの処理なのか、サーバーでレスポンスを返すときの処理なのかどちらとも取れないw
0168デフォルトの名無しさん
2007/10/22(月) 22:24:200169デフォルトの名無しさん
2007/10/22(月) 22:24:580171164
2007/10/22(月) 22:45:13クライアントのJAVAアプリです。
0172デフォルトの名無しさん
2007/10/22(月) 22:50:42まずは餅付け。このAAでも見て一息入れるとよろし。
/\⌒ヽペタン
∩ ∩/⌒)ノ ∩ ∩
| |_| | \ (( | |_| | ペタン
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
(O ノ ) ̄ ̄ ̄(.)__ )
)_)_) (;;;;;;;;;;;;;;;;)(_(
おまいらモチツケ!
0173デフォルトの名無しさん
2007/10/22(月) 23:00:10mediaActionが全く呼び出されないんですが
原因は何が考えられるでしょうか…?
0174デフォルトの名無しさん
2007/10/22(月) 23:09:370175162
2007/10/22(月) 23:13:19>>166
ありがとうございます。
Windowsのエクスプローラみたいなものを作ってまして、
純粋にドライブの種類を表示したいんです。
0176デフォルトの名無しさん
2007/10/22(月) 23:15:41どうしてお前らマルチは死なないんだ?
叩いても叩いてもゴキブリのごとく湧いてきやがる。いい加減死ね。
0177デフォルトの名無しさん
2007/10/22(月) 23:20:34勉強していたプログラムはdodaiという教科書の著者が作ったクラスを利用して作られているんですが、
今までできていたものが「Exception in thread "main" java.lang.NoClassDefFoundError: 」と表示され、
できなくなりました。原因は何かと思いコンピュータの復元で探していったんですが、どうやらjavaのアップデート後と、アップデート前で違うようでした。
javaのアップデートで今まで使っていたクラスが急に使えなくなるなんてあるんでしょうか?どなたか回答お願いいたします
0178デフォルトの名無しさん
2007/10/22(月) 23:21:02そうなるともう直接Win32APIを呼ぶしかないな。
それにしても、Javaでエクスプローラを作るってのはまた歌舞いてるな。
どう考えても向いてないぞ?Javaはマルチプラットホームを前提とした言語なんだから、
Windows固有の操作や情報なんかはひどく取得しにくい。めったにこういうことする人間もいないから情報も少ないしな。
まだP/Invokeで呼び出せるC#のほうが向いてる。
0179デフォルトの名無しさん
2007/10/22(月) 23:26:48ソースみてみなきゃ解らんが、コンパイルが通らなくなる事はほとんどないと思うが・・・。
0180179
2007/10/22(月) 23:29:06ふざけたクラス名(dodai)とか、5〜6年前の教科書かと思ったわ
0181デフォルトの名無しさん
2007/10/22(月) 23:30:45それを使って元のバージョンを指定し、コンパイルが通ればアップデートのせい。
通らなければそれ以外の要因。
個人的には>>179と同意見。
0182デフォルトの名無しさん
2007/10/22(月) 23:35:58nio2に期待しながら作り始めてるってのはどうかね?
0183デフォルトの名無しさん
2007/10/22(月) 23:37:57javaの実行において、以前はできていたのですが、新しいアップデートでできなくなったんです。
表示されたのは
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
でした。
0184デフォルトの名無しさん
2007/10/22(月) 23:54:03ずっとEclipse使ってたせいで、コマンドラインのエラーはあんまり見ないんだが、
実行しようとしてるファイルにMainメソッドがないと言ってるんじゃないか?
本当にMainが含まれたバイナリコードかもう一度確認しな。
0185デフォルトの名無しさん
2007/10/22(月) 23:55:440186183
2007/10/23(火) 00:10:54ソースコードは
class FusenExec {
public static void main(String[] args){
//一枚目の付箋の土台
Dodai fusen1 = new Dodai();
fusen1.setSize(200,50);
fusen1.setLocation(0,0);
fusen1.setVisible(true);
//二枚目の付箋の土台
Dodai fusen2 = new Dodai();
fusen2.setSize(100,20);
fusen2.setLocation(50,100);
fusen2.setVisible(true);
//三枚目の付箋の土台
Dodai fusen3 = new Dodai();
fusen3.setSize(50,50);
fusen3.setLocation(300,50);
fusen3.setVisible(true);
}
}
で、コンパイルは通るのですが、実行しようとすると
C:\JavaGOGO>cd Sample3-3
C:\JavaGOGO\Sample3-3>javac FusenExec.java
C:\JavaGOGO\Sample3-3>java FusenExec.java
Exception in thread "main" java.lang.NoClassDefFoundError: FusenExec/java
という上記のエラーが出るんです。これがdodaiというクラスを利用しないプログラムなら問題なく実行できるのですが、
このdodaiというクラスが入っているこのプログラムだと実行できないんです。
そしてこれはjavaのアップデート前では実行できたのですが、アップデート後では実行できなくなりました。
0187183
2007/10/23(火) 00:13:53C:\JavaGOGO\Sample3-3>java FusenExec
Exception in thread "main" java.lang.NoClassDefFoundError: Dodai
at FusenExec.main(FusenExec.java:5)
こちらが正しいほうです
0188デフォルトの名無しさん
2007/10/23(火) 00:14:28俺の勘違いでなければ、
C:\JavaGOGO\Sample3-3>java FusenExec
のように、実行時に指定する文字列はクラス名だったはずだが。
0189デフォルトの名無しさん
2007/10/23(火) 00:22:19Windows であれば、javax.swing.filechooser.FileSystemView#getSystemTypeDescription(File f)
を使えば、3.5インチフロッピーディスク、ローカルディスク、 CDドライブ、ぐらいならとれる。
DVDドライブでもCDドライブって表示されるけど。
0190デフォルトの名無しさん
2007/10/23(火) 00:30:41→
java FusenExec
0191デフォルトの名無しさん
2007/10/23(火) 00:32:13に1票
0192デフォルトの名無しさん
2007/10/23(火) 00:35:300193163
2007/10/23(火) 00:42:53メーカ製もしくはサードパーティ製の何かが悪いのか・・・
いろいろ消したり止めたりしたんだけどなぁ〜
0194デフォルトの名無しさん
2007/10/23(火) 00:51:00何故問題なく実行できたのかはわかりませんが、とりあえず解決いたしました。皆様どうも迷惑をかけました。
0195デフォルトの名無しさん
2007/10/23(火) 01:00:29そんなわけあるかああああああああああ。
そんな解決間違っとる!!!!!!!!!
帰ってこんかい。
0196デフォルトの名無しさん
2007/10/23(火) 01:31:310197デフォルトの名無しさん
2007/10/23(火) 07:31:460198デフォルトの名無しさん
2007/10/23(火) 07:43:56後はクラスパスに余計なのが指定されている、ってのが定番か
0199デフォルトの名無しさん
2007/10/23(火) 08:08:42ためになるサイトを教えて戴けないでしょうか。
Javaで書かれたサンプルプログラムや、アプレットとかがあると嬉しいです。
0200デフォルトの名無しさん
2007/10/23(火) 10:24:36ありがとう解決した。
0201デフォルトの名無しさん
2007/10/23(火) 10:41:32されたセッションが有効か無効か判定する方法はあるでしょうか?
0202デフォルトの名無しさん
2007/10/23(火) 12:27:11汎用的なデータクラスDataの設計を考えています。
このDataのインスタンスはString, int, double, long のどれかの配列とデータの名前を保持しており、
他のクラスなどで使用されます。それらのクラスでは、void method(Data[] data)などとまとめて
受け取ったデータをその実際のデータの型に応じてそれぞれ処理を行います。
これらのデータ型はどれを使うかは実行時にしか分からないので、あらかじめ指定はできません。
また、返り値があるメソッドを作りたいので、継承によるポリモーフィズムもうまく使えない気がします。
よって、この場合やむなく、
abstract class Data{
private String name;
Data(String name){this.name = name;}
String getName{return this.name}
}
class IntData extends Data{
private int[] data;
IntData(String name, int[] data){
super(name);
this.data = data.clone();
}
int[] get(){return this.data.clone();}
}
class StringData extends Data{....
として、使用クラス側でif(data instanceof IntData)などで場合分けすると、なんかスマートでは無いですし、
一方、Genericsを使ってみても総称型は実行時に型判定できないようですので今回の用途には向かないようです。
原因として設計が下手なのでしょうが、もし定石やスマートな方法があればご教示頂ければ幸いです。
0203163
2007/10/23(火) 12:33:21Autoでなく10MB Half にすると快適
ドライバ最新なんだけど・・・
IE は別段問題なかったので
やりとり頻繁だったから、とか UDP(使ってるの?)だから、とかそんなことみたい
0204デフォルトの名無しさん
2007/10/23(火) 12:44:13いい手かはわからんが、Genericsと継承を組み合わせて作る。
private class BaseData<DataType> {
private String name;
private DataType[] data;
public BaseData(String name, DataType[] data) {
this.name = name;
this.data = data;
}
public String getName() {
return this.name;
}
public DataType[] getData() {
return data;
}
}
class StringData extends BaseData<String> {
public StringData(String name, String[] data){〜
}
以下同様。
0205デフォルトの名無しさん
2007/10/23(火) 12:47:02こんなのとか。
interface DataVisitor {
void visit(IntData data);
void visit(StringData data);
}
abstract class Data { abstract void accept(DataVisitor visitor); }
class IntData extends Data{ void accept(DataVisitor visitor){ visitor.visit(this); }}
class StringData extends Data{ void accept(DataVisitor visitor){ visitor.visit(this); }}
void method(Data[] data) {
for (Data datum: data) {
datum.accept(new DataVisitor(){
void visit(IntData intData) { ... }
void visit(StringData stringData) { ... }
});
}
}
0206205
2007/10/23(火) 12:48:21継承のポリモーフィズムを両立できる。
欲しい型のDataクラスを、継承によって作成し、
データ型によって処理を分けたいところは、ポリモーフィズムを使って各クラスに処理させる。
わかっていると思うが、GenericsではIntegerとかDoubleでボクシングするのを忘れるなよ。
0208デフォルトの名無しさん
2007/10/23(火) 14:28:28common-langっていう便利なやつがあって重宝してるんだけど、
C:\Program Files\Java\jdk1.6.0_03\lib においてたせいで、バージョンがあがるたびにパスを変更しなくちゃならない。
ここにおけば便利とか、そういうコツみたいなのあるんだろうか?
0209デフォルトの名無しさん
2007/10/23(火) 15:32:51今までSQLServer2005に混合モードでTorque3.0.2で接続してて問題なかったんですが、
Windows認証モードにしたところ、DBのオブジェクトが生成されずNullPointerExceptionになりました。
Jdbc2Poolを使ってたんですが、ここの設定をどう変えればWindows認証に対応できるのか、
教えてください!
他のサイトとマルチでスイマセン・・・
若干追い詰められてます(´・ω・`)
0210デフォルトの名無しさん
2007/10/23(火) 15:38:05マウスが押されたの事をフレーム外で把握できるような命令はないでしょうか…?
0211デフォルトの名無しさん
2007/10/23(火) 15:43:41Vistaのドライバはまだ信用できないからな。
めげずにがんばってくれ。
0212209
2007/10/23(火) 15:47:29torque.dsfactory.xxxx.pool.defaultMaxActive=10
torque.dsfactory.xxxx.pool.testOnBorrow=true
torque.dsfactory.xxxx.pool.validationQuery=SELECT 1
torque.dsfactory.xxxx.connection.driver = oracle.jdbc.driver.SQLServerDriver
torque.dsfactory.xxxx.connection.url =jdbc:microsoft:sqlserver://xxxxx:1433;DatabaseName=xxxxx;SelectMethod=cursor
torque.dsfactory.xxxx.connection.user = xxxx
torque.dsfactory.xxxx.connection.password = xxxx
確かこんな内容だったと思います。
connection.urlのあたりはちょっとうろ覚えです;;;
2005用に直してあります。
0213デフォルトの名無しさん
2007/10/23(火) 16:12:41ない。
プラットフォーム依存になるけどネイティブコードでシステムのイベントをフックしてみるとか。
0214デフォルトの名無しさん
2007/10/23(火) 16:39:13SQLServer2005は全く使ったことがないけど、この辺見ると、
Windows認証を使う場合は、URLにパラメタを加える必要があると読める。
ttp://msdn2.microsoft.com/ja-jp/library/ms378988.aspx
ttp://msdn2.microsoft.com/ja-jp/library/ms378956.aspx
integratedSecurity=trueがアヤスイ。
まずはドキュメント読んで試してみたら?
0215デフォルトの名無しさん
2007/10/23(火) 19:07:25ありがとうございます
お教えに従っていろいろ試行錯誤してみてました。お礼が遅くなって済みません
0216デフォルトの名無しさん
2007/10/23(火) 21:47:060217209
2007/10/23(火) 22:14:22情報ありがとうございます。
残念ながらintegratedSecurity=trueで解決できませんでした・・・ショック
うーん、ヤバイ(´・ω・`)
色々やってみます
0218デフォルトの名無しさん
2007/10/24(水) 00:17:33進むにはどうしたらよいですか?
処理1
buttonが押されるまで待機
処理2
考えたのが、
処理1
0219218
2007/10/24(水) 00:20:02下記のようにbuttonが押されるまで待機して、押された後に処理2に
進むにはどうしたらよいですか?
処理1
buttonが押されるまで待機
処理2
考えたのが、 下記なんですけどwhileループが無駄に重い気がして
処理1
while(not_pushed){
}
処理2
public void actionPerformed(ActionEvent e){
not_pushed=false;
}
0220デフォルトの名無しさん
2007/10/24(水) 00:22:08お絵かき掲示板に投稿しようとすると
access denied (java.net.SocketPermission (数字)connect.resolve)
というエラー文が出てきて投稿できなくなるんです
心当たりのある方、お願いします
0221デフォルトの名無しさん
2007/10/24(水) 00:34:55なんでそんなことする必要があるんだ?
ボタンをリスナーに登録すりゃいいんじゃないの?
JButton jButton = new JButton();
jButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
処理2;
}
});
0222デフォルトの名無しさん
2007/10/24(水) 01:01:29GUIプログラミングをやるならイベント駆動の考え方に慣れておいた方がいいよ
0223デフォルトの名無しさん
2007/10/24(水) 01:52:03突っ込みだけ
>また、返り値があるメソッドを作りたいので、継承によるポリモーフィズムもうまく使えない気がします。
ジェネリクスの導入の副作用として、シグネチャだけでなく返り値もそのサブクラスなら上書きできる。
0224デフォルトの名無しさん
2007/10/24(水) 02:00:09MessageBox 使えば簡単だよ
0225210
2007/10/24(水) 02:58:07返事が遅くなりすみませんでした。
軽く調べてみた結果、JNIみたいですね…。今まで足を踏み入れた事がない部分なので正直焦っています…。
とにもかくにも、ありがとうございました。
0226デフォルトの名無しさん
2007/10/24(水) 09:31:15関係ないかもしれないけど、関連質問
Object#clone()は、publicでオーバライドして、Cloneableをimplementsして
Hoge copy = (Hoge)hoge.clone()
とするのがこれまで定石だったけど、
@Override
public Hoge clone(){・・・
としておkになって、キャスト不要で問題なしでハッピーってこと?
clone()の使い方をぐぐるとどこもキャストしてるのでいまいち自信ないのさ
0227デフォルトの名無しさん
2007/10/24(水) 10:48:230228デフォルトの名無しさん
2007/10/24(水) 11:06:54そのあたりは、これから作られるクラスはハッピーになるが、
これまでに作られたクラスは互換性維持のため従来通り。
ArrayDeque#clone() の戻り値は ArrayDeque だけど ArrayList#clone() の戻り値は Object。
Javadoc みてみ。
0229デフォルトの名無しさん
2007/10/24(水) 11:35:03そうなんだ!
でも互換性維持ってどういう事だろう?
ArrayList#clone()の戻り値をArrayListに換えちゃっても、
これまでのソースでキャストもObjectへの代入も問題ないと思うんだけど
instanceof での比較が引っかかるからダメって事かな?
0230デフォルトの名無しさん
2007/10/24(水) 11:49:46class MyList extends ArrayList {
public Object clone() { ... }
}
っていうコードが、ArrayList#clone の戻り値が ArrayList に変わると、通らなくなってしまう
戻り値を緩める方向にオーバーライドすることは出来ない
0231デフォルトの名無しさん
2007/10/24(水) 12:06:00Dodai at FusenExec.main(FusenExec.java:5)
FusenExecのメインクラス内のDodaiクラスがないって。
Dodaiクラスもコンパイルしないとだめだよ。
超亀レスだけど。
0232デフォルトの名無しさん
2007/10/24(水) 12:11:16あ、なるほどそこですね。勉強になります
しかし、それぐらいだったらコンパイルエラーで修正も楽だしエンバグもなさそうだし
ごめんね、と一言断ってから互換無視して強行しちゃったほうがライブラリ的には綺麗な気がしますね
0233デフォルトの名無しさん
2007/10/24(水) 12:20:260234デフォルトの名無しさん
2007/10/24(水) 12:23:15ACKパケットは自動で送ってくれますか?
0235デフォルトの名無しさん
2007/10/24(水) 12:31:11Javaは互換性を重要視してるからね。
新機能を導入するときも、細心の注意を払ってしてるし。
0236デフォルトの名無しさん
2007/10/24(水) 13:55:54??
0237デフォルトの名無しさん
2007/10/24(水) 15:06:54何のサーバかも書かずに答えられるわけが無いが、
一般的に考えて、正常なら送ってくる、異常なら送ってこない。
0238デフォルトの名無しさん
2007/10/24(水) 17:15:41バージョン情報を見ると、
1.6.0_03-b05と出ているのですが、
よろしいのですか?
私的には1.6.3になるものと思っていたので。
Updateは「_」後の数字なのでしょうか?
0239デフォルトの名無しさん
2007/10/24(水) 17:34:37ありがとうございます。パケットキャプチャーではSYNやACKパケットが見られるんですが、
ソケットのInputStreamには何も来ないので、JavaVMが自動で対応しているんですよね?
0240デフォルトの名無しさん
2007/10/24(水) 17:45:01アップデートする時って普通リリースノートを読むものじゃないのか?
ttp://java.sun.com/javase/ja/6/webnotes/ReleaseNotes.html
0241240
2007/10/24(水) 17:50:17ttp://java.sun.com/javase/6/webnotes/ReleaseNotes.html
0242デフォルトの名無しさん
2007/10/24(水) 18:00:17updateは_03
ビルド番号はb05
ビルド番号は、ターゲットリリースごとに付けられるらしいです。
0243デフォルトの名無しさん
2007/10/24(水) 18:10:27ありがとうございます。安心しました。
なるほどです。
0244218
2007/10/24(水) 18:53:31ありがと。
処理1をやってる間はbuttonを押しても処理1は継続、
処理1後にbuttonを押されたら処理2を開始
ってのがしたいのです。
“イベント駆動”っていう考え方に慣れてないのかも。
MessageBoxとかその他をもう少し調べてみます。
0245デフォルトの名無しさん
2007/10/24(水) 19:57:56JAVAがいいといわれたので勉強したいのですが、
お勧めの書籍はあるでしょうか?
0246デフォルトの名無しさん
2007/10/24(水) 20:32:12access denied (java.net.SocketPermission ***connect.resolve) (***はIPと思しき数字)
ってでてくるんですがこれなんでしょうか…投稿できません
どなたがお願いします
0247デフォルトの名無しさん
2007/10/24(水) 20:39:13しつけえ、一度質問してダメだったらあきらめろ。
0248デフォルトの名無しさん
2007/10/24(水) 20:52:00すみません 確かにしつこいのは承知ですが…
0249デフォルトの名無しさん
2007/10/24(水) 20:52:35Serializeを使わずclone()を使う方法で一般的な方法はありますか?
一つ一つとりだしてclone()してもいいんですが、
より良い手段があれば紹介してください。
0250デフォルトの名無しさん
2007/10/24(水) 21:29:21Serializeを使うのも一般的ではない。
0251デフォルトの名無しさん
2007/10/24(水) 21:30:050252デフォルトの名無しさん
2007/10/24(水) 21:48:58どこの絵板だよ
それで答えが返ると思っているのが間違い
0253デフォルトの名無しさん
2007/10/24(水) 22:03:08Graphics g = strategy.getDrawGraphics();
Graphics2D g2 = (Graphics2D)g;
...
}
のように2Dグラフィックを使って描写しているのですが、
描写が増えるに従ってかなり重くなるように感じます。
for文、if文とメソッド呼び出しを大量に使っているせいだと思い出来る限り減らしていますが、
javaの処理で最もCPUを使うのはどういった命令文でしょうか。
抽象的な質問ですいませんが、軽くするテクニックを教えてください。
分かりにくければソースごと上げてみます。
0254デフォルトの名無しさん
2007/10/24(水) 22:04:16プロファイリングしる
0255デフォルトの名無しさん
2007/10/24(水) 22:06:190256デフォルトの名無しさん
2007/10/24(水) 22:07:54それほど長くなければソースごと挙げた方がいいと思う。的確にボトルネックを指摘してくれるはず。
一般論で言わせてもらうと、もともとJavaは描画系が早くない。
でも、それをふまえた上で重いといってるんだとしたら、アルゴリズムに問題があるか、
そもそも無茶なプログラムを書いてるかのどちらかだと思う。
0257デフォルトの名無しさん
2007/10/24(水) 22:16:04while(trur)
{
Byte by = readByte();
switch(by)
{
case ADD_INT:
処理
break:
case SUB_INT:
処理
break:
case IF:
処理
break
}
}
といった形で、1バイトのイベントを見て、switchで切り分けて処理する。というのを繰り返すだけの単純なものです。
携帯電話上(iアプリ)で動かしているのですが、かなり遅いのです。
遅い原因は調べた限り2点ありまして
■readIntが遅い
GOTO命令で前に戻ったりするので、DataInputStreamが使えず、自前で
int n = (readByte() << 24) | (readByte() << 16) | (readByte() << 8) | readByte();
とやっており、これが遅い。
※readByte()は独自の、現在の読み取りポイントのByteを1Byteもってきて、読み取りポイントを進める関数
■switchが遅い
ジャンプテーブルが作られて高速化されるかな…と思っていたのですがJavaはそうではないのでしょうか?
意外と遅いです
改善のアドバイスいただけないでしょうか。よろしくお願いします
0258ジャズ紳士 ◆rHkT/SfI7A
2007/10/24(水) 22:19:12オブジェクト指向から外れることになるよな?
この矛盾、おまえらどう説明つけるわけ?
0259デフォルトの名無しさん
2007/10/24(水) 22:19:52ちょっっwおまwwww
JavaVM上でバーチャルマシン走らせるとかどれだけ酔狂なんだよwwww
っていうか、メリットねえwww
0260デフォルトの名無しさん
2007/10/24(水) 22:23:13オブジェクト指向であってオブジェクト原理主義ではない
0261ジャズ紳士 ◆rHkT/SfI7A
2007/10/24(水) 22:33:01じゃあStaticな共通関数クラスなんて作っちゃうんだ?
0262デフォルトの名無しさん
2007/10/24(水) 22:35:190263デフォルトの名無しさん
2007/10/24(水) 22:35:260264デフォルトの名無しさん
2007/10/24(水) 22:37:22そんなどうでもいいとこじゃなくて
0265デフォルトの名無しさん
2007/10/24(水) 22:38:01それに何か問題でも?
0266253
2007/10/24(水) 22:38:17プロファイリングについて少し調べてきます。
>>256
長いのかはわかりませんが、900行ちょっとあったので
直接は貼れません。アップローダ探してきます。
どのくらいが無茶なプログラムか、自分では判断がつかないので・・。
0267デフォルトの名無しさん
2007/10/24(水) 22:39:04おきのどくですがあなたからの接続は拒否されました
0268デフォルトの名無しさん
2007/10/24(水) 22:39:38現にjava.lang.Mathはそうだし。
逆に実体のある概念をstaticにするのは馬鹿ばかしすぎる。
それだけだろ。
static無かったらSingleton実現できないしな
0269デフォルトの名無しさん
2007/10/24(水) 22:43:190270デフォルトの名無しさん
2007/10/24(水) 22:43:51セキュリティポリシーに引っかかってるのかもな
俺はエスパーじゃないので全く分からん
>>266
eclipseにtptpでも入れとけ
0271デフォルトの名無しさん
2007/10/24(水) 22:48:01なげえ、一つのクラスで900行は長すぎるよ、スレッガーさん・・・。
まあ冗談はおいといても、そのdraw部分だけでどれくらいあるんだ?
そこだけで何百行もあるなら、クラス化や関数化できてないと思わざるを得ない。
再利用できるところや意味的に分離できるところはクラス化、関数化しないとバグも増えるよ。
0272デフォルトの名無しさん
2007/10/24(水) 22:51:54確かに贅沢なんですけど
「アプリは1つ。サーバーがコードを吐き出すことで、クライアントアプリを自由自在に動かしたい」
という要望でして…。
0273253
2007/10/24(水) 22:52:11ここの up9020.zip に上げてみました。
>>271
描写部のみでは190行程度あります・・
間違っているかもしれませんが、
3Dクラスを使うには別途インストールが必要ということで、
友達に見て貰うとき手間にならないよう全部2Dで表現したのです。
やはり冗長でしょうか。
0274デフォルトの名無しさん
2007/10/24(水) 22:54:07行数だけで判断するなよ
0275ジャズ紳士 ◆rHkT/SfI7A
2007/10/24(水) 22:54:280276デフォルトの名無しさん
2007/10/24(水) 22:56:15PushbackInputStreamはつかえねーの?
switchの代わりにハッシュマップはつかえねーの?
0277デフォルトの名無しさん
2007/10/24(水) 22:56:510278デフォルトの名無しさん
2007/10/24(水) 22:57:54チラ見だけしたが、どうにも同じような関数が多いなあ。
もっと再利用できるところがいっぱいあるはず。
0279253
2007/10/24(水) 23:00:20はい、精進します・・。
追記、描写に関係ないかもしれませんが、
カーソルキーで移動、
Shift+カーソルキーorShift+z,xで回転、
エンターで視点変更できます。・・多分。
0280デフォルトの名無しさん
2007/10/24(水) 23:01:410281デフォルトの名無しさん
2007/10/24(水) 23:02:11少し動かしてみたけど、なかなかおもしろいもの作ってるなあ。
ちょっとリファクタリングしてみるから期待せずに待ってろ。
ちなみに放置してねるかも試練から、レスがつかないからって恨むなよ。
0282デフォルトの名無しさん
2007/10/24(水) 23:04:33JPanel継承したらpaintComponentオーバライドしろ
0283253
2007/10/24(水) 23:13:22何かを読んでそうしたと思ったのですが忘れてしまいました。
よく考えると確かにstaticで無くても良い気がします。
>>281
よろしくお願いします。
>>282
最初にpaintComponentを使ってみて、
repaintを使うと思い通りのタイミングで描写できず、
調べて見たところ自分で作るといいとあったので使ってみました。
0284デフォルトの名無しさん
2007/10/24(水) 23:14:28ごめん、リファクタリング無理だわ。
つっこみどころが多すぎてどこから手を付ければいいのかわからん。
例えば、TetrisMainの80行目あたり、押されたキーの識別に実数使ってるけど、これって何か意図があってやってるの?
普通は、 if (code == e.VK_AみたいにKeyEvent上で定義されてる定数を使うものだよ。
全体を見た感じからすると、C言語から移ってきた人じゃない?
それなりに動いてるところからすると、実力はあるみたいだけど、
いかんせんJavaをほとんど理解せずに書いてるから、Javaの長所を殺してる感じだなあ。
今でこれだけ動くものが作れるんだから、OOPやJava言語の仕様を理解すればもっとスマートにかけると思う。
0285253
2007/10/24(水) 23:26:18ありがとうございました。
私はeclipseを使っているのですが、
そのcodeを定数にしたのは、e.VK_Z等を使った時警告が出て、
内容を考えても理解し難かったため、暫定的に定数を置いているものでした。
API仕様の説明から見ておかしいとは思ったのですが、
先におおまかに動作するよう作りたかったので、
迷った末警告の出ない方にしました。直しておきます。
もっとjavaを勉強してから出直してきますね・・
0286253
2007/10/24(水) 23:29:480287デフォルトの名無しさん
2007/10/24(水) 23:32:59Eclipse使ってるならフォーマット機能も使った方がいい。C-S-Fのショートカットで実行できる。
3.3では保存時に自動でフォーマットしてくれる機能もついたからマジおすすめ。
まあイコールの桁をそろえたいとか思うかも試練が、なれればこっちの方がよっぽど便利。
0288デフォルトの名無しさん
2007/10/24(水) 23:35:06フォーマットしないアホに強制させるという点は評価できるんだけど、1ラインごとに保存する自分にはうざったい。
自分だけ切るわけにもいかないからなぁ
0289デフォルトの名無しさん
2007/10/24(水) 23:37:59>最初にpaintComponentを使ってみて、
そいつはすまなかった。
でもこの程度のスピードならアクティブレンダリング使わなくてもpaintComponent + JPanel#repaintいけると思うんだけどね
0290デフォルトの名無しさん
2007/10/24(水) 23:49:02了解です。
いままでどおり地道にやることにします。
0291デフォルトの名無しさん
2007/10/25(木) 00:18:54面白そーだね
0292デフォルトの名無しさん
2007/10/25(木) 00:38:31使い込まれたライブラリだからバグもないし、気にしていたスピードも段違いに上がる。
リリース時はjarファイルに入れてしまえばライブラリを使っててもJREさえあればどこでも動くし(はず)。
0293デフォルトの名無しさん
2007/10/25(木) 02:13:09Process p = pb.start();
int ret = p.waitFor();
System.out.println("終了");
とすると、リナックスでは最後に終了と表示されるまで動作するのですが、
ウインドウズだと(おそらくwaitFor()のところで止まり)途中で止まります。
タスクマネージャで確認するとプロセス(上記で言う”ある実行ファイル”)は動いているようなのですが、
いつまで経っても終わりません。 かといって落ちているわけでもないようですし。。。
ウインドウズの場合は何が起こっているのでしょうか?
0294デフォルトの名無しさん
2007/10/25(木) 03:31:350295デフォルトの名無しさん
2007/10/25(木) 03:33:26ある実行ファイルが終わらなければwaitから抜ける訳ありません。
ある実行ファイルが悪の根源です。
そいつを何とかしてください。ウィンドウズがどうこう以前のもんだいです。
0296デフォルトの名無しさん
2007/10/25(木) 09:27:51もういないかもしれないけど、プロファイル取ってみた。
draw で食いつぶされてる。
単に描画が多すぎるだけみたいだから、
ブロックをあらかじめ Image で持っておいてコピーするとか
下で固まったブロックを毎回再描画しないようにするとかする必要があると思う。
0297293
2007/10/25(木) 11:26:16「ある実行ファイル」ではログを吐くようになっていて、今回のケースではログが一切出力されません。
「ある実行ファイル」の最初で止まっているような雰囲気です。
ちなみに、この「ある実行ファイル」はウインドウズから直接実行できることは確認しました。
このリナックスで動作し、ウインドウズでも直接なら動作する「ある実行ファイル」がやはり悪いのでしょうか?
0298デフォルトの名無しさん
2007/10/25(木) 13:55:06それはやっぱりある実行ファイルのある場所に悪いところがあるんじゃないかな。
0299デフォルトの名無しさん
2007/10/25(木) 14:36:450300デフォルトの名無しさん
2007/10/25(木) 14:40:04もし存在するなら強制停止して続きが実行されるか確認すれ。
0301デフォルトの名無しさん
2007/10/25(木) 15:19:44標準出力や標準エラー出力に文字列残ってるんじゃね?
p.getInputStream().close(); p.getErrorStream().close();
int ret = p.waitFor();
とかして明示的に破棄してからサブプロセス終了待ってみれば?
0302デフォルトの名無しさん
2007/10/25(木) 16:07:25ある会社のある人が作ったあるプログラムがあるところで止まったまま動きません。
どうしたらいいですか?
0303デフォルトの名無しさん
2007/10/25(木) 16:09:000304デフォルトの名無しさん
2007/10/25(木) 16:11:250305デフォルトの名無しさん
2007/10/25(木) 16:16:06ある人に相談する。
0306デフォルトの名無しさん
2007/10/25(木) 16:18:41辞表を提出する
0307デフォルトの名無しさん
2007/10/25(木) 16:40:000308デフォルトの名無しさん
2007/10/25(木) 16:59:01ある業務に重要なため止まってしまうと大変困ったあるよ。助けてほしいあるよ。
0309デフォルトの名無しさん
2007/10/25(木) 17:15:49上司はにちゃんに書き込んで助けを求めろって言ったのかい?勝手な事をしたら後で問題になるかもよ。
0310デフォルトの名無しさん
2007/10/25(木) 17:17:270311デフォルトの名無しさん
2007/10/25(木) 17:36:580312デフォルトの名無しさん
2007/10/25(木) 18:17:55バックアップファイル名は変更できないのでしょうか?
デフォルトだと XXX.log.YYYY-MM-DD となっているやつです。
0313デフォルトの名無しさん
2007/10/25(木) 18:46:23マニュアル嫁
0314デフォルトの名無しさん
2007/10/25(木) 18:55:06「詳解Javaプログラミング」という本を読んで勉強しています。
myfileというプロパティファイルと、以下のような、LogTest.javaというソースファイルを作成し、
--LogTest.java--
import java.util.logging.Logger;
public class LogTest {
public static void main(String[] args){
Logger logger = Logger.getLogger("prv.tagawa.LogTest");
logger.severe("Power lost -- running on backup!");
logger.warning("Database connection lost, retrying ... ");
logger.info("Start up completely");
logger.config("Server configuration: standalone, JVM version1.4");
logger.fine("Loadig graphing package");
logger.finer("Doing pie chart");
logger.finest("Starting bubble sort: value = " + 42);
}
}
--myfile--
# Set the default logging level
.level = FINEST
# Direct output to the console
handlers = java.util.logging.ConsoleHandler
java -Djava.util.logging.config.file=myfile.properties LogTest と実行したのですが、コンソール上に何も応答がありません。
java LogTestのときは、INFOレベル以上の出力があるのですが、propertiesファイルの設定がおかしいのでしょうか?
どなたか教えてください。
0315デフォルトの名無しさん
2007/10/25(木) 19:06:30実行しているディレクトリの構成(ソースの場所、クラスファイルの場所、myfileの場所)を書くべし
多分、myfile.propertiesが参照できていないんだと思われ
0316デフォルトの名無しさん
2007/10/25(木) 19:14:37ソースのある場所:同じ場所
myfileのある場所:同じ場所
クラスファイルのある場所:同じ場所
です。
0317デフォルトの名無しさん
2007/10/25(木) 19:20:150319デフォルトの名無しさん
2007/10/25(木) 22:18:55本には「サーバが開始したら、GenericClientを使ってこれらのサービスに接続できます。」とあるのですが
例えばどのようなhostとportを入力したら接続できるのかわかりません。
教えてください。
GenericClientのコマンド
java GenericClient <hostname> <port>
Server.java
http://intranet.cs.man.ac.uk/software/java/JavaExamples2/com/davidflanagan/examples/net/Server.java
GenericClient.java
http://intranet.cs.man.ac.uk/software/java/JavaExamples2/com/davidflanagan/examples/net/GenericClient.java
0320デフォルトの名無しさん
2007/10/25(木) 22:27:57System.err.println("Usage: java Server " +
"[-control <password> <port>] " +
"[<servicename> <port> ... ]");
0321319
2007/10/25(木) 22:34:26Serverのコマンドは
java Server -control secret 3000 Server$Time 3001 Server$Reverse 3002
です。
0322デフォルトの名無しさん
2007/10/25(木) 22:38:48portは自分で指定しているだろ 3000と。
hostは質問しても解るわけねーだろwww
同じマシンでやってるならばlocalhostだが
0323デフォルトの名無しさん
2007/10/25(木) 22:42:01Usage: java Server
[-control <password> <port>]
[<servicename> <port> ... ]
これ
java Server -control secret 3000 Server$Time 3001 Server$Reverse 3002
よーく見比べてみよう。
0324デフォルトの名無しさん
2007/10/25(木) 22:44:17java 以前にネットワークを勉強してからでないと、サーバプログラミングは無謀すぎるよ。
0325319
2007/10/25(木) 22:58:28java Server -control secret 3000
ということですか?
すみません。どんなことを指摘してくださってるのかわかりませんでしたorz
>>322
java GenericClient localhost 3000で接続できました。
3001,3002も同様です。
ありがとうございます!
>>324
なるほど。。。
コレを機に勉強しようと思います。
回答してくださった方ありがとうございました。
0327デフォルトの名無しさん
2007/10/26(金) 02:15:37システムを作っているのですが、データ変換するときに何らかの推論機能を
追加しようと思うのですが、何かいい推論機能があれば教えてください。
よろしくお願いしま〜す
0328デフォルトの名無しさん
2007/10/26(金) 02:36:05入力補完でもしてくれんのかね?
0329デフォルトの名無しさん
2007/10/26(金) 07:22:02データ変換だけじゃどういう変換をしてるのか誰もわからん。
何を分析するの?推論ってどうなることを推論したいの?
要するになーんもわかんねーんだろ?っっっww
0330デフォルトの名無しさん
2007/10/26(金) 08:57:13冷たい、何のためのスレだ?
0331デフォルトの名無しさん
2007/10/26(金) 09:20:53プログラムは、問題に1〜3のボタンを押すことで答える三択問題ゲームで、合計10問。
最後に正解数が得点として表示されます。
もしよろしければ、アドバイス等いただけませんでしょうか。
ホントにテンパってます。よろしくお願いします。
import com.nttdocomo.ui.*;
import java.util.*;
//kakezan(キャンバス)
public class B extends Canvas {
//シーン定数
private final static int;
S_title =0,//タイトル
S_play =1,//プレイ
S_kekka =2,//得点画面
//システム
private static int keyEvent //キーイベント
private static Graphics g; //グラフィックス
0332デフォルトの名無しさん
2007/10/26(金) 09:21:51void exe(){
string str;
Image img;
try{
//システム
int scene =S_title;
int init =S_title;
int stage =1;
long sleepTime =0L;
g=getGraphics();
//イメージの読み込み
Image[] image=new Image[12];
for(i=0;i<13;i++)image[i]=getImage(i+".gif");
//バックライトオン
PhoneSystem.setAttribute(
PhoneSystem.DEV_BACKLIGHT,
PhoneSystem.ATTR_BACKLIGHT_ON);
}
//共通の初期化
scene =init;
init =-1;
keyEvent=-999;
}
//アプリの終了
if(keyEvent==Display.key_soft0){
IApplication.getCurrentApp().terminate();
}
0333デフォルトの名無しさん
2007/10/26(金) 09:22:34if(scene==S_TITLE){
//キーイベント
if(keyEvent==Display.KEY_soft1)init=S_1;
//プレイの処理
else if()
int[] tensu = new int [9];
if(scene==S_1){
if(keyEvent==Display.KEY_soft1)init=S_2;
tensu[1]=1;
else if(keyEvent==Display.KEY_soft2)init=S_2;
tensu[1]=0;
else if(keyEvent==Display.KEY_soft3)init=S_2;
tensu[1]=0;
else()
2〜10同様
if(scene==S_kekka){
g.drawString("合計 = "+tensu[1]+tensu[2]+tensu[3];tensu[4]+tensu[5]+tensu[6]+tensu[7]+tensu[8];tensu[9]+tensu[10]+" 点");
if(keyEvent==Display.KEY_SELECT)init=S_title;
}
0334デフォルトの名無しさん
2007/10/26(金) 09:27:55要件のことはボウリング板にでも言って聞いた方がいいんじゃないか
0335デフォルトの名無しさん
2007/10/26(金) 09:30:34コンパイルすら通らないし、com.nttdocomo.ui.*; ってなんだ?
携帯用のアプリか?
Javaの文法とかを学習した上で携帯アプリ作れ、な。
0336デフォルトの名無しさん
2007/10/26(金) 10:17:40それで本買ってやってみてるんですが、いかんせん時間が足りなくて…。
携帯用の本を2冊読んで、JAVAの基礎が分からないどうにもならないと悟り、
入門書をざっと読んで、今週丸つぶしでトライしてますが、こんな感じです。
英語の方が、よっぽど簡単に思えます。
もしよろしければ、このプログラムに付け足すべきor変えるべき命令なんか、
思いついたら教えていただきたいです。
よろしくお願いします。
0337デフォルトの名無しさん
2007/10/26(金) 10:34:33課題って言ってなかった?
0338デフォルトの名無しさん
2007/10/26(金) 10:38:00つーか向こうの方が書き込み時間早いんだから向こうで答えてもらえよマルチ君。
0339デフォルトの名無しさん
2007/10/26(金) 10:50:37ひどすぎるね。カンマ , とセミコロン ; の使い分けすらできていない。
eclipse みたいな java 専用エディタを使えば、こんな凡ミスは無くなると思うが。
0340デフォルトの名無しさん
2007/10/26(金) 10:54:11夏休みの宿題を8月末に全部やろうとして慌てている中学生ですか?
0341デフォルトの名無しさん
2007/10/26(金) 11:23:49諦めて首でも吊れよ。
0342デフォルトの名無しさん
2007/10/26(金) 11:25:55カスは巣に帰れ。ここはお前専用のスレじゃない。
0343デフォルトの名無しさん
2007/10/26(金) 11:30:370344デフォルトの名無しさん
2007/10/26(金) 11:43:51が一つあるとしますよね。Aがトップページから本ページにアクセス画面の切り替えを行っている間
Bがページの切り替えを行った場合、ArrayListはAが使用中なので
Bが切り替えを行うとエラーが出るんですか?
0345デフォルトの名無しさん
2007/10/26(金) 11:57:31説明不足で何が言いたいのかよくわからないが、同期・非同期のことを聞いているのだとすると、
ArrayListはVectorと違いマルチスレッドでも使える。
んで、心配してる同時にアクセスした場合だが、一方のアクセスが終わるまでもう片方はアクセスできない。
終わるまで待ってるはず。といっても一瞬だから、パフォーマンス的にはほとんど問題ない。
これ以上マルチスレッドについて聞きたいなら専用スレいった方が早いか。
0346デフォルトの名無しさん
2007/10/26(金) 12:00:33逆じゃ?
ArrayList は同期されてないよ
0347デフォルトの名無しさん
2007/10/26(金) 12:04:21それVector
つか並行処理に使うコレクションは用件によって微妙に変わる
Java5以上ならjava.util.concurrentを覗いてみることをお勧めする
0348345
2007/10/26(金) 12:07:470349344
2007/10/26(金) 12:10:040350デフォルトの名無しさん
2007/10/26(金) 12:11:29そのArrayListがセッション間で共有されないなら問題ない。
つまり、サーブレットでこうしているなら問題なし。
ArrayList list = new ArrayList();
list.add(...);
request.setAttribute("list", list);
が、これをセッションに入れると問題が出てくる。つまりこう。
ArrayList list = (ArrayList)(session.getAttribute("list"));
list.add(...);
0351デフォルトの名無しさん
2007/10/26(金) 14:13:37有ります?
0352デフォルトの名無しさん
2007/10/26(金) 14:16:57Random,nextInt
0353デフォルトの名無しさん
2007/10/26(金) 14:21:02そのファイルに関連付けられてるソフト(メディアプレイヤーとか)、で実行するにはどうすればいいですか?
0354デフォルトの名無しさん
2007/10/26(金) 14:28:550355デフォルトの名無しさん
2007/10/26(金) 14:48:28Runtime.getRuntime().exec("start E:\\test.txt");
}catch(Exception ex){
System.out.println(ex);
}
java.io.IOException: Cannot run program "start": CreateProcess error=2, ?w?????t?@?
何で動かない…
0356デフォルトの名無しさん
2007/10/26(金) 15:09:440357デフォルトの名無しさん
2007/10/26(金) 15:23:330358331
2007/10/26(金) 15:42:12向こうに書いた後、こっちを発見したので…。
会社の先輩から、プレゼン用に週末までに作って来いといわれて、
週頭から本を読み始めました。
eclipse、使わさせていただきます。
ありがとうございます。
0359デフォルトの名無しさん
2007/10/26(金) 15:44:16あんたアホか?
会社の仕事ならば会社の先輩に相談するのが常識だろ
0360331
2007/10/26(金) 15:51:12新規事業プランの提案なんですが、
サンプルがあった方がいいということで、こういうことになりました。
まわりにプログラムに詳しい人が全くいないので、ここで相談させていただいたわけです。
不愉快だったら申し訳ありません。
0361デフォルトの名無しさん
2007/10/26(金) 16:07:49首吊って良いよ。
0362デフォルトの名無しさん
2007/10/26(金) 16:18:07よく考えるとOS依存じゃん…
OSに依存しない方法ない?ここまでPure Javaで作ったんだ…
0363デフォルトの名無しさん
2007/10/26(金) 16:24:160364デフォルトの名無しさん
2007/10/26(金) 16:39:51おーーサンクス。これならデスクトップがサポートされてたら動くね。
ひと段落着いたので晩ご飯の材料買いに行ってくる。
0365デフォルトの名無しさん
2007/10/26(金) 16:57:080366デフォルトの名無しさん
2007/10/26(金) 17:15:120367デフォルトの名無しさん
2007/10/26(金) 17:24:59パワーポイントとかエクセルでも使ってろ
0368デフォルトの名無しさん
2007/10/26(金) 17:31:000369デフォルトの名無しさん
2007/10/26(金) 17:37:24StringBuffer = new StringBuffer(binary.length * 2);
for(int i=0; i<binary.length; i++){
buffer.append(Character.forDigit((binary >> 4) & 0x0F, 16));
buffer.append(Character.forDigit((binary >> 0) & 0x0F, 16));
}
String hex = buffer.toString();
0370デフォルトの名無しさん
2007/10/26(金) 17:52:370371デフォルトの名無しさん
2007/10/26(金) 18:06:360372デフォルトの名無しさん
2007/10/26(金) 18:15:00CPUが違えば結果も変わりそうなんだけど、そこら辺はVMで上手く処理してるのかな。
0373デフォルトの名無しさん
2007/10/26(金) 18:18:13仕様でビックエンディアンと決まってる
0374368
2007/10/26(金) 18:19:56自分で考えてたのは、>>369 さんのを
for (int i = 0; i < binary.length; i++) {
buf.append( ((Byte)b[i]).toString());
}
にしたやつなんですが、もっと何か一行でできるようなのはないかなと思いまして。
0375デフォルトの名無しさん
2007/10/26(金) 18:27:260376デフォルトの名無しさん
2007/10/26(金) 18:57:16for (int i = 0; i < binary.length; i++) buf.append( ((Byte)b[i]).toString());
0377デフォルトの名無しさん
2007/10/26(金) 19:02:53Byte#toString って 10 進数じゃない?
0378デフォルトの名無しさん
2007/10/26(金) 19:04:12for (int i: binary) buffer.append(String.format("%02x", i));
String hex = buffer.toString();
0379デフォルトの名無しさん
2007/10/26(金) 20:31:12でどうぢゃ
0380368
2007/10/26(金) 21:18:161行っていうのは処理全部で1行ってことです。
そういうメソッドがあるかなと思ったんですけど、なさそうですね。
Stringになるなら10進数でも16進数でも滅茶苦茶なエンコードでもいいんですが、
>>379 は大概エンコードできませんよね?
0381デフォルトの名無しさん
2007/10/26(金) 21:21:06プログラミングのプの字もわからないド素人にもわかりやすい入門書ってどれなんでしょうかね?
色々あってどれがいいのかが・・・
0382デフォルトの名無しさん
2007/10/26(金) 21:28:12String(byte[] bytes, String charsetName)ってのは?
0383デフォルトの名無しさん
2007/10/26(金) 21:31:14Javaの入門書のほとんどはド素人にはわかりにくい本が多い。
中途半端というか苦労する
Rubyなんだが、
http://www1.tf.chiba-u.jp/~shin/tutorial/index.rb
がオススメ
本にもなっているけど、プログラミングに重要なところは学べる
まったくの初めてでも1ヶ月もあれば読めるだろう。
その後Javaやっても遠回りどころか近道と思う
0384デフォルトの名無しさん
2007/10/26(金) 21:39:48読み終わって定着してきたら修正すべき考えがところどころあるけど、そんなのも含めて親しみやすさからこれをすすめます。
0385デフォルトの名無しさん
2007/10/26(金) 21:43:10ダメ、絶対
あれは解った気にさせる最悪の本
書いてあること嘘ばかり
0386デフォルトの名無しさん
2007/10/26(金) 21:48:08プログラミング始めたころなんて、本質叩き込まれても拒否反応でちゃうだけじゃん?
「仕方なく勉強する」という考え方のようだから尚更これがいいと思ったんだけどな。
0387デフォルトの名無しさん
2007/10/26(金) 21:51:54プログラミングのド素人でも考え方が分かるヤツにはプログラムは
言語を問わず理解できるはず。
逆に、頭の巡りの悪いのは1年やっても駄目らしい。
>>383
ちらっと見てきたが・・・・
講義受けながらだったらJavaとの差異で混乱するんじゃないか・・・?
むしろ、プログラムとは何なのかが理解できる本を読んだ方がいいんじゃないかと。
読んだことはないけどこの辺りはどうか?
ttp://www.amazon.co.jp/dp/4822282708
0388デフォルトの名無しさん
2007/10/26(金) 21:54:23難しい本を嫁って言うわけじゃないよ
やさしく書きすぎているんで、読んでも何も習得できないんだよ、あれ。
for文の文法は書いてあっても、処理を繰り返す為にfor文を使うという本質が抜けている最悪の本なのよ
0389デフォルトの名無しさん
2007/10/26(金) 21:55:160390デフォルトの名無しさん
2007/10/26(金) 21:59:49それはちょっと違うな。
これからCをやるってなら有だけど。
http://www.amazon.co.jp/dp/427420264X
これを推薦しておこう。
基本的なデータ構造とか反復処理などが丁寧に書かれている良書
0391デフォルトの名無しさん
2007/10/26(金) 22:00:430392デフォルトの名無しさん
2007/10/26(金) 22:21:180393デフォルトの名無しさん
2007/10/26(金) 22:22:28<c:out value="234 + 123 = ${234 + 123}"/>
というタグが HTML 変換後に 「234 + 123 = ${234 + 123}」 という出力になってしまうのですが
何がおかしいのでしょうか? どうも拡張タグは動作してるのに EL が利いていないようなのですが。
0394デフォルトの名無しさん
2007/10/26(金) 22:26:47その記述で、なにを期待しているんだ?
System.out.println("234 + 123 = ${234 + 123}");
を実行して出力しているのと大差ないぞ
0395デフォルトの名無しさん
2007/10/26(金) 22:36:55単に計算結果を出力するだけのサンプルなのですが。
<c:out> の value 属性内の EL って処理されないってことですか?
0396デフォルトの名無しさん
2007/10/26(金) 22:39:45おまいの脳内VMでは、System.out.println("1+1"); は2と表示されるのか?
0397デフォルトの名無しさん
2007/10/26(金) 22:45:01あの、JSP の中での話なんですが何の言ってるんですか?
0398デフォルトの名無しさん
2007/10/26(金) 22:47:54JSPってどういうものですか?
0399デフォルトの名無しさん
2007/10/26(金) 22:59:23DTD 宣言を削除して J2EE 1.4 (Servlet API 2.4) のスキーマに変更したら
JSP 内で EL が評価されるようになりました。
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
↓↓↓
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
>>398
あのー、ひょっとしてですが EL ってどういうものか知らなかっ(ry
0400デフォルトの名無しさん
2007/10/26(金) 23:17:26ELってどういうものですか?
0401デフォルトの名無しさん
2007/10/26(金) 23:54:10やさしいJavaだめなの?もう半分くらいやったのに(´・ω・`)
0402デフォルトの名無しさん
2007/10/26(金) 23:58:330403デフォルトの名無しさん
2007/10/27(土) 00:10:14大丈夫だって。
0404デフォルトの名無しさん
2007/10/27(土) 01:43:17RandomAccessFileとかのreadShort()とか使ってるんだけど
一度にファイル構造をごっそり読み取るのってどうするの?
Cで構造体にごっそり読み込む感じのがしたいんだけど。
0405デフォルトの名無しさん
2007/10/27(土) 01:52:39ファイルを作るのも Java プログラムなら ObjectOutputStream#writeObject()/ObjectInputStream#readObject() を使え。
0406デフォルトの名無しさん
2007/10/27(土) 02:05:01サンクス
やっぱ読み込むデータのクラス作って内装するしかないか。
0407デフォルトの名無しさん
2007/10/27(土) 02:43:32なつかしい。
0408デフォルトの名無しさん
2007/10/27(土) 04:47:24【初心者】【大歓迎】
つまり回答者も初心者なんだよ!
>>400
JSP+ELでぐぐr
JSP2.0の策定の時、散々話題に上っただろうが
0409デフォルトの名無しさん
2007/10/27(土) 10:24:32後輩があれ見てJavaをわかった気になってたが、
実際に書かせてみると本当に本一冊読んだのかと疑うほど書けなかった。
まあ、入門には最適みたいだから、これで満足せず次の本を読んでいけば大丈夫だと思う。
0410デフォルトの名無しさん
2007/10/27(土) 11:20:05簡単なことしか都合よく書いてないから
0411デフォルトの名無しさん
2007/10/27(土) 12:35:500412デフォルトの名無しさん
2007/10/27(土) 13:06:330413デフォルトの名無しさん
2007/10/27(土) 13:23:53すごく簡単なWebアプリケーションを作ったことはあるんですが、
今度はJavaでスタンドアロンアプリケーションを作ることになりました。
ダウンロードして初心者サイトを参考に一週間ぐらい触ってみましたが、
全然考え方が違うのでなかなか理解できません。そこで3つ質問したいのですが、
1、Javaにおけるクラスというのは、ASPにおける各ページのような感じのものと考えればいいのでしょうか。
他のページからRequest.Formでデータを受け取って処理を行うASPと同じように、
インターフェースか何かで他のクラスからデータを受け取って処理すると考えればいいのですか?
2、Javaアプレットではなく、スタンドアロンなJavaアプリケーションのユーザーインターフェースとして、
HTMLを用いる(Webブラウザを経由させる)ことは可能ですか?
3、ゼロから始まって、「最初にこれをして、次にこれをして、最後にこれとこれを組み合わせて完成」と
いうように、小規模なJavaアプリケーションの開発をゼロから完成までトレースできるような
参考書などがありましたらぜひ教えてください。
すみません。よろしくお願いします。
0414デフォルトの名無しさん
2007/10/27(土) 14:49:320415413
2007/10/27(土) 15:41:07ええと、Webアプリではなくて、回線を用いずにパソコン本体内だけで完結する
デスクトップアプリケーションです。何か紛らわしいことを書いてしまいすみません。
0416デフォルトの名無しさん
2007/10/27(土) 15:42:38サーブレット・JSPの参考書見れ。別に自分でやるなら、勉強がてら
サーブレットとJSPで作ればいい。おまいさんのやりたい事が全部できる。
基礎からのサーブレット/JSP SE必修
↑やればおk
0417デフォルトの名無しさん
2007/10/27(土) 15:44:53サーブレット・JSPは回線使っても使わなくてもできるWebアプリだよ。
いってみればASPを自分のパソコンでIISで実行しててブラウザでできるやつ
0418デフォルトの名無しさん
2007/10/27(土) 15:53:060419デフォルトの名無しさん
2007/10/27(土) 16:04:410420デフォルトの名無しさん
2007/10/27(土) 16:11:031. 違う。ASP のページに相当するものはサーブレットクラスや JSP。AWT/Swing なら
イベントリスナクラス。ASP で使えるその Request やら Form やらのオブジェクトが、
どういうプロパティを持って何を呼べばどう動くかを設計するのがクラスを設計するということ。
オブジェクトの「型」がクラスです。
2. 技術的には可能だがトリッキーすぎて初心者にはお勧めできない。ぱっと思いつくのは
アプリが作った HTML を Swing の JEditorPane (超貧弱) や SWT (非標準) の Browser に
食わせるとか、簡易HTTPサーバ起動してブラウザ起動→ブラウザ終了時にサーバも終了とか
(ソケット通信とHTTPプロトコル実装が必要)。
3. 知らん。数作って苦労しる。
0421デフォルトの名無しさん
2007/10/27(土) 17:13:58Tomcat動かしっぱなし。
0422デフォルトの名無しさん
2007/10/27(土) 21:12:59おいおい。
サーバを綺麗に終了させることは重要なことだぞ。
0423413
2007/10/27(土) 22:34:13色々と教えてくださりありがとうございました。何となくではありますがASPとJavaの違いが分かりました。
サーブレットやJSPなどに関しても勉強してみようと思います。
0424デフォルトの名無しさん
2007/10/28(日) 00:54:10| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ >>422
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0425デフォルトの名無しさん
2007/10/28(日) 02:22:27>>422じゃないけど、何考え込んでるの??
重要なことだぞ?中規模以上のシステム基盤の設計経験ないのか?
もしくは運用経験
サーバ製品が単一で存在するわけないだろ
いくつかの製品が連携するシステムだってあるんだからさ・・・
0426デフォルトの名無しさん
2007/10/28(日) 02:34:410427デフォルトの名無しさん
2007/10/28(日) 03:14:15今度、とある製品のapiの性能測定を任されることになったんだけど、
性能測定って一体何やればいいのか、正直わからない。
いきなりマニュアル渡されて、
ビルド環境を構築したまでは良かったんだけど、
「じゃ、システムのボトルネックみつけて。
大量なデータを登録するとき、でるとおもうから。
やり方は自由でかまわないよ。」
なんていわれても、やったことないし、わけわかめ。。。
調べた感じだと、↓みたいなことがわかればいいみたいだけど
これ以外に何かありますか?
・どのメソッドが処理時間を消費しているのか
・どのメソッドが頻繁に呼び出されているのか
・どのオブジェクトがヒープを大量に消費しているのか
0428デフォルトの名無しさん
2007/10/28(日) 03:19:17特定しますたwwwwww
おまえさ、まかせるとはいったけど、観点が分からないならちゃんと聞けよ
0429デフォルトの名無しさん
2007/10/28(日) 03:23:42特定したならお前だってわかってんだろ
うちのマネージャがプログラムできないの
別部署を納得させるためのデータがほしいだけなんだよ
0430デフォルトの名無しさん
2007/10/28(日) 03:25:430431デフォルトの名無しさん
2007/10/28(日) 03:30:15プロファイラ使って計測。JProfiler ってのがシンプルな割りに必要な情報は
取れるので長いこと使ってるけど、最近はもっと良いのがあるかもしれん。
オヌヌメのプロファイラあったら誰か教えて。
0432デフォルトの名無しさん
2007/10/28(日) 04:23:22その値を計算に使いたいのですが、
getText()をどう使ったらいいのですか。教えてください。
0433デフォルトの名無しさん
2007/10/28(日) 04:30:12int i = Integer.parseInt(s);
とか。
実数を扱うのなら
double d = Double.parseDouble(s);
とか。
0434デフォルトの名無しさん
2007/10/28(日) 04:30:29int value = Integer.parseInt(num);
field.setText(String.valueOf(value * 2));
0435デフォルトの名無しさん
2007/10/28(日) 04:36:59TextField text[];
String ,str[];
と定義したら、
for(int i = 0 ; i < 10 ; i++){
str[i]= text[i].getText();
}
で、まず値はstrに入りますか?
0436デフォルトの名無しさん
2007/10/28(日) 08:32:25この会社におけるボトルネックは僕です。
早急に解雇して下さい。
0437デフォルトの名無しさん
2007/10/28(日) 10:26:43としたらjava.lang.outofmemoryerror: Java Heap Space とでるんですが、これはどうしたらいいんでしょうか? どうしても10000000個のエレメントをArrayに入れたいのです。誰かお助けを。
0438デフォルトの名無しさん
2007/10/28(日) 10:37:36およそ10MBx8=80MBもの容量を確保しようとしたから、VMがそんなに取れないってエラー吐いてる。
VMのオプションでヒープ容量を増やすヤツがあったはずだから、それを使えばいいと思うけど、そもそも何に使うの?
なんでもないプログラムでそんなコードを書くのは設計が間違ってるとしか思えない。
0439デフォルトの名無しさん
2007/10/28(日) 10:43:030440デフォルトの名無しさん
2007/10/28(日) 10:46:53????はなんだ?
丸投げではないから解答はここでは示さないけど、ロジックの組み立てに問題があるんじゃないのか?
つまり、
nが少ない場合は配列を使えば出来ますね。
nが多い場合は工夫して配列を使わないようにしましょう。
というのが、課題の意図な気がするぞ。
0441デフォルトの名無しさん
2007/10/28(日) 10:57:47ありがとうございます。実は問題は:
0<x<1、0<y<1であるとき x^2 + y^2 <=1 となる確立は何か? xとyをそれぞれ10000000回ランダムで選んだときの確率を求めよ。。。という問題です。
これをプログラムにして解けという問題なんですが。 どなたかどうやるかご存知でしたら教えてください。本当に助かります。
0442デフォルトの名無しさん
2007/10/28(日) 10:59:270443デフォルトの名無しさん
2007/10/28(日) 11:00:58もう本当に初心者で配列での方法しかわかりません(TдT) 本当にバカですね私。
0444デフォルトの名無しさん
2007/10/28(日) 11:03:53今こんな感じです
int int1 = 10000000
double j[] = new double[int1];
double k[] = new double[int1];
double l[] = new double[int1];
for (int i = 0; i <= int1 - 1; i++)
{
j[i] = Math.random();
k[i] = Math.random();
l[i] = Math.pow(j[i], 2) + Math.pow(k[i], 2);
if (l[i] <= 1) counter++;
}
double prob = counter/int1;
System.out.println(prob);
0445デフォルトの名無しさん
2007/10/28(日) 11:06:11xの値をrandomで求めます。
yの値をrandomで求めます。
数式に代入してtrueならカウントします。
以上を10000000回繰り返します。
カウント数/10000000*100が求めるものだと思います。
0446デフォルトの名無しさん
2007/10/28(日) 11:07:24なるほど。。Booleanを使うのですね。やってみます。どうもありがとうございます。
0447デフォルトの名無しさん
2007/10/28(日) 11:17:170448デフォルトの名無しさん
2007/10/28(日) 11:18:30>>445
本当に私何やってたんだろ^^; できました、どうもありがとうございます。
0449デフォルトの名無しさん
2007/10/28(日) 11:19:530450デフォルトの名無しさん
2007/10/28(日) 11:29:16たしかに^^;
0451デフォルトの名無しさん
2007/10/28(日) 11:35:000452デフォルトの名無しさん
2007/10/28(日) 11:43:09ありがとうございます>< がんばって上達してみせます!
0453デフォルトの名無しさん
2007/10/28(日) 11:50:08典型的な「やさしいJava脳」です
0454デフォルトの名無しさん
2007/10/28(日) 11:51:360455デフォルトの名無しさん
2007/10/28(日) 11:55:00ただ、現場に被害が及ぼしているがアンチを生み出している理由。
読んで基礎を理解したと勘違いさせるからね
0456デフォルトの名無しさん
2007/10/28(日) 12:03:53風評だけじゃなくて、具体例を出せよ。根拠なく批判してもウザいだけ。
0457デフォルトの名無しさん
2007/10/28(日) 12:06:08intだったらIntegerの機能をお手軽に使うためのクラス?
0458デフォルトの名無しさん
2007/10/28(日) 12:08:25今数冊出てるJavaStudioCreator本って参考になりますか?
どれがいいんでしょうか?
0459デフォルトの名無しさん
2007/10/28(日) 12:12:451つだけ例をあげておくが、それ以上はスレ違いなので自重
例外に関する話。
catch(Exception e)とか平気で書いて例外を握りつぶしてきたアホがいたんでヒアリングしてみた。
俺「例外はExceptionでcatchしちゃまずいね」
アホ「どうしてです?」
俺「問題が起きたならば適切に処理するか、上に通知しないとわからなくなるでしょ」
アホ「でも、やさしいJavaでは例外が発生してしまう時にはtryで囲め、と書いてありましたよ」
俺「例外ってどういう時に発生するかわかる?」
アホ「解らないから、catchするんじゃないですか?」
俺「・・・・」
実際に例外に関するところを流し読みしてみた。
すると、例外の説明は適当でコンパイルが通るようにはどうするかしか書いてなかった
0460デフォルトの名無しさん
2007/10/28(日) 12:15:52オブジェクトとしてintを使いたい為にある
逆に言えば歴史的な背景でintをオブジェクトではなくプリミティブとしたのがJava
intには基本的な演算しか出来ないけど、Integerは様々なメソッドが定義されている。
まあ、Rubyなんかはintに相当する型も全てオブジェクトなんだけど、Javaが出来た頃はパフォーマンスやら色々な点からやらなかったんだわ
0461460
2007/10/28(日) 12:18:15List list;
list.add(100); // = list.add(new Integer(100));
とか書ける様になったのはかなり楽になったわけだ
逆に変換に惑わされて、はまる時もあるんだけど・・・
0462デフォルトの名無しさん
2007/10/28(日) 12:22:17たしかにTigerですごく楽になった。いちいち手動でボクシングするのが、すごくだるかったから。
でも、そこら辺が隠蔽されたせいで、なんでGenericsでプリミティブ型が使えないのかわからない初心者が増えたけど。
0463デフォルトの名無しさん
2007/10/28(日) 12:23:52相手の人、可哀想;;
http://www.nicovideo.jp/watch/sm1282003
25分14秒付近より
●植田佳奈、最近人生を丸投げしたくなることは?というフリに、「こないだー、悪口を絶賛喋ってた
ら、後ろに本人いて(笑)あんなことほんとにあるんだ!って思って、超びっくりしちゃった(笑)
実名って言うかその人しかあり得ないような悪口をバンバン言ってたの。そしたら、”そんな風に思っ
てたんだ、ごめんね”って逆に謝られちゃって…(笑)」
0464デフォルトの名無しさん
2007/10/28(日) 12:25:41それは初心者というよりは、複雑化してきたJavaの問題だよな。
ちゃんとTiger以降の機能を使える奴を育てるには、半年程度は1.4で開発させるべきだよ。
うちでは、プロジェクトで新人には1.4文法で書かせている
後からレビュー時に5.0の機能を説明しつつ修正
手間はかかるけど、ちゃんと育てないと後で泣く
0465デフォルトの名無しさん
2007/10/28(日) 13:21:42Eclipseで「実行」を
ショートカットでやるときどうやるんですか?
Shift+Alt+X,Jらしいんですが
押しても実行されません(´・ω・`)
0466デフォルトの名無しさん
2007/10/28(日) 13:30:15エディタに開いているファイルが、Mainメソッドを含んでいるか?
あと、Eclispeスレで聞いた方がいいと思うぞ。
0467デフォルトの名無しさん
2007/10/28(日) 13:33:110468デフォルトの名無しさん
2007/10/28(日) 13:36:31それは再実行だから、一度しないと実行できないはず。
それと、3.1か2あたりで、Ctrl-F11の実行対象が変化したから、一度設定を見直す必要あり。
0469デフォルトの名無しさん
2007/10/28(日) 21:31:280470デフォルトの名無しさん
2007/10/28(日) 21:37:40もう少しそのフレーズが出てきた前後関係を書かなきゃ解らんよ
0471デフォルトの名無しさん
2007/10/28(日) 23:26:39変なフォルダ階層が作られたりweb.xmlへの記述も自動化されちゃったりservlet作ると意味不明な雛形が作られたり…
色々決まり事があって逆に分かりづらいです。
総合開発環境ってのはこういうもんなんでしょうか?
0472デフォルトの名無しさん
2007/10/28(日) 23:32:47今まで秀丸+コマンドプロンプトでやってきたならオレ流が出来てるだろうからもどかしいのは分かる。
つまりそーゆーもんです。
0473デフォルトの名無しさん
2007/10/28(日) 23:54:55色々と決まりごとがあるから、どんなWebアプリでもどこに何を配置すればいいかが解りやすいのです。
全てのアプリで好き勝手置けたとしたならば、非常に効率悪いでしょう。
流行のRails然り、Maven2然り、構造や作り方を決めてしまい、共通化してしまおうという時代の流れでもあります。
つまり、そーゆうもんです。
0474471
2007/10/29(月) 00:20:31>>473
なるほど…知らずうちにオレ流になってたのかもしれない。
柔軟性を失うのを嫌ってツールを避けてたんだけど、
逆にツールに対応できない堅い頭になってたみたいです。
レスありがとうございました。
0475デフォルトの名無しさん
2007/10/29(月) 00:31:11URLConnectionを用いて、HTMLのソースを取得しているのですが、
文字コードに対応するため、HTMLのMETAデータにある、charsetの値を取得して
文字コードに対応させたいのですが、
Javaの正規表現などを使ってどのように処理すれば実現できますか?
よろしくお願いします。
0476デフォルトの名無しさん
2007/10/29(月) 00:54:44Pattern pattern = new Pattern("(?i)\\s*text/html.*;\\s*charset\\s*=\\s*\"?([^\";]*).*");
Matcher matcher = pattern.matcher(contentType);
if(matcher.matches()){
String charset = matcher.group(1);
// ...
} else {
// 一致しなかった場合の処理
}
と、ここまで書いて HTML の中の META タグの事かよ orz
0477デフォルトの名無しさん
2007/10/29(月) 02:38:270478デフォルトの名無しさん
2007/10/29(月) 06:55:16{
public static void main(String[] args)
{
System.out.println( sum(3) );
}
public static int sum(int a)
{
if (a == 0)
return 0;
else
return (a + sum(a-1));
}
}
これのアウトプットが6になる理由が分かりません。
流れを教えてもらえませんか?
0479デフォルトの名無しさん
2007/10/29(月) 06:59:090480デフォルトの名無しさん
2007/10/29(月) 07:05:17↓ ↑
3 + sum(2) = 3 + 3 = 6
↓ ↑
2 + sum(1) = 2 + 1 = 3
↓ ↑
1 + sum(0) = 1 + 0 = 1
と、ここまで書いて分かりましたとは orz
0481デフォルトの名無しさん
2007/10/29(月) 13:56:47javaアプリケーションでフレームに画像を出力したいのですが…どうしてもできません。
Image img = getImage(getCodebase(),"test.jpeg");
g.drawImage(img,0,0,null);
としてみましたが、getCodeがアプレットのため使えませんでした…。
どうすればいいでしょうか?どなたか教えてください。お願いします。
0482デフォルトの名無しさん
2007/10/29(月) 14:48:140483デフォルトの名無しさん
2007/10/29(月) 18:55:29H2をembeddedしてデスクトップアプリを作ろうと考えてます
データをやりとりするときにSQL書いて、Statementを作って実行させるのですが、
「何度も実行する処理は、コンパイル済みのPreparedStatementを使え」とよく聞きます
ここで、「何度も実行する」とは、どれぐらいの頻度のことと考えたらいいでしょう?
アプリ中で使うSQLはすべてPreparedStatementで作っておいてアプリ終了まで保持したほうが良いのでしょうか?
あるいは単発selectみたいなのはStatementでも良いんでしょうか?
業務としてJDBCをよく使われるような方はどういう設計にするのが普通ですかね
最初は全部Statementで書いておいて、プロファイル取りながら遅いところだけ
順番にPreparedStatementに変えていくような作り方でもおかしくないですか
0484デフォルトの名無しさん
2007/10/29(月) 19:22:04つまり Connection を commit または rollback するまでの間。
0485デフォルトの名無しさん
2007/10/29(月) 20:09:21なんと!
本当ですね、JDBC API 入門で見つけました
>データベースシステムによっては、コミットを跨がって PreparedStatement が保持されないものもあります。
>そのような場合は、各回のコミット後にドライバが PreparedStatement をコンパイルし直す必要があります。
>つまり、これらの DBMS に関して言えば、多くの回数実行する Statement オブジェクトを PreparedStatement
>オブジェクトに置き換えて使用すると、実際にはより効果的でなくなる場合があります。
H2は保持されるのかどうか調べてきます
0486デフォルトの名無しさん
2007/10/29(月) 20:27:44昔の DB2 みたいに (今もか?) PreparedStatement をクローズしない限りプロセス終了まで
ネイティブドライバ-DB側で残す奴もあるが、基本的にトランザクションをまたがっては使わない。
初心者が使うと SQL インジェクションもあるから PreparedStatement 使っとけ。
どうせその後の DB 処理に比べたら微々たる負荷なんだし。
0487デフォルトの名無しさん
2007/10/29(月) 23:22:03res.setContentType と req.setCharacterEncoding
というのがあるんですけど
何が違うんですか?
0488デフォルトの名無しさん
2007/10/30(火) 00:00:420489デフォルトの名無しさん
2007/10/30(火) 00:09:19CharacterEncodingはHTMLで吐き出す時のエンコード
HTMLを表示した時にブラウザが文字コードの判別ミスって文字化けするのは、この対応がうまくいってないか、ContentTypeが指定されずにブラウザが判断し間違っているか、ブラウザのバグってこと
0490デフォルトの名無しさん
2007/10/30(火) 00:09:23responseは表示するHTMLのエンコード
requestはフォームなんかから来る文字列のエンコード
0491489
2007/10/30(火) 00:13:58resとreqかよw
0492デフォルトの名無しさん
2007/10/30(火) 00:42:03新しいバージョンをインストールしようとしたのですが
「このソフトウェアは使用中のコンピュータにすでにインストールされています。再インストールしますか?」
と出て、「はい」を選択すると
「内部エラー 2753。 RegUtils」と出てインストール出来ません。
これはどういう事なのでしょうか?
またどうすればインストール出来るのでしょうか?
0493デフォルトの名無しさん
2007/10/30(火) 00:45:16どうやってアンインストールしたの?
まさかフォルダを削除しただけとか・・・?
0494デフォルトの名無しさん
2007/10/30(火) 00:46:45ttp://oshiete1.goo.ne.jp/qa2902200.html
0495デフォルトの名無しさん
2007/10/30(火) 00:58:42プロパティを操作するでわないか。プロパティの設計が必要上いらないなら
インターフェイスとかになるのではないか。というより、私がいいたいのは
インターフェイスにはプロパティがあってはいけないものだろう。
ところがどうだ?Enumerationインターフェイス。
俺は今までこれはクラスだとおもっていたが、JavaDocをみたらインターフェイスではないか。
そのくせ、列挙中に次の値が存在するか?などのメソッドがあり、ファイルポインタのようなプロパティが必要そうな
存在ではないか。これは、明らかに利用者を混乱に陥れるクラス設計である。MicroSoftの言語には
このような設計ミスはない。Javaは明らかに利用者が混乱しやすい言語設計になっている!淘汰されるべきである!
0496デフォルトの名無しさん
2007/10/30(火) 01:02:10はい、次の質問、どうぞ。
0497495
2007/10/30(火) 01:03:310498デフォルトの名無しさん
2007/10/30(火) 01:06:100499デフォルトの名無しさん
2007/10/30(火) 01:06:39はい、次の質問、どうぞ。
精神科の先生の苦労も分かるよ。
0500デフォルトの名無しさん
2007/10/30(火) 01:10:55フォームの情報をサーブレットに送って、処理をするとしよう。
フォームの情報もサーブレットに来るときはリクエストとして一緒に送られてくる。
当然、日本語は2バイトでくる。そうなると処理するサーブレット側が
何の文字エンコードを使ってるかわかっていなくちゃいけない。その情報を
Windows-31Jと教えてやるわけだ。
0501デフォルトの名無しさん
2007/10/30(火) 01:16:34お前は明治生まれのじじいかw
文体が硬い、思考に柔軟性がない。出直せ
0502487
2007/10/30(火) 01:40:22送られてくるデータの文字コードも意識しないといけなかったんですね
0504デフォルトの名無しさん
2007/10/30(火) 03:02:34Graphics g = getGraphics();
で描画を行うとなぜか描画した物が消えてしまいます…。
プログラムはremoveとrepaintを同時に用いたいと考えているのですが、描画したものが消えてしまう原因が解らなく、四苦八苦してます…。解決策を教えていただけないでしょうか?
0505デフォルトの名無しさん
2007/10/30(火) 08:22:480506デフォルトの名無しさん
2007/10/30(火) 09:11:300507デフォルトの名無しさん
2007/10/30(火) 16:13:20サンプルプログラムをコンパイルして実行しようとしたところ、コンパイルはできる
のですが、実行しようとするとコマンドプロントが一瞬表示されるだけで、何も起こりません。
PrintScreenで確認したところ、
「'-askclose'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたは
バッチファイルとして認識されていません。」となってました。
再インストールなど色々試してはみましたが全くわかりません。
どなたかアドバイスをお願いします><
ちなみに、jcpadを使っています。
0508デフォルトの名無しさん
2007/10/30(火) 16:19:540509デフォルトの名無しさん
2007/10/30(火) 18:35:06いかのような疑問がわいています
お忙しいところ恐縮ですが
どなたか回答やご指導などお願いします
1.メソッドとはC言語における関数と同じ意味でしょうか
2.メソッドとクラスの違いは
3.インスタンスとは、宣言した変数の領域を確保することでしょうか
4.ストリームとはファイル操作全般を意味するのでしょうか
0510デフォルトの名無しさん
2007/10/30(火) 18:51:26クラス ≒ 型
インスタンス ≒ オブジェクト
ストリーム ≒ FILE*
0511デフォルトの名無しさん
2007/10/30(火) 20:08:40馬鹿が減らないのと同じ理由。
0512デフォルトの名無しさん
2007/10/30(火) 20:12:12public static void mainを実行するたびにログファイルを別に、前のログはリネームして残るようにしたいです。
log4jのバージョンは1.2系です。
0513デフォルトの名無しさん
2007/10/30(火) 20:14:51メソッドとストリームは>>510であってると思うけど、
クラスとインスタンスはオブジェクト指向の概念なので、難しい。
C言語から流れてきた人用に説明すると、
クラスは構造体に関数がついたもの。インスタンスは確保した領域そのものを指す単語かな?
ただ、クラス周辺は仕組みがわかっただけでは上手く扱えないので、オブジェクト指向を勉強した方がいい。
0514デフォルトの名無しさん
2007/10/30(火) 21:12:54メソッド = 特定の構造体付属の関数
クラス = 構造体 (プロパティ) + 関数 (メソッド)
インスタンス = malloc(sizeof(構造体)) の領域
ストリーム = データを逐次で読み込める/書き込めるもの = ファイル, ソケット, バイト配列, etc.
>>512
DailyRollingFileAppender のソースを参考にそーゆー Appender クラスを作ってください。
0516デフォルトの名無しさん
2007/10/30(火) 21:51:47昔、Cの関数は50行以下とか100行以下、それ以上になる場合は分割しろ、とよく言われた物です
これは短ければ短いほど人間には理解しやすくなるのでバグが減るという事だと思いますが
この伝で行くと、Javaのクラスは、メソッド数×50行以下にしろ、という感じだと思います
しかし、メソッドを20とか持つクラスになると、1000行以上になったりして、さすがに嫌な感じです
こういう場合、クラスの分割を検討した方が良いとは思うのですが
このクラスの許容最大行の慣例みたいな数字はありませんか?
プロジェクトのルールなどで実在した数字があれば教えてもらうと参考になりますのでよろしくお願いします
0517デフォルトの名無しさん
2007/10/30(火) 22:09:23俺は、
5割:100行以下
4割:300行以下
1割:500行以下
という感じ。500行以上のファイルはほぼない。
Genericsや多様化を使えば大きく増えることはないと思う。
こういうときに便利な単位にメトリクスというものがあって、こんなプラグインがある。
メトリクスプラグイン - EclipseWiki
http://eclipsewiki.net/eclipse/index.php?cmd=read&page=%A5%E1%A5%C8%A5%EA%A5%AF%A5%B9%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3&word=%A5%E1%A5%C8%A5%EA%A5%AF%A5%B9
俺自身は使ったことがないが、参考になるんじゃね?
0518デフォルトの名無しさん
2007/10/30(火) 22:19:261メソッドあたり30行程度。
具体的にはEclipse等で開いて、メソッドの開始から終了までが1画面に収まるかを目安にしている。
1クラスのメソッドは10以下、3〜5程度がわかりやすい。
そうなると、概ね100〜300程度になるから、>517と同じくらいかな
ただ、平均をとってみると多くなりがちなのはBean等が含まれるから。
単純なデータクラスに関してはフィールドの数が10程度と考えている。
0519デフォルトの名無しさん
2007/10/30(火) 22:53:45ありがとうございます
結構短いですね(汗
私の今やってるプログラムのクラスは、500超がごろごろ…
どうやらもっとガシガシリファクタリングしなきゃいけなさそうです
早速教えてもらったツールで計ってみます
0520デフォルトの名無しさん
2007/10/31(水) 00:17:480521デフォルトの名無しさん
2007/10/31(水) 00:25:36行数が少なければ自然と複雑度も低くなる
行数を減らせと言ったらワンライナー風に書くバカでもない限りはな
0522デフォルトの名無しさん
2007/10/31(水) 00:39:35500行超のソースが乱立している時点でクラス設計とかもっと原始的な目標を立てるべき。
サイクロマティックなんかはある程度ちゃんと作られているアプリを計る、もしくはとんでもないアプリを作り直させる為に計るもの
0523デフォルトの名無しさん
2007/10/31(水) 06:40:42よくコードを把握していない他人の目で見て分かるかどうかを
考えてコードを書くのは重要だといつも念頭に置いてる。
大体、何でも要素が二桁になったあたりから集約とかを考え始めるかな。
プライベートメソッドが増えてきたら、
それはユーティリティクラスとして切り出した方がよくないかとか。
クラスが10コくらいで機能を実現してたらサブパッケージにする方がいいかとか。
後は1画面制限か?ループの中身が1画面を越える時とか処理を
プライベートメソッドに分けたりする。
ループの多重度は、2が限界。3つループ入ったら何かがおかしい。
ロジックを見直す。どうしても必要でもループごとプライベートメソッドに切り出したりする。
3つのループが1つに見えていないといけない状況は、そうそうない。
まあ、ライブラリの実装とかで汎用クラスの場合はちょっと尺度が
変わったりもするけどアプリケーションの場合はこんな感じかな。
0524デフォルトの名無しさん
2007/10/31(水) 09:57:34サイクロマティックは、なぜこのように計算するのか、なぜ分岐の数は引くのか、と言った背景の理論を勉強したいです
0525デフォルトの名無しさん
2007/10/31(水) 10:16:27ググればザックリとした情報は出てくるよな?
それ以上の情報は英語でしかみたことない
どちらにせよこのスレの範囲としてはサイクロマティックを抑える方法までで、そのアルゴリズム関係はスレ違いだと思われ
0526デフォルトの名無しさん
2007/10/31(水) 11:14:10たしかに少々すれ違いかも知れません、すいません
サイクロマティックは10以下にしろ、そしてメトリクスツールで測るとお前のソースはこうだと言われたとき
その指標の意味や計測原理を知らないと、どう直していいやらと思ったものでして
0527デフォルトの名無しさん
2007/10/31(水) 11:21:25細かい原理なんか知る必要はないよ。
一般的なコーディング規約を守り、基本的な事さえ守ればいい
ループのネストは2階層まで、ifと合わせても3階層まで、1メソッドは30行程度。
省略するような書式(3項演算子やメソッドの連鎖コール)はなるべく避ける。
引数が4〜5個になったならばメソッドの責務を再検討など。
ぶっちゃけ、これらを守って係数が10以上とかに出来る方が凄い
0528デフォルトの名無しさん
2007/10/31(水) 11:24:58典型的なダメコード
while(条件) {
if(条件A) {
if(条件B) {
if(条件C) {
// 処理
}
}
}
}
読みやすいコード
while(条件) {
if(!条件A) continue;
if(!条件B) continue;
if(!条件C) continue;
// 処理
}
0529デフォルトの名無しさん
2007/10/31(水) 11:40:52どうでもいいつっこみかもしれんが、それならこっちの方が見やすくね?
while(条件) {
if (条件A && 条件B && 条件C)
{
処理
}
}
0530デフォルトの名無しさん
2007/10/31(水) 12:22:11後々条件が増えたり減ったりした時にどっちのが変更しやすい?
あと、条件Aが単純な式(isFoo)とかなら読みやすいけど、
0 <= foo.getFoo() && foo.getFoo() <= 100
が1つの条件とかになってくると、括弧だらけで読みにくい。
0531デフォルトの名無しさん
2007/10/31(水) 12:51:46条件が増えたり減ったりすることがわかってんならメソッドに割ったほうがよくね?
0532デフォルトの名無しさん
2007/10/31(水) 13:18:33それはそれで1つの手だし、もっと複雑になるならばクラスとして抽出まで考えればいい
これはあくまで一例だから適当に流してくれ
0533デフォルトの名無しさん
2007/10/31(水) 13:22:130534デフォルトの名無しさん
2007/10/31(水) 13:25:470535デフォルトの名無しさん
2007/10/31(水) 13:56:24うは、典型的ゆとり発言キタ━━━━━━(゚∀゚)━━━━━━ !!
0536デフォルトの名無しさん
2007/10/31(水) 13:57:36ゆとりキタ━━━━━━(゚∀゚)━━━━━━ !!キタ━━━━━━(゚∀゚)━━━━━━ !!キタ━━━━━━(゚∀゚)━━━━━━ !!
0537デフォルトの名無しさん
2007/10/31(水) 14:06:000538デフォルトの名無しさん
2007/10/31(水) 14:10:28そう思っていた時期が僕にもありました。
0539デフォルトの名無しさん
2007/10/31(水) 14:29:16僕が頑張ってもっとコーディングが上手くなれば済むことですから
頑張りますから!!
0540デフォルトの名無しさん
2007/10/31(水) 14:39:16javaで記述する場合も一緒ですか?
0541デフォルトの名無しさん
2007/10/31(水) 14:41:56x*x。
0542デフォルトの名無しさん
2007/10/31(水) 14:45:440543デフォルトの名無しさん
2007/10/31(水) 14:52:420544デフォルトの名無しさん
2007/10/31(水) 15:36:400545デフォルトの名無しさん
2007/10/31(水) 15:46:21(゚д゚)(゚д゚)ウマー (゚д゚)ウマー
(゚д゚)(゚д゚)(゚д゚)ウマー (゚д゚)(゚д゚)ウマー
(゚д゚)(゚д゚)ウマー (゚д゚)(゚д゚)(゚д゚)ウマー
|// (゚д゚)(゚д゚)ウマー
| |//
| ワーイ /
| ∧ ∧ /
| (,,・∇・) / ⊂,'⊃
| ̄| ̄ ̄ ̄ ̄ ̄~|
| | 厨房 |
| | 号 _|
 ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄\ 〜〜〜〜
⊂⊃ /\ ⊂⊃
/⊂⊃ \/ \ /\ ⊂⊃ /\
〜〜〜〜 \ \ /\/ \
/ / \
0546デフォルトの名無しさん
2007/10/31(水) 16:40:59告白します
schedoleをずっと
スチェドールと読んでいました。
0547デフォルトの名無しさん
2007/10/31(水) 16:45:010548デフォルトの名無しさん
2007/10/31(水) 16:49:120549デフォルトの名無しさん
2007/10/31(水) 16:53:270550デフォルトの名無しさん
2007/10/31(水) 16:55:42<hoge
attr1="long-long-long-long-long-long-long-long-long-value"
attr2="long-long-long-long-long-long-long-long-long-value"
attr3="long-long-long-long-long-long-long-long-long-value"
/>
みたいに要素内で改行できないかな? 属性一つ一つが長すぎて可読性
悪い XML があるんだけど。
0551デフォルトの名無しさん
2007/10/31(水) 17:12:470552デフォルトの名無しさん
2007/10/31(水) 19:42:42Javaコンパネの詳細タブに環境変数を設定できそうなところが見当たりません、、
テンプレを見て頑張って調べてるんですが、、
どなたかお知恵をくださいませんでしょうか
0553デフォルトの名無しさん
2007/10/31(水) 20:35:500554デフォルトの名無しさん
2007/10/31(水) 20:49:14DatagramSocket.setTrafficClassをWindows2003のIPv6環境で使用された方はいらっしゃいますでしょうか?
IPv4環境ではTPCヘッダのTOSフィールドに値がセットされますが、IPv6環境でTrafficClassフィールドに値が設定されません。
0555デフォルトの名無しさん
2007/10/31(水) 21:22:54夜にもなればEclipseとShrareとWinnyのアイコンの判別がもたつきます。
俺ってダメですよね?
0556デフォルトの名無しさん
2007/10/31(水) 21:37:230557デフォルトの名無しさん
2007/10/31(水) 21:40:50もしかして: schedule
0558デフォルトの名無しさん
2007/10/31(水) 21:41:530559デフォルトの名無しさん
2007/10/31(水) 22:45:17ありがとうございます
0560デフォルトの名無しさん
2007/11/01(木) 00:28:21Java5以降で、関数の可変長引数が使えるようになりましたが、
これを利用した、Listの初期化はできないでしょうか?
List<String> list = new ArrayList<String>("ほげ", "ふが", "うぐ");
こんな感じのコードを、どこかで見たような気がするのですが。
0561デフォルトの名無しさん
2007/11/01(木) 00:29:38List<String> list = Arrays.asList("hoge", "fuga", "ugu");
0562デフォルトの名無しさん
2007/11/01(木) 00:31:54List<String> list = java.util.Arrays.asList("ほげ", "ふが");
ぐらいだっけか?
不便だと思うなら自前でユーティリティメソッドつくるんでもいいし。
0565デフォルトの名無しさん
2007/11/01(木) 03:45:26Arrays.asList(new String[]{"ふー","ばー"})
使い続けてた・・・
0566デフォルトの名無しさん
2007/11/01(木) 08:24:350567デフォルトの名無しさん
2007/11/01(木) 11:48:34どんなクラス、メソッドを使えばできるのでしょうか?
例としてソース出して頂けると更に嬉しいです。
0568デフォルトの名無しさん
2007/11/01(木) 11:52:070569デフォルトの名無しさん
2007/11/01(木) 11:55:10ウィルスバスターでも作りたいわけ?
0570デフォルトの名無しさん
2007/11/01(木) 12:01:38DatagramPacketで返ってきたパケットの中身を見るのも無理ですか?
0571デフォルトの名無しさん
2007/11/01(木) 12:02:57参照したいだけなら、コマンドの実行をパイプして結果を取得。
DatagramPacket は UDP、ping は ICMP。Java から ICMP は直接使えない。
0572デフォルトの名無しさん
2007/11/01(木) 15:33:01windowが非アクティブの状態でキーイベントを起こしたいのですが
どうしたらいいんでしょうか?
0573デフォルトの名無しさん
2007/11/01(木) 16:29:41java.awt.Robot#keyRelease(int) で。
非アクティブっつーか、javaが管理するwindow以外の
キーイベント取るのは標準APIだけでは無理だったと思うが。
0574デフォルトの名無しさん
2007/11/01(木) 19:43:17独学で勉強してるのですが、Beanの概念がなかなか理解出来ません。
MVCモデルというのがありますが、
本によってはモデル=データベースだったりモデル=Beanだったりします。
かといってBeanはデータベースに代われる物でもないようです。
自分なりに考えた限りでは、
プログラムとデータベースの橋渡し=Beanという感じもするのですが
別に橋渡しなんか無くても何の不便も無さそうだしやっぱりよく分かりません
0575デフォルトの名無しさん
2007/11/01(木) 19:51:37まぁ SQL とトランザクションを駆使して手続き型処理をゴリゴリ書く羽目になる DB を、
オブジェクト指向言語である Java から使いやすくするために OR マッピングなどで
Bean をかますことはある。
0576デフォルトの名無しさん
2007/11/01(木) 19:58:34JSPで一斉に表示するという方法がある。が基本的にBEANとデータベースは無関係。
0577574
2007/11/01(木) 21:05:13>>576
なるほど、Beanはプログラム内でデータを手軽に扱う手段という感じですね。
となるとやっぱり元のデータベースの勉強を先にした方いいのかな。
とにかくイメージが湧きました。ありがとうございました。
0578デフォルトの名無しさん
2007/11/01(木) 21:17:08class Hello
{
class hoge()
{
int n;
}
public static void main(String argv[])
{
hoge c = new hoge();
}
};
というソースをコンパイルすると、↓というエラーがでます
「static でない 変数 this を static コンテキストから参照することはできません。」
newのところが悪いっぽいのですが、暗黙のthis受け渡しが発生するような記述には見えません。
内部クラスの生成にはthisが使われるということでしょうか?
0579デフォルトの名無しさん
2007/11/01(木) 21:19:28正解、thisが使われています。
内部クラスをstatic にすればいける。
static class hoge()
0580デフォルトの名無しさん
2007/11/01(木) 21:22:46ありがとうございます。なるほど
クラスのインスタンスが生成されたときに、内部クラスの定義もインスタンス内に作られる…とかですかね。
Java 内部クラス でぐぐって探してみてるのですが「何故thisが使われるのか」まで踏み込んだページが見つかりません。
もし知っていればそのあたり(言語仕様まわり)の情報があるサイトなどを紹介していただけませんでしょうか
0581デフォルトの名無しさん
2007/11/01(木) 21:30:53サイトは知らんが、四種のクラスの違いはEffective Javaで読んだな。
>>578のthisは、コンパイラがこう解釈するからエラーになる。
public static void main(String argv[])
{
hoge c = "this."new hoge();
}
通常の内部クラスはその外のクラスにバインドされる。
だから、内部クラスから外のクラスのフィールドやメンバに直接アクセスできるわけだ。
そもそも、内部クラスは正確に書くと、
(外のクラス名).(内部クラス名) value = (外のクラスのインスタンス名).new (内部クラス名)(引数);
となるわけで、そう書かれてないのは暗黙的にthisを省略してるに過ぎない。
0582デフォルトの名無しさん
2007/11/01(木) 21:33:22そしてその意図(関連付ける必要)がないならstaticにすればいいと
よくわかりました。
ありがとうございました!
0583デフォルトの名無しさん
2007/11/01(木) 21:34:51Hello.hoge c = Hello.new hoge();
となるわけだ。内部クラスを単なるネストされたクラスだと考えていると>>578のように躓くから、
外のクラスと密接に関係したクラスであることを強く意識する必要がある。
0584デフォルトの名無しさん
2007/11/01(木) 22:10:50内部構造は隠したいけれども、そのオブジェクトを他の表現で表したいときに使うな。
そうでない場合はたいていstaticネストクラスを使うほうが正しい場合が多い。
こっちのほうは(アクセス権とかで)若干そのクラスとの結びつきが強いだけの、別個のオブジェクトになる。
0585デフォルトの名無しさん
2007/11/01(木) 22:20:24独習Javaの問題やってて
次のプログラムを作成しなさい。10個の要素から成るint型配列を作成し、forループを使って-1〜10の値を配列要素に初期設定します。
その後、別のforループで配列要素を表示します。
ってのがあって
class うんこ{
public static void main(String args[]){
int array[] = new int[10];
int sum = 0;
for(int i = -1; i > -11; i--){
array[sum] = i;
++sum;
}
for(int i = 0; i > 11; i++){
System.out.println(array[i]);
}
}
}
こうなったんですが、コンパイルして実行してもなんも表示されません。
どこかおかしいんですかね・・・
0586デフォルトの名無しさん
2007/11/01(木) 22:22:43○for(int i = 0; i < 10; i++){
0587デフォルトの名無しさん
2007/11/01(木) 22:58:34盲点でした。ありがとうございます
独習Javaを入門書にするのはやめといたほうがいいのかな・・・
0588デフォルトの名無しさん
2007/11/01(木) 23:00:420589デフォルトの名無しさん
2007/11/01(木) 23:23:42だから、二つ目以降の言語を学習するには最適だけど、プログラム初心者が読むのにはむいてない。
0590デフォルトの名無しさん
2007/11/01(木) 23:25:40難しい本選んで苦悩してもそれが財産になる
悩まず綺麗に教えられた人って全然応用力無いんだよね
0591デフォルトの名無しさん
2007/11/01(木) 23:31:17それ以外に、ストラテジーパターンでも使う。メソッドごとごっそり入れ替えられて便利。
蛇足だけど、C#では内部クラスは外のクラスのフィールドにアクセスできない。
つまり、全部の内部クラスがJavaでいうstaticクラスになる。
0592デフォルトの名無しさん
2007/11/01(木) 23:34:40難しい本で挫折しちゃったら元も子もないでしょ。
0593デフォルトの名無しさん
2007/11/02(金) 00:13:13それは教えられ方によるんじゃないかな?
うまくアウトプットを引き出させるような教え方をされた人は、ちゃんと応用できる
要は、自分でものを考えないまま正解を教えられたやつは〜、ってことだろ
そういう意味では独習系ってアウトプットを要求するから、良本なんだよねぇ
0594デフォルトの名無しさん
2007/11/02(金) 00:19:30そもそも難しいとはいえない、量があるのは確かだがね
じっくり時間を掛けられるならば一番いい入門書だと思う
やっぱり最初は書いて書いて書きまくるべき
0595デフォルトの名無しさん
2007/11/02(金) 01:02:42いきなりJavaから始めるような本当の意味で初心者が読む本じゃない。
0596デフォルトの名無しさん
2007/11/02(金) 01:04:220597デフォルトの名無しさん
2007/11/02(金) 01:10:09すれ違うたび心臓が止まる
0598デフォルトの名無しさん
2007/11/02(金) 01:24:50さあ?俺は教えてもらった事なんかないけど?
ただ、本を読んで自分で試しただけだ。
0599デフォルトの名無しさん
2007/11/02(金) 01:32:06独学だから賢いと思いこんでる馬鹿ハッケ〜ンw
独学だろうが教えられようが賢いヤツは応用も出来るに決まってるだろw
0600デフォルトの名無しさん
2007/11/02(金) 01:46:52世界一簡単な言語だから仕方ないけど
0601デフォルトの名無しさん
2007/11/02(金) 01:48:060602デフォルトの名無しさん
2007/11/02(金) 01:53:53シンタックスシュガーと統一性のない言語仕様に阻まれてほかの言語が使えない人間よりかは、
世界一簡単なJava言語使いの馬鹿のほうがまし。
0603デフォルトの名無しさん
2007/11/02(金) 01:56:51初めてVBを見たとき、あのアポストロフィみたいなのでコメントを表すなんて難しい言語だと思った。
0604デフォルトの名無しさん
2007/11/02(金) 01:59:370605デフォルトの名無しさん
2007/11/02(金) 03:57:340606デフォルトの名無しさん
2007/11/02(金) 09:11:340607デフォルトの名無しさん
2007/11/02(金) 09:23:37それって、機能考えたら当然だと思われw
0608デフォルトの名無しさん
2007/11/02(金) 14:41:04document.formname.submit(); このformnameの値を動的に変えたい場合どうすればよろしいですか。
function chg(formname)
{
document.formname.submit();
}
こうやってみてもダメでした・・
0609デフォルトの名無しさん
2007/11/02(金) 14:57:14document.forms[formname].submit();
または id 指定で
<form id="A"> ... </form>
<form id="B"> ... </form>
function chg(formid){
document.getElementById(formid).submit(); // または document.all(formid).submit()
}
0610デフォルトの名無しさん
2007/11/02(金) 14:59:06javaとjavascriptと違いました申し訳ありません。
0611デフォルトの名無しさん
2007/11/02(金) 15:01:280612JAVA初心者
2007/11/02(金) 19:16:09いつも参考にさせていただいています。
STRUTS使用のJSPで、html:textを使用するときに
フォームのプロパティに値がsubmit後に入ってくると思いますが、
formの直下にプロパティがない場合、
たとえば
formの直下にaBeanというビーンがあります。
そして、そのビーンの下にbBeanがあり、
そのbBeanの下のプロパティにsubmit後に
ユーザの入力値を設定したい場合は
そのようなことは技術的に可能でしょうか?
また、可能であれば、どのようにJSPにかけばよろしいでしょうか?
よろしくご教授してください、、
0613デフォルトの名無しさん
2007/11/02(金) 19:22:47Strutsスレ行け
http://pc11.2ch.net/test/read.cgi/tech/1167469508/
0614デフォルトの名無しさん
2007/11/02(金) 22:07:42って出来ますか? 日付や数値フォーマットは SimpleDateFormat や DecimalFormat
使って誤魔化せるんですが、ISO 三文字コードとか Locale クラスが final 宣言され
ているので何ともならないのですが。
0615デフォルトの名無しさん
2007/11/02(金) 22:20:56protected を private にできないのは、Javaがprivateな関数をを仮想関数テーブルに加えないからだと納得いくのですが
public を protected にさせない理由がわかりません
もしかして、結局のところアップキャストしてアクセスすれば、アクセスできちゃうから。
つまり意味がないからでしょうか
0616デフォルトの名無しさん
2007/11/02(金) 22:33:500617デフォルトの名無しさん
2007/11/02(金) 22:35:21そのサーバーアプリケーションにjavaアプレットからsocketで繋げてやり取りできますか?
0618デフォルトの名無しさん
2007/11/02(金) 22:39:060619デフォルトの名無しさん
2007/11/02(金) 22:44:060620デフォルトの名無しさん
2007/11/02(金) 23:16:44無限でしょうか
0621デフォルトの名無しさん
2007/11/02(金) 23:23:14実行環境のシェルのバッファの限界に依存。
0622デフォルトの名無しさん
2007/11/02(金) 23:34:111.6 からは java.util.spi.LocaleServiseProvider あるから、それ使えばできるんじゃねーかと。
0623デフォルトの名無しさん
2007/11/02(金) 23:37:310624デフォルトの名無しさん
2007/11/02(金) 23:43:52できない。
参照型でラップして、似非参照渡しとかならできるけど
class IntRef { public int value; }
public void method(IntRef ref){ ref.value++; }
public void method2(int[] a){ a[0]++; }
オススメはしない。
0625デフォルトの名無しさん
2007/11/02(金) 23:46:080626デフォルトの名無しさん
2007/11/02(金) 23:51:05揚げ足取る人間が昔は居たものだが。
0627623
2007/11/02(金) 23:51:22それは、オブジェクトは参照渡しできるようなので、
変数だけのクラスを作ってそれを引数にするってことですよね?
お奨めじゃないんですか、
普通はどうしてるんですか?
0628デフォルトの名無しさん
2007/11/02(金) 23:53:070629デフォルトの名無しさん
2007/11/02(金) 23:56:130630623
2007/11/02(金) 23:59:45ttp://www.asahi-net.or.jp/~dp8t-asm/java/tips/MultiValueReturn.html
ここの指定されたオブジェクトに通知する方法や、
エンティティオブジェクトを復帰値にする方法は、
普通しませんか?
0631デフォルトの名無しさん
2007/11/03(土) 00:31:440632デフォルトの名無しさん
2007/11/03(土) 00:33:36jar にまとめたら?
0633デフォルトの名無しさん
2007/11/03(土) 00:43:00独自のを使いたいならexeWrapかなんかでラッピングしてやったらいいんじゃないかな?
0634デフォルトの名無しさん
2007/11/03(土) 04:33:580635デフォルトの名無しさん
2007/11/03(土) 04:44:360636デフォルトの名無しさん
2007/11/03(土) 04:45:08(・∀・)イイ!!
0637デフォルトの名無しさん
2007/11/03(土) 07:04:27精神的ブラクラ
0638デフォルトの名無しさん
2007/11/03(土) 09:41:340639デフォルトの名無しさん
2007/11/03(土) 09:56:570640デフォルトの名無しさん
2007/11/03(土) 14:43:21Pressedイベントが貯まってReleasedイベントの検知が遅れます。
Releasedを検知するまでのラグを無くそうと調べたところ、
Windowsが貯まっている分のキーイベントを保持している事が分かりました。
直接Windowsが保持しているキーイベントを操作する方法、
もしくはそれ以外の、遅れを抑える方法があったら教えてください。
0641デフォルトの名無しさん
2007/11/03(土) 14:58:47できない。少なくとも標準APIだけでは。
0642デフォルトの名無しさん
2007/11/03(土) 16:04:26AWTのイベントキューに登録されてるなら、
java.awt.EventQueue#peekEvent(int) と
java.awt.event.KeyEvent#KEY_RELEASED 使えば取れるかもしれん。
0643デフォルトの名無しさん
2007/11/03(土) 16:35:510644デフォルトの名無しさん
2007/11/03(土) 16:39:550645デフォルトの名無しさん
2007/11/03(土) 16:49:14円を4つ表示させて、それぞれ別の動き方にしたいです
0646デフォルトの名無しさん
2007/11/03(土) 16:58:080647デフォルトの名無しさん
2007/11/03(土) 16:58:350648デフォルトの名無しさん
2007/11/03(土) 16:59:46paint(graphics g)
0649デフォルトの名無しさん
2007/11/03(土) 17:08:53途中で送信してしもた・・・orz
要するにそれぞれ円を動かして描画するメソッドを順番に呼び出せばマルチスレッドにする必要なんてない
0650デフォルトの名無しさん
2007/11/03(土) 17:10:120651デフォルトの名無しさん
2007/11/03(土) 17:11:52それにしてもマルチスレッドにする必要性ゼロだなw
0652デフォルトの名無しさん
2007/11/03(土) 17:14:14ごの場合たぶんちがうと思うけどw
0653デフォルトの名無しさん
2007/11/03(土) 17:18:430654デフォルトの名無しさん
2007/11/03(土) 17:20:44本質とは関係ないな
0655デフォルトの名無しさん
2007/11/03(土) 17:26:27イベントディスパッチャースレッドの中で連続して円描いて動かす気かと聞いてるのだが?
0656デフォルトの名無しさん
2007/11/03(土) 17:29:58>>643
0657デフォルトの名無しさん
2007/11/03(土) 17:31:36>>645
0658デフォルトの名無しさん
2007/11/03(土) 17:37:550659デフォルトの名無しさん
2007/11/03(土) 17:41:300661デフォルトの名無しさん
2007/11/03(土) 17:54:421キャラ事にスレッド作ってんの。
初心者相手にあーゆーのいいんかいな。
0662デフォルトの名無しさん
2007/11/03(土) 18:10:440663デフォルトの名無しさん
2007/11/03(土) 18:26:48低レベルなイベントはAWTとSwingで共通。
0664デフォルトの名無しさん
2007/11/03(土) 18:38:25だからそれは質問の本質とは関係ないと言っている
0665デフォルトの名無しさん
2007/11/03(土) 18:41:21いや質問者じゃなくてお前に聞いてんだけど。
0666デフォルトの名無しさん
2007/11/03(土) 18:47:23だからそれを俺に聞いても質問の解決には無関係だし、意味がない。
0667デフォルトの名無しさん
2007/11/03(土) 18:54:22いやお前のその回答間違ってんじゃねーの? って話してんだから関係ないわけないだろ。
で、スレッド立てないでイベントディスパッチャースレッドの中で連続描画してアニメーションさすのをお勧めしてるわけ?
0668デフォルトの名無しさん
2007/11/03(土) 18:56:340669デフォルトの名無しさん
2007/11/03(土) 18:57:55イベントディスパッチャースレッドの中とは一言も書いてない
で、それが問題の本質と何の関係があるのか知りたいわけだが
0670デフォルトの名無しさん
2007/11/03(土) 19:00:50答え:イベントディスパッチャースレッドでやるのかよ、ありえないよ、だからやらね
評価:不可。来年頑張ってね。
0671デフォルトの名無しさん
2007/11/03(土) 19:03:450672デフォルトの名無しさん
2007/11/03(土) 19:04:46>>646-651 を見ればそう読めるだろ。paint(Graphics) 実行するのはイベントディスパッチャースレッドなんだし、
スレッド立てる必要がないというならイベントディスパッチャースレッドの中で連続描画しろと言ってるわけだし。
だから真意としては、ひょっとしてイベントディスパッチャースレッド以外から描画系のメソッド呼ぼうなんて
無知な方法薦めようとしてんじゃねーかと思ってね。
0673645
2007/11/03(土) 19:06:110674デフォルトの名無しさん
2007/11/03(土) 19:07:140675デフォルトの名無しさん
2007/11/03(土) 19:13:00反論ありませんその通りです知りませんでしたという回答でいいわけね。
0676デフォルトの名無しさん
2007/11/03(土) 19:14:410677デフォルトの名無しさん
2007/11/03(土) 19:19:380678デフォルトの名無しさん
2007/11/03(土) 19:23:37図星かよ ┐(´ー`)┌
0679デフォルトの名無しさん
2007/11/03(土) 19:28:46回答側に突っ込みが入るとかなりの確率で荒れます。
0680デフォルトの名無しさん
2007/11/03(土) 19:41:13paintはコード書こうと思った途中で間違って送っただけなんで、関係ないです。申し訳ないです。
ところで>>643は円にそれぞれスレッドを割り当てて描画したいという意図だと読み取ったんだけど
それならわざわざマルチスレッドにする必要がないということであって
イベントディスパッチャースレッド云々は関係ないというかそれで別スレッド作ったから
マルチスレッドじゃねーかっていう突っ込みに意味がある?
0681デフォルトの名無しさん
2007/11/03(土) 19:51:000682デフォルトの名無しさん
2007/11/03(土) 20:03:57「アニメーション用のスレッドは 1 つ立てればいい」 というのをシングルスレッドとは言わない。
シングルスレッドで良い = 多重化しない = メインのスレッド (GUIの場合イベントディスパッチャースレッド) 以外不要、
という意味になる。
0683デフォルトの名無しさん
2007/11/03(土) 20:12:41だから、わざわざ円一つごとにスレッド作らなくてもいいという話に
イベントディスパッチャーが関係あるのかって話
ちなみに別スレッド作らなくてもタイマを使うという手がある
0684デフォルトの名無しさん
2007/11/03(土) 20:14:19サーブレットで受け取って、受け取った値が空じゃないか?
数字以外じゃないか?数字だとしたら0〜9の範囲内の値か?をエラーチェックして
最終的に0〜9までの数字をRandomクラスで出してそれと一致すれば
「当たり」と表示するアプリケーションがあります。これは本のサンプルです。
一番最初実行していたときはjspで数字を入力してサーブレットで結果をみてたりしてたんですが
サーブレットで結果をみて戻るボタンを押してJSPに戻ってまた数字を入力してと
繰り返ししていたら(エラーチェックなどをした)サーブレットになにも表示されないまま(空白画面)となってしまいました。
どうすればちゃんと表示されるようになりますか?
0685デフォルトの名無しさん
2007/11/03(土) 20:20:20java.util.Locale について質問です。
IP2C というIPアドレスから国のStringを返すJavaのコードがあります。
http://firestats.cc/wiki/ip2c
知りたいことは、国の情報から代表的な言語の情報を返すことです。
たとえば "JP" を代入すると "ja" を文字列で返すといったようなことです。
そこでまず new java.util.Locale("言語", "国") を使ってみようとしましたが、
"言語"に""文字列を入れないと何も空白の文字列しか帰ってきませんでした。
どうぞ、よろしくお願いいたします。
0686デフォルトの名無しさん
2007/11/03(土) 20:27:57ないよ。だがシングルスレッドでと言ったならイベントディスパッチャースレッド内で、と等価だっつー話。
>>684
サーブレットのエラーログに何か出力されてないか見る。
>>685
標準 API でそれは無理。むしろ俺も知りたい。
0687684
2007/11/03(土) 20:32:23どうもありがとうございます。トムキャットのエラーログはなにも書いてないですが、
時間がたって再度やったらうまくいきました。。。なんだろう。。不思議ですが、よくなったので
どうもありがとうございました。
0688デフォルトの名無しさん
2007/11/03(土) 20:40:25Localeクラスでは無理
このへんみながら自分で対応表作るしかないんじゃないかな
http://en.wikipedia.org/wiki/List_of_official_languages_by_country
0689684
2007/11/03(土) 20:45:15input.guessServletになっていました。basic.guessServlet.javaをコンパイルしなおしても
だめでした(input.guessServletにリンク張ってあったから無駄だった。)
でも、guess.jspのリンクを直した後もトムキャットはinput.guessServletに
リンク変移するのでworkディレクトリしたの該当ファイルを消したら
最終的にすべてうまくいきました。
>>686さんどうもありがとうございました。
0690デフォルトの名無しさん
2007/11/03(土) 21:02:05>だがシングルスレッドでと言ったならイベントディスパッチャースレッド内で、と等価だっつー話。
タイマー使う手もあるわけだし、ただ単に重箱の隅をつついてるようにしか見えない
0691デフォルトの名無しさん
2007/11/03(土) 21:03:03本にはJ2SEをクリックって書いてあるけど
サイトにはそんなのないんだけど
0692デフォルトの名無しさん
2007/11/03(土) 21:09:49質問者があの流れでタイマーとか思い浮かぶと思ったのか?
下らねえ揚げ足だな。
0693デフォルトの名無しさん
2007/11/03(土) 21:11:34だから、わざわざ円ごとにスレッド作る必要ないって話だよ
揚げ足取りしてるのはそっちだろ
0694デフォルトの名無しさん
2007/11/03(土) 21:17:55jdkの最新バージョン落とせばいい。
0695デフォルトの名無しさん
2007/11/03(土) 21:24:21お前はシングルスレッドと言ってるだけでそんな事は言ってないわけだが。
揚げ足じゃなくてお前の理解不足。
0696デフォルトの名無しさん
2007/11/03(土) 21:27:010697デフォルトの名無しさん
2007/11/03(土) 21:35:33なぜなら彼らもまた初心者だからです。
0698デフォルトの名無しさん
2007/11/03(土) 21:39:130699デフォルトの名無しさん
2007/11/03(土) 21:44:150700os
2007/11/03(土) 21:45:54どうすればいい?
0701デフォルトの名無しさん
2007/11/03(土) 21:46:24だからタイマー使えばシングルスレッドでも出来るって言ってるだろ
理解不足なのはそっち
0702デフォルトの名無しさん
2007/11/03(土) 21:47:440703デフォルトの名無しさん
2007/11/03(土) 21:50:090704デフォルトの名無しさん
2007/11/03(土) 21:50:47イベントディスパッチャスレッドどうこうは本質とは関係ないし
タイマー使えばシングルスレッドに出来る
0705デフォルトの名無しさん
2007/11/03(土) 21:51:49OSに必要なプログラムを書けばいいよ
0706デフォルトの名無しさん
2007/11/03(土) 21:52:50本質とは無関係なイベントディスパッチスレッドにこだわって
シングルスレッドじゃ無理みたいな言い方するからタイマーでできると言ったらなんだか
そんなの文章じゃ読み取れんとか理解不足とか言い出すし
理解してないのどっちだよって話
0707デフォルトの名無しさん
2007/11/03(土) 21:54:57これだけ無知さらしておいてまだ食い下がるのか。
シングルスレッドってのはアプリケーションでスレッドを開始しないという意味ではない。
お前の脳内サーブレットコンテナはシングルスレッドなのか?
0708デフォルトの名無しさん
2007/11/03(土) 21:56:050709デフォルトの名無しさん
2007/11/03(土) 21:58:02そうきたか、ワロタ。
どう見ても質問者はサーバーサイドJavaの話なんかしてないからなぁw
0710デフォルトの名無しさん
2007/11/03(土) 21:58:56学生君。
0711デフォルトの名無しさん
2007/11/03(土) 22:00:550712デフォルトの名無しさん
2007/11/03(土) 22:01:06事の発端はおまえの 「シングルスレッド」 発言な。
>>709
例えに逃げ道を見つけたかw
0713デフォルトの名無しさん
2007/11/03(土) 22:02:080714デフォルトの名無しさん
2007/11/03(土) 22:04:030715デフォルトの名無しさん
2007/11/03(土) 22:10:010716デフォルトの名無しさん
2007/11/03(土) 22:14:23それらより誤差が大きいタイマーなんて普通使わない。道具の使い方が間違ってる。
0717デフォルトの名無しさん
2007/11/03(土) 22:48:03sleepもwaitもタイマーの一種だと思うが・・・
0718デフォルトの名無しさん
2007/11/03(土) 23:12:02APIちゃんと読め
0719デフォルトの名無しさん
2007/11/03(土) 23:19:540720デフォルトの名無しさん
2007/11/03(土) 23:21:26てのをダウンロードしたんだけどこれでよかったかな?
これからどうしよ
binファイルがないんだけども
PATH設定とかわかりません
0721デフォルトの名無しさん
2007/11/03(土) 23:22:200722デフォルトの名無しさん
2007/11/03(土) 23:30:15ファイルからXML文書を読み込んでDOM木を生成し、そのDOM木のすべてのノードを検索して、
ノードの名前とノードの値を出力するプログラムを作ってるのですが、質問があります。
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
public class oppai {
public static void main(String[] args) {
System.out.println("current time = " + new java.util.Date());
try {
/* XMLプロセッサの生成 */
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringElementContentWhitespace(true); /* 空白記号処理の設定 */
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(args[0]);
/* ここから探索処理 */
} catch (Exception e) {
e.printStackTrace();
}
}
この探索処理がよくわからなくて…
0723デフォルトの名無しさん
2007/11/03(土) 23:42:05TransformerFactory.newInstance().newTransfomer().transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(System.out)));
private static void inspect(Element elem){
}
0724デフォルトの名無しさん
2007/11/03(土) 23:45:350725デフォルトの名無しさん
2007/11/03(土) 23:46:05全ノードを走査するなら以下のように再起処理を実装して inspect(doc.getDocumentElement())
した後に >>723 で出力。
private static void inspect(Element elem){
NodeList list = elem.getChildNode();
for(inti=0; i<list.getLength(); i++){
Node node = list.item(i);
if(node instanceof Element){
Element child = (Element)node;
// ここで要素名や属性名を何かすれ
inspect(child);
} else {
// Text, PI など他のノードの処理
}
}
return;
}
0726685
2007/11/03(土) 23:47:54お返事いただきありがとうございました。
標準ではできないとわかり、自力で機能を作ってみました。
public String getIP2Language(String ip) {
try {
Country c = IP2Country.getCountry(ip);
String country = c.get2cStr();
Locale[] locales = Locale.getAvailableLocales();
for (int i = 0; i < locales.length; i++) {
if (country.equals(locales[i].getCountry())) return locales[i].getLanguage();
}
} catch (IOException e) {}
return "en";
}
0727デフォルトの名無しさん
2007/11/03(土) 23:50:57代表的な言語と言いつつ最初に見つかったので良いのかよ。
0728デフォルトの名無しさん
2007/11/03(土) 23:52:300729デフォルトの名無しさん
2007/11/03(土) 23:55:42ありがとうございます。
試してみます。
0730デフォルトの名無しさん
2007/11/03(土) 23:59:340731685
2007/11/04(日) 00:03:300732デフォルトの名無しさん
2007/11/04(日) 00:03:30【□】 (o○)
■ ⌒⌒ (Оo)
□ ⌒⌒ o° ⌒⌒
■ ┌─┐ ⌒⌒
□ ┌──┐ ┌─┐ ┝〓┥
[口] ┌──┐□□│ │°└─┴─┴─┐
口口口 │□□│□ ______│○ ○ ○ ○└─┐
▲▲▲▲▲▲□│□ \ ¥ └─────────┴─┐
┃┃┃┃┃┃□│□□ \ YOKOHAMAファニチャー丸│
〓〓〓〓〓〓〓〓〓〓〓 )━━━━━━━━━━━━━━━/
〜〜〜〜〜〜〜〜〜〜彡彡彡〜〜彡〜〜〜彡〜〜彡〜〜彡彡彡彡彡〜〜
山下公園とマリンタワー 彡彡 彡 彡 彡彡彡彡彡
0733デフォルトの名無しさん
2007/11/04(日) 00:09:44JDOM使え、JDOM。コードの量が半分以下になるから。
0734デフォルトの名無しさん
2007/11/04(日) 00:43:46String [] になっているので、int の範囲以上は指定できないのではないですか?
0735■強姦は65年の1/3。殺人は55年の1/3。騙されるな!
2007/11/04(日) 01:17:11レイプ強姦事件は、中期的に見たら、激減しています!
しかもレイプ殺人なんて実は年間0件。(殺人既遂は年700件、強盗殺人は年60件)
昭和40年には実に7000件近くもあった強姦事件は(むごい少女強姦も多発)
最近ではずーっと毎年2000〜2400件ぐらいと(全て外国人含む)
中期的には実は★激減している★のが本当の真実です。騙されないで!!
●平成14年警察庁犯罪詳細統計
http://www.npa.go.jp/toukei/keiji8/H14_03_1.pdf 認知件数
http://www.npa.go.jp/toukei/keiji8/H14_05_2.pdf レイプ殺人なんて精々数年に1件
●昭和40年代の犯罪統計〜強姦の激減が一目瞭然〜
http://www.npa.go.jp/hakusyo/s49/s49s0401.html 認知件数
凶悪なレイプ犯罪が最近激増しているという虚偽の洗脳イメージのバックには、●日本最強力の圧力&権力団体●になった
フェミニズムの凄まじい圧力と要求の一つ(男性に多い犯罪をことさらわめき立てること)があります。
フェミに汚染されたヒステリー報道に刷り込まれた虚像と、本当の真実の落差から色々なことに気付いて欲しい。
●●中期的には、強姦は激減しています(7000件⇒2300件)●●
また殺人等殆どの犯罪で実は被害者は男性の方が多く(統計)、犯罪の全体像が極めて歪んだ形で刷り込まれています。
【参考】内閣府男女共同参画局予算(年間9兆9千億円!!!毎年増額/国家総予算82兆円中)
その実体は過激ババアフェミ学者&団体員の巣窟。
既に国家・社会・生活の●ありとあらゆる面に●巨大かつキチガイじみた影響力を陰に陽に行使。
スーパー省庁として全ての官庁/審議会に過激メンバーが出向し、そこでも凶悪な害悪を撒き散らしています。
1997-99年にだまし討ち的に出来たばかりの局が(外野でわめいていたフェミ団体が権力中枢に殺到)
財政が火の車にも拘らず、毎年桁外れの●天文学的な●予算を浪費・支配。
「男=悪・ダメ」の洗脳&一般女総フェミ化戦略。膨大なアファーマティブアクション下駄政策。
「女男」という表記に徹する検定教科書も既に複数本登場。
※本投稿は拡散希望です。事実を一人でも多くの人に!!
0736デフォルトの名無しさん
2007/11/04(日) 01:26:43試してみてくれ
0737デフォルトの名無しさん
2007/11/04(日) 03:56:32すいません。めちゃめちゃ嘘つきました。ごめんなさい。
配列のサイズは VM のメモリサイズに影響されるらしいので、
実行時によって違うみたいです…。
int のサイズとかは全然関係ないですが、調子こいて指定すると下記の様な
例外が出る様です。
↓
Exception in thread "main" java.lang.OutOfMemoryError: Requested array size exceeds VM limit
0738デフォルトの名無しさん
2007/11/04(日) 09:00:350739デフォルトの名無しさん
2007/11/04(日) 09:35:51あーすまん、その通りだわ。言い方が悪かった。
言語仕様調べてみたが特に幾つまでとは書いてないな。ただ int 型でインデックシングするとは
あるから実質 int の最大値か。となるとインデックスの最大値は int の最大値 - 1 という事になる
ので、どんなにメモリが割り当てられても array[Integer.MAX_VALUE] という記述は失敗することになるな。
0740デフォルトの名無しさん
2007/11/04(日) 10:54:44英字のペーパーバックが一体何冊入るんだ?
0741デフォルトの名無しさん
2007/11/04(日) 12:03:44本来インタフェースのメソッドは中身が空で未実装のはずなのに
apiにあるインタフェースのメソッドは機能を持ってますよね。
例えばIteratorインタフェースのhasNext()というメソッドは中身が空なのに、
次の要素の有無によって返す値が異なる、という意味を既に持っている。
この機能はどこで付与されてるんですか??
0742デフォルトの名無しさん
2007/11/04(日) 12:10:52API リファレンスに載ってるインターフェースの説明は、使う側にこうしなさいとうものであると
同時に、実装する場合はこうしなさいというものでもあります。ArrayList#iterator() などから
ソースを追っていってください。
0744デフォルトの名無しさん
2007/11/04(日) 12:45:53機能というのはちょっと曖昧
インターフェイスってのは仕様だけが決まっていて実装されていない
逆に言えば仕様を満たしている限りどんな実装でもいいって事
(仕様は契約ともいう)
機能って言うと仕様なんだか実装なんだかごちゃごちゃに聞こえるから使わない方がいいよ。
0745デフォルトの名無しさん
2007/11/04(日) 13:11:28これか?
http://lab.moyo.biz/tools/jadweb/index.jsp
0746デフォルトの名無しさん
2007/11/04(日) 14:45:160xFF 以下の %XX 形式で送られる文字は大丈夫なんだけど、%uXXXX になる日本語が混じると getParameter() で
例外が発生するんですが。
2007/11/04 14:42:57 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: isHexDigit
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87)
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:48)
at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:411)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:393)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:344)
at org.apache.catalina.connector.Request.parseParameters(Request.java:2381)
at org.apache.catalina.connector.Request.getParameter(Request.java:1005)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:353)
0747デフォルトの名無しさん
2007/11/04(日) 17:02:330748デフォルトの名無しさん
2007/11/04(日) 18:12:31半分ぐらいから色を変える事は可能?それとも不可能??
0749デフォルトの名無しさん
2007/11/04(日) 18:13:360750デフォルトの名無しさん
2007/11/04(日) 18:14:18まぁどっちにしても可能だが。
0751デフォルトの名無しさん
2007/11/04(日) 18:17:18URLEncoder.encode ("aiueo","UTF-8");
じゃだめなの?
0752デフォルトの名無しさん
2007/11/04(日) 18:38:26いえ request.getParameter() の中で例外が発生するんですけど。
何で URLEncoder?
0753デフォルトの名無しさん
2007/11/04(日) 18:58:270754デフォルトの名無しさん
2007/11/04(日) 19:13:00ブラウザから送っているものです。リクエスト送信元のページは UTF-8 でエンコードされています。
0755デフォルトの名無しさん
2007/11/04(日) 19:33:36なんのブラウザ使ってるの?
0756デフォルトの名無しさん
2007/11/04(日) 19:46:33>>749の言うとおり半分づつ色を変えれば良いみたいでした><
ありがとうございました。
0757デフォルトの名無しさん
2007/11/04(日) 19:46:59今、テキストファイルの内容を読み込んで、テキストエリアに表示する
プログラムを作ろうとしています。
BufferedReaderのreadLine()を使って読み込んでいるんですが、
readLine()で読んだ文字列をそのまま出力すると改行されませんよね。
元のファイルと同じ位置で改行させるにはどうすればいいですか?
0758デフォルトの名無しさん
2007/11/04(日) 19:47:560759デフォルトの名無しさん
2007/11/04(日) 20:26:08同期化されているかどうかを判定する機能があったと思うけどどのクラス
でしたっけ?
0760デフォルトの名無しさん
2007/11/04(日) 20:28:400761デフォルトの名無しさん
2007/11/04(日) 20:35:260762757
2007/11/04(日) 21:48:18それもやってみたんですが、それだと元のファイルの最終行で改行されてない場合
(文字の後に改行が無い場合)にも改行されてしまったんです。
この場合に余計な改行がつかないようにしたいんですが...
0763デフォルトの名無しさん
2007/11/04(日) 21:52:22readLineつかわず、readで一文字ずつ取得しろ
0764デフォルトの名無しさん
2007/11/04(日) 21:55:34だったらreadLine() 使うなよw
0765デフォルトの名無しさん
2007/11/04(日) 22:03:40String line = null;
while ((line = reader.readLine ()) != null)
{
str += line + "¥n";
}
if (str.length () > 0)
{
str = str.substring (0,str.length () - 1);
}
0766デフォルトの名無しさん
2007/11/04(日) 22:05:03実行時の遅さは知らん。
0767デフォルトの名無しさん
2007/11/04(日) 22:25:32StringBuilder buffer = new StringBuilder();
char[] buf = new char[1024];
while(true){
int len = in.read(buffer);
if(len < 0) break;
buffer.append(buf, 0, len);
}
textArea.setText(buffer.toString());
0768デフォルトの名無しさん
2007/11/04(日) 22:32:29while の中で int を定義しまくるのはどうかと思うが…
0769デフォルトの名無しさん
2007/11/04(日) 22:35:43それって考えた方がいいの?
Javaの標準のライブラリ中のソースでも平気でそういうソースあるけど。
0770デフォルトの名無しさん
2007/11/04(日) 22:36:14これぐらいなら最適化してくれるんじゃないの?
0771デフォルトの名無しさん
2007/11/04(日) 22:39:33new でヒープ確保するのと同じとでも思ってるのか?
0772デフォルトの名無しさん
2007/11/04(日) 23:17:12時代遅れ甚だしい
あれか、カウンタ変数を再利用する人種か?
0773デフォルトの名無しさん
2007/11/04(日) 23:28:080774デフォルトの名無しさん
2007/11/04(日) 23:28:1920年くらい時代遅れかね?
0775デフォルトの名無しさん
2007/11/04(日) 23:48:11その「動く」事に対して時間はかからないの?
俺は
int を定義する、メモリ確保、ローカルスコープ終了・破棄、
また int を定義………
と思ったけど、違うの?
すいません、20年遅れなもんでw
0776デフォルトの名無しさん
2007/11/04(日) 23:56:15違うよ。
0777デフォルトの名無しさん
2007/11/05(月) 00:03:000778デフォルトの名無しさん
2007/11/05(月) 00:10:22r| | | /ヽ,
| l l ,.へ | || iユ、
|j_l∠へ-゙-⊥」_/゙T´
|_,.. -:;;:-- 、...__n`y
⊥_、 u__,,,,,,,,.リト| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
代07 ヘ0フ ||,ヘ < 第1話だけ限定放送かよ、これはDVD売るための罠だ
! |__ ,_ ̄u ||_ソ \______________________
|uイ――ヾ u ,リ,へ、
人|.  ̄ ̄`リ_〃゙ (9入_
_,..-=|| ,.`'ー|l|ー</// ̄人9、>-、_
/(9ト-||('-ジ'リト=-ソ__ゞ´/ニ、9ト9Y゙/6\
0779デフォルトの名無しさん
2007/11/05(月) 00:13:43詳しく知らないのは構わない
だが、時間がかかると自分で試した事あるのか?
変数を使いまわした場合と再定義した場合、10万回程度ループさせてどれだけの差が出るか実験してみろよ。
0780デフォルトの名無しさん
2007/11/05(月) 00:18:34とりあえず、
whileの中にintがある場合
と
whileの外にintがある場合
のそれぞれのclassファイルについて、javap -c で逆アセンブルしてみろ。
ニーモニック表とオペコード解説が、何故かWikipediaにある。
http://ja.wikipedia.org/wiki/Java%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3
0781デフォルトの名無しさん
2007/11/05(月) 00:19:56全然違う。スタック変数の確保開放なんてのは単純な整数値の足し算引き算。
20 年前のプログラマがそんなん知らんで何作ってたんだ。
0782デフォルトの名無しさん
2007/11/05(月) 00:34:18・ヒープは new で確保する領域。広大な代わりにページ管理やらフラグメントやらで遅い。
・スタックは起動時に何kB〜何MB か確保されている固定領域。上限が低い変わりに
確保する順序と開放する順序が分かっているため、スタックポインタという 「次に変数が
必要なときはここから」 という整数に加減算するだけなので速い。バイト配列のインデッ
クスのようなもの。
詳しくは Wikipedia でも見れ。
0783デフォルトの名無しさん
2007/11/05(月) 00:35:57標準ライブラリのリファレンスがあるサイトとかないですか?
PHPのマニュアルのようなサイトとか・・・
0784デフォルトの名無しさん
2007/11/05(月) 00:39:41public static void main (String [] args) {
long test1,test2;
long startTime = System.currentTimeMillis ();
for (long loop = 0;loop <= 100000;loop ++) {
int test = 0;
test += 100;
test /= 100;
}
test1 = System.currentTimeMillis () - startTime;
startTime = System.currentTimeMillis ();
int test;
for (long loop = 0;loop <= 100000;loop ++) {
test = 0;
test += 100;
test /= 100;
}
test2 = System.currentTimeMillis () - startTime;
System.out.println ("test 1:" + test1 + " [msec].");
System.out.println ("test 2:" + test2 + " [msec].");
}
}
0785デフォルトの名無しさん
2007/11/05(月) 00:40:50test 2:5 [msec].
正直、結構違うもんだな〜と思った。
0786デフォルトの名無しさん
2007/11/05(月) 00:43:31ご丁寧にありがとうございます。時間かけて少しずつ理解しようと思います!
0787デフォルトの名無しさん
2007/11/05(月) 00:50:32順序逆転してみたら結果も逆転したくらいあてにならんのだが。
0788デフォルトの名無しさん
2007/11/05(月) 00:53:120789デフォルトの名無しさん
2007/11/05(月) 00:58:220790デフォルトの名無しさん
2007/11/05(月) 01:50:38>多くのオペレーティングシステムでは、時間を 10 ミリ秒の単位で計測します。
0791デフォルトの名無しさん
2007/11/05(月) 01:56:47int型の三次元配列のデータをファイルから読み込み、処理を行った後に同じデータを同じファイルに保存したいのですが
どうすればいいでしょうか?
参考となるものを探しているのですが、殆どが文字列を扱う入出力のみで、数値を扱う物を見つけられずに困っています。
0792デフォルトの名無しさん
2007/11/05(月) 02:04:35Win32 API 使っても 10〜20msec くらい。CPU クロック使えばもっと正確なの出せるだろうけど。
ナノ秒必要なの (正確に測れるの) って電話の交換機とかの環境。
0793デフォルトの名無しさん
2007/11/05(月) 02:05:45そのファイルの内容によりけり。数値を文字列として保存していれば文字列として読み込めばいいし、
バイナリファイルならフォーマットやエンディアンを知らんと何ともならん。
0794デフォルトの名無しさん
2007/11/05(月) 02:10:420795デフォルトの名無しさん
2007/11/05(月) 02:14:50まじだwwwwワロスwwwwwwwwwwwwww
0796デフォルトの名無しさん
2007/11/05(月) 02:56:19ゲームでfpsを調整するために普通に使うわけだが……?
0797デフォルトの名無しさん
2007/11/05(月) 03:30:35バイナリファイルではなく、あくまで三次元int配列の中身の数値を保存したいと思っています。
>>794
DataOutputStreamで配列を保存してみましたが、保存した配列を見るとすごいことになっていました…。
入力し、それを再度出力させると数値は保存されているのが確認できたプログラムを動かす上では問題なさそうです。
ただ、チラッとファイルを開いて中身を確認することは不可能ですが…。
とにもかくにも、問題を解決できました。大変感謝しています。ありがとうございました。
0798デフォルトの名無しさん
2007/11/05(月) 04:12:540799デフォルトの名無しさん
2007/11/05(月) 04:17:310800デフォルトの名無しさん
2007/11/05(月) 04:19:411000fpsを超えるゲームなんて聞いたことないのだが
0801デフォルトの名無しさん
2007/11/05(月) 04:35:140802デフォルトの名無しさん
2007/11/05(月) 06:10:06データの単位がナノなだけでなんでそこまでfpsあげなきゃなんないんだ馬鹿
もしかして1ナノまで正確にあってないといけないメソッドかと思ってるのか?
0803デフォルトの名無しさん
2007/11/05(月) 07:12:510804デフォルトの名無しさん
2007/11/05(月) 08:02:53extends。implementsは後から追加するかもしれんから。
0805デフォルトの名無しさん
2007/11/05(月) 09:12:590806デフォルトの名無しさん
2007/11/05(月) 11:18:421.4 で導入されたという、EventHandler というのは何だかすごく便利そうですね。
http://java.sun.com/javase/ja/6/docs/ja/api/java/beans/EventHandler.html
もしかして、もう今では、ちょっとしたボタンのリスナとかは、
匿名の内部クラスとかで作ったりはしなくなっちゃったの?
俺の知っている匿名内部クラスをリスナーにするというのは、廃れた古いやりかた?
あるいは1.5や1.6では、EventHandler より、もっと便利な物とか出ていたりする?
それとも今は、もうその辺りはあんまり気にせず、
IDE とかで生成させるにまかせるのが主流?
教えて、偉い人。
0807デフォルトの名無しさん
2007/11/05(月) 11:34:28Swingのパーツもガンガン作れるし、イベント定義まではIDEがザクザクつくって行くのが主流になりそうな感じ
まだ不安定だけど、6のβ2で試すといいよ
0808デフォルトの名無しさん
2007/11/05(月) 13:38:57>もしかして1ナノまで正確にあってないといけないメソッドかと思ってるのか?
>>792
>ナノ秒必要なの (正確に測れるの)
~~~~~~~~~~~~~~~~
0809デフォルトの名無しさん
2007/11/05(月) 13:58:53そりゃ使ってるってだけであって、その精度が保障されてて必須ってわけじゃないだろう。
ゲームごときと交換機を一緒にするなよ。
0810デフォルトの名無しさん
2007/11/05(月) 14:11:53それなんてデリゲート?
0811デフォルトの名無しさん
2007/11/05(月) 14:40:010812デフォルトの名無しさん
2007/11/05(月) 14:48:47なぜわざわざ抽象化する必要があるのか、どういう場面で使うのかがよくわかりません。
調べてもたいていabstractの書き方とかしかのってなくて・・・
0813デフォルトの名無しさん
2007/11/05(月) 14:55:47インターフェイスとは何か?
それはどのような場面でどのような意図で使われるか?
その辺りを調べていくと、抽象メソッド・クラスの意味も解ってくるはず。
0814デフォルトの名無しさん
2007/11/05(月) 15:14:20スーパークラス/サブクラスを自力で設計する必要が出てくれば自ずと分かる。
0815デフォルトの名無しさん
2007/11/05(月) 15:19:16オブジェクト指向に関係する概念だが、オブジェクト指向関連の解釈や説明は人の数だけあるので、
多態性(ポリモーフィズム)でググって理解してくれ。
0818デフォルトの名無しさん
2007/11/05(月) 15:44:32本当に812だとすれば、敵意に値するよ。
つまり、死ねってことさ。
0819デフォルトの名無しさん
2007/11/05(月) 15:47:46っておかしくね?w
0820812
2007/11/05(月) 15:50:35レスどうもありがとうございます。
教えていただいた語句を元に検索したところよさそうなサイトが見つかりました。
ttp://www.nextindex.net/java/index.html
interfaceから多態性までのっているみたいなので、
まだ読んでいませんが今から期待しつつ読んできます。
>>816-817は当然偽者ですのでお気になさらず・・・
というかこの板IDでないんですね。
0822デフォルトの名無しさん
2007/11/05(月) 15:53:17おまえ、結局そのアフィサイトを宣伝したかっただけだろ。
それが目的なんだろ。バレバレなんだよカス。
通報しました。
0823デフォルトの名無しさん
2007/11/05(月) 15:54:360824デフォルトの名無しさん
2007/11/05(月) 15:56:380825デフォルトの名無しさん
2007/11/05(月) 15:58:43よく見抜いたな
0826デフォルトの名無しさん
2007/11/05(月) 15:59:18お前ひねくれてんなw
別にクリックしなきゃいいじゃんよ
ていうか誰も気にもとめないし
アメリカ人がjapは他人が儲けることが気に入らない国民性って言ってたが
そのレスみてまさにその通りだと思った
0827デフォルトの名無しさん
2007/11/05(月) 16:02:200828デフォルトの名無しさん
2007/11/05(月) 16:03:460829デフォルトの名無しさん
2007/11/05(月) 16:30:37いいんちょ乙。
0830デフォルトの名無しさん
2007/11/05(月) 16:38:530831791
2007/11/05(月) 18:51:01DataInputStream in = new DataInputStream(new FileInputStream("save.txt")); …�@
DataOutputStream out = new DataOutputStream(new FileOutputStream("save.txt")); …�A
と連続して書くと、プログラムを実行した段階で、save.txtの内容が全て消えてしまい、save.txtが白紙になってしまいました…。
私は、javaアプリケーションで、処理の最後にボタンを押して終了時に3次元配列のデータの書き込みを行いたいと考えているのですが、
ボタンアクションの際に、例外のキャッチ、スロー宣言ができず、try-catch命令を用いて�Aを宣言しようとすると
outのシンボルが見つけられませんと表示されてしまい、目的の仕様を達成できません。
プログラムの途中での�Aの宣言も考えましたが、途中でプログラムを終了してしまうと、データが消えたままになってしまいます。
なにか良い解決策はないでしょうか?
0832デフォルトの名無しさん
2007/11/05(月) 18:53:28俺ならめんどいからそうする。
0833デフォルトの名無しさん
2007/11/05(月) 18:54:04名前 [ ]
備考 [ ]
選択
□A
□B
□C
□D
上のような画面からの入力を
<test>
<code>コード</code>
<name>名前</name>
<bikou>備考</bikou>
<sentaku value="A">
<sentaku value="C">
<sentaku value="D">
</test>
みたいなxmlに保存するやり方か、
分かり易い説明のあるサイトを教えて下さい。
0834デフォルトの名無しさん
2007/11/05(月) 18:57:44ファイルを出力用に開くのは本当に出力を行う直前にせれよ。
実行した段階で、とかプログラムの途中で、とか意味わかんねーところで開くなよ。
0835791
2007/11/05(月) 19:10:18DataInputStream in = new DataInputStream(new FileInputStream("save.txt"));…�@
DataOutputStream out = new DataOutputStream(new FileOutputStream("save.txt")); …�A
と連続で宣言すると、save.txtの中身が消えてしまい、データの読み込みを行う事ができません。
私は、javaアプリケーションで3次元配列のデータを読み込み、作業を行い、終了時に
ボタンを押してデータの書き込みを行って終了するプログラムを作っているのですが、
データの読み込みを行えないため実現できません。
ボタンアクション内で�Aを宣言して解決しようと考えたのですが、throws IOException例外の報告ができず
try-catch命令内で宣言すると、outのシンボルが見つけられませんと表示されました。
プログラムの途中で宣言しようと思ったのですが、途中で終了した場合、save.txtの中身が
消えたままになってしまうため、行いませんでした。
なにか解決策はないでしょうか?
0836デフォルトの名無しさん
2007/11/05(月) 19:21:46そのやり方は間違い。
>ボタンアクション内で�Aを宣言して解決しようと考えたのですが
そのやり方が正しい。
>outのシンボルが見つけられませんと表示されました。
お前さんの書いたコードのバグが原因。ちゃんと書け。
>プログラムの途中で宣言しようと思ったのですが
思うな。ボタンアクション内で�Aを書け。その上でバグを潰せ。
0837デフォルトの名無しさん
2007/11/05(月) 19:28:05これを実行した瞬間に、save.txt の内容は消去される (これから新しい内容を書き込む準備のために)。
終了時に書き込むのなら、そのときに初めて FileOutputStream を作れ。
前もってあらかじめ作成しておくのは間違い。
0838デフォルトの名無しさん
2007/11/05(月) 19:36:55クラスファイルの場合も絶対必要なのですか?
0839デフォルトの名無しさん
2007/11/05(月) 19:38:35はい
0840838
2007/11/05(月) 20:04:46本にはサーブレットは書いてあるんです。クラスファイルはどうかな?
とおもいまして。よくわかりました。
0841791
2007/11/05(月) 20:12:05大変申し訳ありませんでした。
>>832
ObjectOutputStreamについて、今始めて知りました。これから調べてみます。
>>834 >>837
解りました。自分も、なるべく直前にファイルを開きたいと思っているので、プログラム途中で開かないようにします。
>>836
バグの内容ですが、今一度コンパイルしてみた結果、どうやら、catchの条件に問題があるようです。
なんとかバグを潰してみます。
0842デフォルトの名無しさん
2007/11/05(月) 20:19:36不用なファイルを取り除いてダイエットさせようと思うのですが、
どういった手法を取るのが簡単でしょうか。
0843デフォルトの名無しさん
2007/11/05(月) 20:27:14画面からの入力ってのは何を意図しているか不明。
単純にJavaのオブジェクトからXMLを出力するライブラリであればBetwixとか
最近は標準ライブラリにもあるんだっけ?
0844デフォルトの名無しさん
2007/11/05(月) 20:30:31ObjectOutputStream とかのサンプルを作ってみた。
間違いとかあっても知らんけど俺の環境では動いた。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/70.java
0845デフォルトの名無しさん
2007/11/05(月) 20:31:57すみません。
Strutsを利用したサーブレットからです。
入力結果をxmlに出力したいです
0846デフォルトの名無しさん
2007/11/05(月) 21:28:540847デフォルトの名無しさん
2007/11/05(月) 21:34:31ファイルに新規データを上書きする前に、動かすかコピーして元のファイルの内容はとっておくのが普通
抽象クラスは、詳細が全体に依存するという、オブジェクト指向プログラミングと
構造的プログラミングの根本的な差異を生み出す重要な役目を果たす
0848デフォルトの名無しさん
2007/11/05(月) 21:55:15必要のないところでは、無駄に抽象クラスなどは使わないこと
必要かどうかの判断は、その問題のドメインに対する知識が有効だが、
とりあえずシンプルに作っておいて実際に必要になってから抽象化するといった、
アジャイル的な開発手法が有効と思われ
また、テストの記述にて生じる抽象化は適切なことが多いらしいので、
テスト駆動開発が有効らしいヨ
0849デフォルトの名無しさん
2007/11/05(月) 22:02:10尻まで読んだ
0850デフォルトの名無しさん
2007/11/05(月) 22:20:19オブジェクト指向プログラミングと構造的プログラミングの根本的な差異を生み出す←生み出してどうする?
伝家の宝刀←プログラムに切り札があるの?
その他はもっとわからん
0851デフォルトの名無しさん
2007/11/06(火) 00:11:380852デフォルトの名無しさん
2007/11/06(火) 00:12:310853デフォルトの名無しさん
2007/11/06(火) 00:21:200854デフォルトの名無しさん
2007/11/06(火) 00:42:240855デフォルトの名無しさん
2007/11/06(火) 01:47:51そのノードを探索するってことしたいんですが
ファイルの読み込み部分でうまくいかなくて・・・
実行時 java 実行ファイル名 読み込みファイル名.xml
としたいんですが
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder parser = factory.newDocumentBuilder();
Document doc = parser.parse(args[0]);
・・・・
の開始じゃまずいですか?
0856デフォルトの名無しさん
2007/11/06(火) 02:56:020857デフォルトの名無しさん
2007/11/06(火) 03:03:230858デフォルトの名無しさん
2007/11/06(火) 03:24:02構造化プログラミングでは、詳細なメソッドを順に積み上げていくことにより全体を構築する。
つまり、全体をあらわすロジックは、これらの詳細なメソッドに依存していることを意味する。
したがって、これらの詳細なメソッドを変更すると、全体のロジックに影響を及ぼす。
一方、オブジェクト指向プログラミングでは、詳細なクラス・メソッドを抽象化することで、
全体のロジックをこれらの詳細に依存せずに記述することができる。
これらの抽象クラスの所有権は全体のロジックの方であり、
むしろ、これらの実装の方が全体に依存することになる。
これにより、ソフトウェア開発のテーマの1つに挙げられるオープンクローズドを達成することができる。
これは、拡張に対して開いていて(拡張可能であり)、
修正に対して閉じている(拡張する場合でも修正する必要がない)ということを表す。
要するに、全体のロジックはそのままで、実装を入れ替えるだけで機能を拡張できる。
ただし、抽象化を行うと当然、それだけ分かりにくくなりコードの量も増え、保守のコストが増える。
一方、全ての拡張変更に対してオープンクローズドを満たすは無理。
したがって、どこを抽象化するかが問題になる。
その手がかりとして、問題領域に対する専門的な知識や、アジャイル的な開発、
テスト駆動による開発が挙げられる。
という眠れない夜の話
0859デフォルトの名無しさん
2007/11/06(火) 04:04:34ここはひとつ、比喩によるアプローチを試みてみようと思う。
構造化プログラミングを>>860とおけば、さしずめオブジェクト
指向プログラミングは>>861である。
うむ我ながらうまいたとえだ。
0860デフォルトの名無しさん
2007/11/06(火) 05:00:05疑問珍問
0861デフォルトの名無しさん
2007/11/06(火) 05:53:48> 実行時 java 実行ファイル名 読み込みファイル名.xml
これでやるなら
Document doc = parser.parse(new File("読み込みファイル名.xml"));
引数にStringを渡すときはURI指定。
0862デフォルトの名無しさん
2007/11/06(火) 12:05:09String schedule;
String place;
String owner_id;
public String getOwner_id() {
return owner_id;
}
public void setOwner_id(String owner_id) {
this.owner_id = owner_id;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
public String getSchedule() {
return schedule;
}
public void setSchedule(String schedule) {
this.schedule = schedule;
}
}
こんな感じで構造体?を宣言しておいて(続きます)
0863デフォルトの名無しさん
2007/11/06(火) 12:05:50インスタンス化して、ローカル変数の値を、構造体?クラスの変数に入れようとするとなぜかプログラムが停止します。
なぜでしょうか?構造体はprivate宣言してないので、直接でもセッターでも書き換えできると思うのですが。。。
したの様な感じでアクセスしてます。
System.out.println("user_id ="+user_id);
System.out.println("time_buf = "+time_buf);
System.out.println("schedule ="+schedule);
System.out.println("place ="+place);
lsd[pos].schedule = schedule;
lsd[pos].owner_id = user_id;
lsd[pos].place = place;
lsd[pos].setSchedule(schedule);
lsd[pos].setOwner_id(user_id);
lsd[pos].setPlace(place);
//System.out.println(lsd[pos].getSchedule());
//System.out.println(lsd[pos].getOwner_id());
//System.out.println(lsd[pos].getPlace());
直接アクセスする場合も、セッターを使う場合も、そのコードの行で止まってしまい、次の行にいきません。
よろしくお願いします><
0864デフォルトの名無しさん
2007/11/06(火) 12:47:11例外が出るって事?
0865デフォルトの名無しさん
2007/11/06(火) 12:50:290866862
2007/11/06(火) 13:01:46イクリプスでやってるのですが、コンソール上で正常終了します。
例外処理のprint出力もしているのですがでません。たとえば
System.out.println("place ="+place);
lsd[pos].schedule = schedule;
System.out.println("aaa");
とデバッグ文をいれても、aaaが出力されずに正常終了(といってもプログラム的にはバグ)します。
lsd[pos].schedule = schedule;をコメントアウトすると、正常終了(想定どおりの終了)します。
0867デフォルトの名無しさん
2007/11/06(火) 13:10:39どうせ、他の部分でぶっとんでんだろw
エクリプスなら、デバッガ使ってトレース汁。
0868862
2007/11/06(火) 13:13:53たとえそうだったとしても
lsd[pos].schedule = schedule;
の部分をコメントアウトすると動くのに、有効にすると次の行のコードを実行せずに終了するってのはここがおかしいと
思うのですが。。。
0869デフォルトの名無しさん
2007/11/06(火) 13:15:14posの値ぐらいチェックしてるんだろうな
0870862
2007/11/06(火) 13:33:190871デフォルトの名無しさん
2007/11/06(火) 13:34:590872デフォルトの名無しさん
2007/11/06(火) 13:39:43じゃあscheduleが不定なんだろ
0873862
2007/11/06(火) 13:42:12それはいったい。。。?
>>872
schduleってローカルのほうですか?そっちなら、ちゃんと文字列入ってます。
クラスで宣言しているほうのscheduleは初期値でnullとかいれないといけないんでしょうか?
0874デフォルトの名無しさん
2007/11/06(火) 13:58:47lsd[pos].schedule = schedule;
0875デフォルトの名無しさん
2007/11/06(火) 14:05:17配列の各要素のインスタンスを作れ
空の配列にアクセスして怒ってんじゃねーよw
0876デフォルトの名無しさん
2007/11/06(火) 15:40:23どのようにすればいいのでしょうか?
助けてください…
挿入時の、回転によるバランスの取り方は理解でき、コードを書くことができました。
0877デフォルトの名無しさん
2007/11/06(火) 16:02:24でvalueにint値を格納してもコンパイルが通るんですが、
getAttribute(String name)でint値を取得する方法はあるんでしょうか?
0878デフォルトの名無しさん
2007/11/06(火) 16:18:29SunとWindowsで通信をするとEUC(Sun側)とS-JIS(Windows)でどうしても文字化けが起こってしまいます。
JavaコードでWindows側にプログラムを作成したい場合どのようにしたらよいでしょうか??
0879デフォルトの名無しさん
2007/11/06(火) 16:19:280880877
2007/11/06(火) 16:20:340881デフォルトの名無しさん
2007/11/06(火) 16:23:19int value = ((Number)session.getAttribute(name)).intValue();
>>878
Writer out = new FileWriter("filename");
↓
Writer out = new OutputStreamWriter(new FileOutputStream("filename"), "MS932");
0882デフォルトの名無しさん
2007/11/06(火) 16:38:49>>875
解決しました。
オブジェクト型はメモリ確保後に、配列ごとにインスタンス化しないといけないのですね。
勉強になりました。ありがとうございます。
0883デフォルトの名無しさん
2007/11/06(火) 19:04:37インスタンスを作成する、とか実体化するとかはすんなり解るけど。
0884デフォルトの名無しさん
2007/11/06(火) 19:33:250885デフォルトの名無しさん
2007/11/06(火) 20:23:030886デフォルトの名無しさん
2007/11/06(火) 20:29:11インタンス の検索結果 約 984 件中 1 - 100 件目 (0.36 秒)
0887デフォルトの名無しさん
2007/11/06(火) 20:53:29srcフォルダ以下の複数のパッケージにまたがる
javaファイルをclassフォルダ以下にクラスファイルを作成したいと思い、
次のようなコマンドを実行したのですが、うまくいきませんでした。
javac -d .\class -sourcepath src
どうしたらコンパイルできるようになりますか?
Testフォルダの下にsrcとclassフォルダがあり、
Testに移動してから、上記のコマンドを実行しております。
ご教授お願いいたします。
0888デフォルトの名無しさん
2007/11/06(火) 22:10:520889デフォルトの名無しさん
2007/11/06(火) 22:15:57理論的には出来ないが、難読化ツールをかませば復元したコードをかなり読みづらくはさせられる。
0890デフォルトの名無しさん
2007/11/06(火) 22:51:29どうもデフォルトコンストラクタがなくてはできないようで・・
HttpServletResponseWrapperでデフォルトコンストラクタを作ってもsuper()を呼び出すようで
うまくいきません。
どうすればHttpServletResponseをDBに格納できますか?
0891デフォルトの名無しさん
2007/11/06(火) 23:01:05プラットフォームを限定するならクラスファイルを暗号化して
JNIで実装した復号用の独自クラスローダで呼び出すとか
参考?
http://web.archive.org/web/20060715231148/http://www-06.ibm.com/jp/developerworks/java/041217/j_j-onejar.html
0892デフォルトの名無しさん
2007/11/06(火) 23:01:43HttpServletResponse はレスポンスデータを送信するための機能のクラスなので保存できませんし
保存する意味もありません。
やりたいのは出力結果をデータベースに保存したいということだと思うのだが、出力内容をメモリ上にも
保持する出力ストリームクラスと、その内容を DB に保存するフィルタクラスとレスポンスクラスを作れば
何とかなるんじゃないか。
0893デフォルトの名無しさん
2007/11/06(火) 23:20:53例えばフィールドに値が代入されるタイミングとか。
クラスがロードされた時点ではフィールドに値が入ってないようなので。
0894デフォルトの名無しさん
2007/11/06(火) 23:31:46インスタンス変数が初期化されるタイミングはインスタンス生成時。
0895デフォルトの名無しさん
2007/11/06(火) 23:33:28実はTomcatでAjaxなプログラムを作っていまして、その際にResponseを配列に
格納しているのですが擬似的なコネクションの情報を一時的にDBに格納し、取り出せる
ようにしたいのです。
なので、レスポンスを返すための情報をあらかじめ取り出し、新しくレスポン
スを作ればいいでしょうが、どうにもこのインターフェイスには単独でnew
するためのコンストラクタもなく、またどういったフィールドが接続相手の情報
を保持しているのかも分からない状態で・・
良い案がありましたら教えてください。
0896デフォルトの名無しさん
2007/11/06(火) 23:38:16サーバから任意のタイミングでデータを送り付けたいのなら無理だ。
HTTP を勉強しろ。
0897デフォルトの名無しさん
2007/11/06(火) 23:44:56いえ、その点につきましてはもう解決済みです。具体的にはtomcat6から実装
されたCometを利用してデータの送信には成功しています。
しかし、複数のサーブレットからデータを送るにはやはりDBにコネクションの
情報を格納したいので、どうにかなる方法はないかな?というのが今回の相談です。
0898デフォルトの名無しさん
2007/11/07(水) 00:02:49もうちょっと話をまとめてから相談しないと分からないよ
0899デフォルトの名無しさん
2007/11/07(水) 00:12:11設計しなおせ。
0900デフォルトの名無しさん
2007/11/07(水) 00:18:03Filter
0901デフォルトの名無しさん
2007/11/07(水) 00:42:37COMET ってそのうちの一本を占有しちゃうから、同一プロセスで別ウィンドウ立ち上げて
COMET 使ったり、ファイルダウンロードしたりするともうブラウザが通信できなくなっちゃうのよな。
そのへんちゃんと分かってて使ってるのかな。
0902デフォルトの名無しさん
2007/11/07(水) 01:20:32分かってないんだろうな。
てか、分かってなかったので今DNSを立ててます。
ホスト名大量生産・・・
0903デフォルトの名無しさん
2007/11/07(水) 01:30:01何がしたいのかすら理解できねぇwwww
俺\(^o^)/オワタ
0904デフォルトの名無しさん
2007/11/07(水) 01:43:10擬似コネクションをDBに
->あきらめた。メモリ好きなだけ食ってくれ。
同一ドメインに対しての制限(TCP/IP接続)
->XXX.hoge.fuga.jp (XXXはサーブレット名とか?)のようなアドレスを大量に。
あとはIframeで飛んでどうにか。。。
ということにしました。
こんな未熟者に付き合っていただき本当にありがとうございました。
0905デフォルトの名無しさん
2007/11/07(水) 03:39:54public class task1_2{
public static void main(String args[]){
int[] a = new int[2];
int i, j ; a[0] = a[1] =0 ; j = 0 ;
int dt[] = {4, 0, 3, 1, 3, 2, -4, -2};
for(i = 0; i > 8; i++){
j = dt[i] % 2 ;
if (j == 0){
a[0]++;
}
else{
a[1]++;
}
}
System.out.println("偶数=" + a[0] );
System.out.println("奇数=" + a[1] );
}
}
↑でどこがちがうのでしょうか?
0906デフォルトの名無しさん
2007/11/07(水) 04:00:450907デフォルトの名無しさん
2007/11/07(水) 07:55:09int[] dt = {4, 0, 3, 1, 3, 2, -4, -2};
for(int i = 0; i < dt.length; i++){
a[dt[i] % 2]++;
}
System.out.println("偶数=" + a[0] );
System.out.println("奇数=" + a[1] );
}
0908デフォルトの名無しさん
2007/11/07(水) 07:57:410909デフォルトの名無しさん
2007/11/07(水) 09:04:33B木をinorderで巡回するためのアルゴリズムを教えてください。
0910デフォルトの名無しさん
2007/11/07(水) 09:05:55偶数・奇数は補集合なのだから、偶数をカウントして残りを奇数とすべき。
0911デフォルトの名無しさん
2007/11/07(水) 09:52:26かな。if文取ろうと思ったんだが、abs呼び出し分損するなあ。
0912デフォルトの名無しさん
2007/11/07(水) 10:27:230913デフォルトの名無しさん
2007/11/07(水) 10:41:48final int DIV_NUMBER = 15;
int[] dataAr = {4, 0, 3, 1, 3, 2,6,-4,-1,-2,7,13};
int[] totalAr = new int[DIV_NUMBER];
for(int i = 0; i < dataAr.length; i++){
totalAr[Math.abs(dataAr[i] % DIV_NUMBER)]++;
}
System.out.println("データ配列を" + DIV_NUMBER + "で割ったときの余り別の個数は");
for(int i = 0; i < totalAr.length; i++){
System.out.println("余り" + i + ":"+totalAr[i] +"個");
}
0914デフォルトの名無しさん
2007/11/07(水) 14:44:48int[] dt = {4, 0, 3, 1, 3, 2, -4, -2};
for(int i = 0; i < dt.length; i++){
a[dt[i] & 1]++;
}
System.out.println("偶数=" + a[0] );
System.out.println("奇数=" + a[1] );
}
0915デフォルトの名無しさん
2007/11/07(水) 15:19:190916デフォルトの名無しさん
2007/11/07(水) 15:23:02馬鹿がコピペして動きませんとかいいそうで最近はあんまやってないなあ
0917デフォルトの名無しさん
2007/11/07(水) 15:24:38なんだこいつ?
0918デフォルトの名無しさん
2007/11/07(水) 15:32:450919デフォルトの名無しさん
2007/11/07(水) 15:37:32タブ文字と、2つ以上連続した半角スペースの2つ目以降は
2ちゃんねるでは表示されない(というか無かった事にされる)
全角スペースが混じっているとコンパイルエラーの元
なのでインデント無しが無難
0920デフォルトの名無しさん
2007/11/07(水) 15:39:30{
public static void main(String[] args)
{
int guusuu = 0;
int kisuu = 0;
int dt[] = {4, 0, 3, 1, 3, 2, -4, -2};
for (int i = 0; i < dt.length; i++){
if ((dt[i] % 2) == 0) {
guusuu++;
} else {
kisuu++;
}
}
System.out.println("偶数 = " + guusuu);
System.out.println("奇数 = " + kisuu);
}
}
0921デフォルトの名無しさん
2007/11/07(水) 15:39:540922デフォルトの名無しさん
2007/11/07(水) 15:54:37そのままベタでうpの方が楽。
見づらかったらオートインデントすりゃいいし、この程度の長さなら別に見にくくはないだろ。
0923デフォルトの名無しさん
2007/11/07(水) 15:55:25参考書等を見ながら作ったのですが、
点が画面端まで行って困ってます。
どこを変えれば途中で動きを止めれるのでしょうか?
例えば、10上に動かしたら繰り返すです。
作ったソース→http://www12.axfc.net/uploader/93/so/File_2396.txt.html
0924デフォルトの名無しさん
2007/11/07(水) 15:58:130925デフォルトの名無しさん
2007/11/07(水) 16:01:32スレッドの悪い使い方の見本だな
まぁいいけど
例えば、10上に動かしたら繰り返す場合、単純に考えて
a.y = a.y - 3;
を
a.y = a.y - 3;
if (a.y <= 135) {
a.y = 145;
}
にすればいいんじゃないかと思う
0926デフォルトの名無しさん
2007/11/07(水) 16:15:44どう考えても普通やらないと思うんだが。
0927デフォルトの名無しさん
2007/11/07(水) 16:30:09ありがとうございます。
これで先に進めそうです。
0928デフォルトの名無しさん
2007/11/07(水) 16:32:00動かすオブジェクトごとにスレッド作る必要ないって趣旨なのに
イベントディスパッチスレッドがどうとかシングルスレッドじゃないとか
関係ないところで絡んできた奴がいたので話が進んでいません
0929デフォルトの名無しさん
2007/11/07(水) 16:50:10質問者ならちゃんとレス番を名前にいれろやw
0930デフォルトの名無しさん
2007/11/07(水) 17:26:13そらポリデントやがな。
0931デフォルトの名無しさん
2007/11/07(水) 18:02:16if文つかってるじゃんw普通すぎw
0932デフォルトの名無しさん
2007/11/07(水) 18:08:13シングルスレッドって言ってみたかったバカが約一名居ただけ。
0933デフォルトの名無しさん
2007/11/07(水) 18:10:020934デフォルトの名無しさん
2007/11/07(水) 18:10:190935デフォルトの名無しさん
2007/11/07(水) 18:11:320936デフォルトの名無しさん
2007/11/07(水) 18:13:182つ以上あるとなにか不都合でもあるんですか?
0937デフォルトの名無しさん
2007/11/07(水) 18:14:370938デフォルトの名無しさん
2007/11/07(水) 18:15:06不都合というかそういう仕様
0939デフォルトの名無しさん
2007/11/07(水) 18:15:21いちいち描画のタイミングで条件判定やらデータロードやらしてたらカクカクゲームになるんじゃないのか。
0940デフォルトの名無しさん
2007/11/07(水) 18:15:33ねーよ、管理しっかりすればな。
0941デフォルトの名無しさん
2007/11/07(水) 18:22:570942デフォルトの名無しさん
2007/11/07(水) 18:23:140943デフォルトの名無しさん
2007/11/07(水) 18:24:570944デフォルトの名無しさん
2007/11/07(水) 18:26:100945デフォルトの名無しさん
2007/11/07(水) 18:26:360946デフォルトの名無しさん
2007/11/07(水) 18:28:16不正確ってどこが?
0947デフォルトの名無しさん
2007/11/07(水) 18:31:240948デフォルトの名無しさん
2007/11/07(水) 18:34:221ファイル1クラスという制限は、
public修飾子が宣言されている場合に限定される。
0950デフォルトの名無しさん
2007/11/07(水) 18:38:110951デフォルトの名無しさん
2007/11/07(水) 18:40:27本気で知らなかった以外で 「仕様」 と断言してしてしまうわけはないと思うんだが。
0952デフォルトの名無しさん
2007/11/07(水) 18:41:29doubleの場合とかどうなるんだろ、使わんから解らんw
0953デフォルトの名無しさん
2007/11/07(水) 18:43:26実数の割り算での余りとはなんぞや?
0954デフォルトの名無しさん
2007/11/07(水) 18:45:440955デフォルトの名無しさん
2007/11/07(水) 18:46:15public class a{
a.java を上書きしますか? (Yes/No/All): y
public static void main(String[] args){
System.out.println(100.0 % Math.PI);
}
}
^Z
1 個のファイルをコピーしました。
C:\Documents and Settings\aaa\a>javac a.java
C:\Documents and Settings\aaa\a>java a
2.6106277387164134
0956デフォルトの名無しさん
2007/11/07(水) 18:48:490957デフォルトの名無しさん
2007/11/07(水) 19:33:01このホームページのソースコード間違ってませんか?
例えば7番目と8番目のソースコードは継承してないし
2番目と3番目はabstractがついているのはおかしいと思います。
それか自分がまちがってるのか自信がありません。
教えてください。
0958デフォルトの名無しさん
2007/11/07(水) 20:30:15デバッグぐらいしたらいいのにといつも思います
仕事が少なくて暇で転職考えてるような人が書いてるでしょうからそれなりの
ものしかないってことでしょうね
0959デフォルトの名無しさん
2007/11/07(水) 20:44:29まんまで実用性求めてる奴なんているのか?
0960デフォルトの名無しさん
2007/11/07(水) 21:01:360961デフォルトの名無しさん
2007/11/07(水) 21:04:55どこで質問していいか、それすらわからないまま、ここにたどり着きました。
技術的な事なのですが、
http://web.archive.org/web/20070612135614/hinan.ekd.ne.jp/atopi/subback.html
ここのスレッド一覧の
http://web.archive.org/web/20070612135614/http://hinan.ekd.ne.jp/test/read.cgi/atopi/1073982368/l50
にアクセスすると、
http://web.archive.org/web/20050310194910/hinan.ekd.ne.jp/test/read.cgi/atopi/1073982368/l50
転送されます。つまり、
2007年6月12日のアーカイブにアクセスしても
2005年3月10日に取得されたアーカイブ転送。
http://web.archive.org/web/20060301214747/http://hinan.ekd.ne.jp/atopi/subback.html
ここのスレッド一覧の
http://web.archive.org/web/20060301214747/http://hinan.ekd.ne.jp/test/read.cgi/atopi/1073982368/l50
にアクセスすると
http://web.archive.org/web/20050310194910/hinan.ekd.ne.jp/test/read.cgi/atopi/1073982368/l50
に転送されます。
2006年3月12日のアーカイブにアクセスしても
2005年3月10日のアーカイブに転送。
0962デフォルトの名無しさん
2007/11/07(水) 21:06:52WayBack archiveのサーバーに取り付けするのでしょうか?
それとも他のサーバーから転送させることができるのでしょうか?
0963デフォルトの名無しさん
2007/11/07(水) 21:12:03例えば12345678という数字があります。
これを 1234 5678 にするにはどうすればいいんでしょうか。 (一つのブロック最高4つの数です)
どうかよろしくお願いします。
0964デフォルトの名無しさん
2007/11/07(水) 21:16:11ベントラーベントラー
0965デフォルトの名無しさん
2007/11/07(水) 21:17:49レスありがとうございます。ベントラーって一体なんでしょうか^^;
0966デフォルトの名無しさん
2007/11/07(水) 21:28:43963です
実は今やろうとしてるのはStringをAsciiの値に変え、一つのブロックがK以下にしたいんです。
例えば
intList("HERE IS AN EXAMPLE STRING", k=0) = 7269826932738332657832698865778076693283482737871
これでk=100000の場合、 72698 26932 73833 26578 。。。
何とかAsciiの値を返すことは今できたのですが分けることができません。誰かお助けを。・゚・(ノД`)・゚・。
今現在のコードは
private static BigInteger intList(String s)
{
byte[] asciiCodes = s.getBytes();
return new BigInteger(asciiCodes);
}
です
0967デフォルトの名無しさん
2007/11/07(水) 21:34:173つファイルがいりますよね?
0968デフォルトの名無しさん
2007/11/07(水) 21:39:33中途半端な桁はどうするの? あと、途中で零が挟まってる場合とか
12345054321
→ 12345 5432 1 ?
→ 12345 54321 ?
→ 1 23450 54321 ?
0969デフォルトの名無しさん
2007/11/07(水) 21:41:16public なクラスは 1 個ごとに 1 つファイルが必要
public でないクラスは他のクラスと同じファイルに入れられる
0970デフォルトの名無しさん
2007/11/07(水) 21:42:32レスありがとうございます。中途半端な桁はそのままでいいです。
12345054321
→ 12345 5432 1
どうかよろしくお願いします。
0971デフォルトの名無しさん
2007/11/07(水) 21:44:02あ、すいません、0を含む場合は
12345054321
→ 12345 05432 1
です^^;
0972デフォルトの名無しさん
2007/11/07(水) 21:44:54超適当コード
int keta = String.valueOf(k).length() - 1;
if(keta <= 0) return s;
List<String> list = new ArrayList<String>();
for(int i=0; i<s.length(); i+=keta){
if(i + keta <= s.length()){
list.add(s.substring(i, i + keta));
} else {
list.add(s.substring(i);
}
}
>>967
パッケージプライベートなクラスなら 1 ファイル内に幾らでも入れられる。
Timer とか JDK のソースでも読め。
0973デフォルトの名無しさん
2007/11/07(水) 21:47:14どうもありがとうございます。
0974デフォルトの名無しさん
2007/11/07(水) 21:56:000975デフォルトの名無しさん
2007/11/07(水) 22:25:480976デフォルトの名無しさん
2007/11/07(水) 22:29:11そーっすか?
0977デフォルトの名無しさん
2007/11/07(水) 22:29:180978デフォルトの名無しさん
2007/11/07(水) 22:29:43調子にのるなゆとり
0979デフォルトの名無しさん
2007/11/07(水) 22:31:570980デフォルトの名無しさん
2007/11/07(水) 22:33:34うは、ゆとりときたかw
0981デフォルトの名無しさん
2007/11/07(水) 22:39:50【初心者】Java質問・相談スレッド108【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1194442749/
0982デフォルトの名無しさん
2007/11/07(水) 22:40:04クラスAのメソッドでThreadLocalをnewして、setを読んだ後クラスBでどうやってこれを参照すればよいのですか?
0983デフォルトの名無しさん
2007/11/07(水) 22:45:36ThreadLocal を使用しないでクラスAとクラスBで同じオブジェクトを参照する場合と同様にやればよい
ThreadLocal を何か勘違いしてないか?
0984デフォルトの名無しさん
2007/11/07(水) 22:49:50クラス A に ThreadLocal に入れる値の getter 付ければ良いじゃん。
あと ThreadLocal はメソッド内で new するもんじゃない。
class A{
private static final ThreadLocal tl = new ThreadLocal();
public static Object getObject(){ return tl.get(); }
}
0985デフォルトの名無しさん
2007/11/07(水) 22:51:38してオブジェクトAにオブジェクトBかCを代入するとどうなりますか?
0986デフォルトの名無しさん
2007/11/07(水) 22:53:13> 抽象メソッドがないときに
> 抽象メソッドをオーバーライドして
ないメソッドはオーバーライドできません。
0987デフォルトの名無しさん
2007/11/07(水) 22:58:50たぶん同名のメソッドを定義した場合ってことだろうけど、基底のメソッドがprivateだとしたら、
名前が同じなだけの、全く別のメソッドとして扱われるだろうよ。
もしprotected以上ならfinalなせいで同名のメソッドは定義できない。
0988デフォルトの名無しさん
2007/11/07(水) 23:05:18GC まで未完成のファイルを削除できないというウンコ設計?
ソース読んだ限りでは parseRequest() 内で例外発生すると明示的に削除する
術がないみたいなんだけど。
0989デフォルトの名無しさん
2007/11/08(木) 00:00:060990デフォルトの名無しさん
2007/11/08(木) 00:01:19>>920
0991デフォルトの名無しさん
2007/11/08(木) 06:21:51ファイナライザがなんのためにあるのかと
0992デフォルトの名無しさん
2007/11/08(木) 09:02:380993デフォルトの名無しさん
2007/11/08(木) 09:12:21select * from hoge where hoge_id = ?
pstmt.setString("hoge");
とした場合、hoge_idがchar(20)の場合、検索結果が0件になります。
pstmt.setString("hoge ");
といった感じで桁数を合わせてやると正常に検索されます。
CHAR型の場合は、このようにスペースを付加して
桁数を合わせる必要があるのでしょうか?
DBはOracleです。
もっとスマートな方法はあるでしょうか?
0994デフォルトの名無しさん
2007/11/08(木) 09:13:32>>981
0995デフォルトの名無しさん
2007/11/08(木) 09:16:53CHARは固定長文字列の型なので、そういうもんだ
イヤならVARCHAR2を使え
0996デフォルトの名無しさん
2007/11/08(木) 10:42:02了解です。
0997デフォルトの名無しさん
2007/11/08(木) 16:12:520998デフォルトの名無しさん
2007/11/08(木) 16:14:080999デフォルトの名無しさん
2007/11/08(木) 16:19:03【初心者】Java質問・相談スレッド108【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1194442749/
1000デフォルトの名無しさん
2007/11/08(木) 16:19:5610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。