【初心者】Java質問・相談スレッド93【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/22(日) 13:42:10質問をする前に、貴方が見なければならないサイトについての情報は、
下の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 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
前スレッド
【初心者】Java質問・相談スレッド92【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1159700963/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりで。
0655デフォルトの名無しさん
2006/11/12(日) 14:09:290656デフォルトの名無しさん
2006/11/12(日) 14:15:27649氏と一部かぶるが
・delegate がない。
・プロパティがない。
・protected のスコープがパッケージまで及ぶ。
・チェック例外とチェックしない例外がある。
・struct 相当のユーザー定義型はない
・ref/out に値する引数の渡し方はない。
・switch の case 式に String を使えない。
・属性(attribute)に似た注釈(annotation)がある。
など。細かい違いは多数あるが、C/C++ ほど違うわけじゃない。
後発だけあって C# の方が言語構文は優れてると言う意見が支配的。
(プロパティとdelegate、ref/out が特に素晴らしいと個人的に感じる。)
画面作ることに関しては VS.NET より Eclipse+VE の方が好き。
動作がとてつもなく遅いがリファクタリングの正確さや
ファイル配置・変数配置の自由度が上だと感じる。
これはもう個人の感想だけど。
0657デフォルトの名無しさん
2006/11/12(日) 14:16:57時間がないなら流し読みの技術身につけた方が良いよ。
あと部活がどうとか、誰も聞いてないこと書く必要ないから。
(読む側の時間も考えてくれよ。)
0658640
2006/11/12(日) 14:38:20まさに私が知りたかったことです!
後は掘り下げていくうちに数珠繋ぎでわかっていくかと思いますので、自分でやっていきます
ありがとうございました
>>657
忙しい理由も添えないと、ただの「怠慢」に取られそうでしたので。。
無理に読ませようとは思ってませんので、煩雑に感じたなら無視してください
迷惑掛けてるようなので去ります
ありがとうございました
0659デフォルトの名無しさん
2006/11/12(日) 14:42:30迷惑ってほどでもないので、またつまったら来るヨロシ。
ID出てないから証明しようがないけど、
656,657 は同一人物(俺)による発言だよ。
0660デフォルトの名無しさん
2006/11/12(日) 14:52:350661デフォルトの名無しさん
2006/11/12(日) 15:10:45dataset.addValue(0.2, "売上高", "2001年");
dataset.addValue(2.2, "売上高", "2002年");
dataset.addValue(5.1, "売上高", "2003年");
dataset.addValue(9.8, "売上高", "2004年");
dataset.addValue(12.0, "売上高", "2005年");
JFreeChartのデータの部分をcsvファイルから追加したいのですがどのようにしたらできますか?
csvファイルの中身は下記の通りです。
0.2,売上高,2001年
2.2,売上高,2002年
5.1,売上高,2003年
9.8,売上高,2004年
12.0,売上高,2005年
0662デフォルトの名無しさん
2006/11/12(日) 15:52:24C# ≒(Java + C++)/2
みたいなもんだと俺は思ってる
0663デフォルトの名無しさん
2006/11/12(日) 15:54:37> 後発だけあって C# の方が言語構文は優れてると言う意見が支配的。
> (プロパティとdelegate、ref/out が特に素晴らしいと個人的に感じる。)
俺としては、それも素晴らしいとはとても思えなかった。
アノテーションより先に属性を導入した点だけはC#にアドバンテージが
あったと見えたけど、それ以外は大したことがないというか
0664デフォルトの名無しさん
2006/11/12(日) 16:05:55と、Java基地外が悔しさ紛れにつぶやいております。
0665デフォルトの名無しさん
2006/11/12(日) 18:45:51一部かじっただけでは批評ではなく第一印象。
0666デフォルトの名無しさん
2006/11/12(日) 21:52:27>>472を作り方かヒントだけでも、お願いしますorz
いろんなサイト見たけど、分かりません、、、
0667デフォルトの名無しさん
2006/11/12(日) 22:24:53http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28471 サーバー
ソケット通信のプログラムなんですが、2台のPCでサーバーを構築してサーバーからサーバーへのメッセージを転送するには
どうしたらいいんでしょうか。クライアントのconnectToServer();の記述を加えたりしてみたんですができなかったので・・・
0668デフォルトの名無しさん
2006/11/12(日) 22:24:560669デフォルトの名無しさん
2006/11/12(日) 22:39:30| |
スペースキーをずっと押していると文字がフィールド内に収まらず隠れてしまうのですが
何かいい方法があれば教えてください。
0670ぴゅあ
2006/11/12(日) 23:31:56>できなかったので・・・
やったのなら、どうできなかったかというものがあったりする筈ですが。。。
(それは書かれてないので置いといて)
「2台のPCでサーバーを構築してサーバーからサーバーへのメッセージを転送する」の前に
まずその既にあるクライアント,サーバーのソースコードがよく理解できていないことが
現れているようにも思えます
0671ぴゅあ
2006/11/12(日) 23:36:49>JTextField で文字制限はプログラムで書けばできるのですが、
>スペースキーをずっと押していると文字がフィールド内に収まらず隠れてしまう
まず
・フィールドの幅を広げれば済むことなのか
・フィールドに文字数制限を掛けることができていないのか
或いはその他の問題なんでしょうか?
0672デフォルトの名無しさん
2006/11/13(月) 00:46:43「requestFocusInWindow」
これどのような処理だかわからないです
0673デフォルトの名無しさん
2006/11/13(月) 01:52:11またお前Javaスレを荒らし始める例のAA厨かよ
0674デフォルトの名無しさん
2006/11/13(月) 06:09:18int aの中身が1,3,5,7,8,10,12の場合の処理が同じ。
4,6,9,11の場合の処理が同じ。
2だけ違う処理。
という構文を書く場合if文ではif(a == 1 || ...)と書くのは大変です。
しかしswitchで書く場合は処理をその都度書く必要があるので大変です。
12通りは必要になります。
処理は各々のメソッドに入れるものとして構文自体をもっと簡単に書く方法はありませんか?
勉強不足ですみません。
よろしくお願いします。
0675デフォルトの名無しさん
2006/11/13(月) 06:49:31switchのbreak削ったらいいじゃね?
0676デフォルトの名無しさん
2006/11/13(月) 06:57:55わかりにくい分ですみません。
例えばswitch文に例えるなら
switch(a) {
case 1 : System.out.println(); break;
case 2 : System.out.print(); break;
case 3 : hoge(); break;
}
ではなく
switch(a) {
case 1, 3, 5, 7, 8, 10, 12 : System.out.print(); break;
case 4, 6, 9, 11 : System.out.println(); break;
}
の様に同じ処理をする変数の場合まとめて書くことができないのか?
できるだけ短く記述できないでしょうか?という事です。
0677デフォルトの名無しさん
2006/11/13(月) 07:01:44標準入力を使いint xの場合1 < x <100の間以外の数字を入力された
場合例外を吐き出す、または再度入力を促す様にしたいです。
よろしければご教授ください。
0678675
2006/11/13(月) 07:12:56これじゃだめなのかな?
switch(a)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
//処理(1)
break;
case 4:
case 6:
case 9:
case 11:
//処理(2)
break;
case 2:
//処理(3)
break;
}
0679デフォルトの名無しさん
2006/11/13(月) 07:15:54throw
0680ぴゅあ
2006/11/13(月) 07:39:31if構文の使い方が解らない?
だとすれば基本的な部分を学び直すということになると思うけど
>例外を吐き出す
は>>679の言うthrowの使い方を知ることだろうけど
>再度入力を促す様にしたい
do〜whileループ(使いそうなときは稀なので怪しいけど…確かJavaでもあった筈?)の使い方とか
これも基本的な部分になると思うけど
サンプルを示して解説されているようなもので理解してみるのがいいかも
ってところなのかな?
0681デフォルトの名無しさん
2006/11/13(月) 10:21:47Exceptionの使い分けがよくわからなくて…。
>>680
できれば
try {
BufferedReader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("数値を入力してください");
int a = Integer.parseInt(input.readLine());
} catch(Exception e) { //ここが怪しいです
System.out.println("範囲外の数値が入力されました");
}
の様に使いたいです。
int a = Integer.parseInt(input.readLine());
if(1 < a && a < 100) {
System.out.println("範囲外の数値が入力されました");
}
とするべきでしょうかね?
良くないのは知っていますがgoto構文などが使えれば凄く楽になると思っています。
0682676
2006/11/13(月) 10:32:09すみません意味を理解できていませんでした。
わざわざどうもありがとうございます。
アルゴリズムの習得?というか練習の為パッケージを使用せずにカレンダーを
作ろうとしてるんですけど曜日の概念だけがとても難しいですね。
現時点ではまだ入力された月を表示する位のつもりですけどそれでも曜日が難しいです。
また詰まったら質問しに来ると思うのでその時はよろしくお願いします。
0683デフォルトの名無しさん
2006/11/13(月) 12:07:38それだけのこと。
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
System.out.println("大の月");
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("29日");
} else {
System.out.println("28日");
}
case 4: case 6: case 9: case 11:
System.out.println("小の月");
default:
System.out.println("ぶっちゃけありえなーい");
}
曜日はツェラーの公式を検索してきて使えばよろし。
(難しい式でもないし)
0684デフォルトの名無しさん
2006/11/13(月) 13:17:480685デフォルトの名無しさん
2006/11/13(月) 13:52:02状況から考えるに例外で処理するより、普通のエラー処理の方が分かりやすくない?
入力検証通した後なら assert で値チェックしたり、実行時例外投げるのもありだけど。
while(true){
// 入力待ち
// 入力検証
if( 入力エラー ){
// エラーメッセージ(再度入力しろとかなんとか)
}
// 入力問題なし
break;
}
0686デフォルトの名無しさん
2006/11/13(月) 13:52:510687デフォルトの名無しさん
2006/11/13(月) 15:12:29Java2DとSwingに関連する内容なのですが、
JPanalを継承したクラスを、JTabbedPaneにaddして、そのクラスのpaintメソッドで
Java2Dの描画を行っています。
そこで、
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
AffineTransform af = new AffineTransform();
g2.setTransform(af);
以下描画...
}
とすると、ウィンドウサイズを変更したり、再描画させたりした時に描画するものの位置がずれます。
具体的にいうと、jTabbedPaneのタブの大きさだけ描画した物が上に移動します。
原因を調べてみると、どうもAffineTransformオブジェクトをGraphics2Dに登録すると、
座標計算の基準点がタブに登録したJPanel派生クラスの領域の左上ではなく、
jTabbedPaneの領域(タブ表示域も含んだ)の左上に、再描画の時に変更になってしまうようなのです。
これはJavaランタイムのバグなのでしょうか。ちなみにJavaのバージョンは1.5.0_08です。
0688デフォルトの名無しさん
2006/11/13(月) 15:14:59import java.util.Scanner;
public class test2 {
public static void main(String args[]) {
try {
int i = 0;
String[] words = null;
// ファイルを指定し開く。
Scanner f = new Scanner(new File("データ.dat"));
// ファイルから1行分入力しコンソールへ出力。
while( f.hasNextLine() ) {
String s = f.nextLine();
words[i] = s;
++i;
}
while( i < words.length ) {
System.out.println(words[i]);
++i;
}
} catch( Exception e ) {
System.out.println("エラー");
}
}
}
ファイルは存在しますが
うまく動作せずに例外処理になってしまいます。
どうすればいいか教えてください。
0689デフォルトの名無しさん
2006/11/13(月) 15:48:40ファイルを直でリンクさせてダウンロードさせると
ユーザの環境によっては画像やtxtファイルなどは展開されてしまうので
拡張子にかかわらずファイルの保存を表示させたいのですが
良い方法はありますでしょうか
0690デフォルトの名無しさん
2006/11/13(月) 20:11:56private String toColor(String s){
z = s.replaceAll("green", "緑");
z = s.replaceAll("red", "赤");
z = s.replaceAll("blue", "青");
z = s.replaceAll("yellow", "黄色);
return(z);
}
として、入力された文字に対して置換を行うプログラムを作っています。
実行は出来たのですが、何故か一番下の置換プログラム(yellow→黄色の行)しか処理せず、
緑〜青はそのまま英文で出て来てしまいます。
このほかに必要なプログラムがあるのでしょうか?どうぞ、宜しくお願いします。
0691デフォルトの名無しさん
2006/11/13(月) 20:27:11z = z.replaceAll("red", "赤");
z = z.replaceAll("blue", "青");
z = z.replaceAll("yellow", "黄色);
えーっと、変換した文字列は次の処理へ渡さないとダメですよ。
zが毎回、不変のsから生成されてます
0692デフォルトの名無しさん
2006/11/13(月) 20:28:36zってのをどこで宣言してるのがわからんが、それを使いたいのなら
z = s.replaceAll("green", "緑");
z = z.replaceAll("red", "赤");
z = z.replaceAll("blue", "青");
z = z.replaceAll("yellow", "黄色);
return(z);
以上。
0693デフォルトの名無しさん
2006/11/13(月) 20:34:41勝手に省略せずにエラーを書け。
words が確保されてなくて NullPointerException?
十分なサイズを確保するか、もしくは配列やめてリストにするとか。
0694デフォルトの名無しさん
2006/11/13(月) 20:37:13Java とは一切関係ない。
Web制作板で聞いた方が適切。
0695デフォルトの名無しさん
2006/11/13(月) 20:45:18ご回答ありがとうございます。
sを使用するのは1行目だけで、2行目からはzを使用するんだったんですね。
プログラムが動くと共に理解できてよかったです。丁寧なご回答ありがとうございました。
ネットで探しても置換プログラムがどこも1行だけだったので、思い切ってこちらで聞いてよかったです。
0696デフォルトの名無しさん
2006/11/13(月) 21:23:38> サーブレットでアップローダーの作成をしているのですが
> ファイルを直でリンクさせてダウンロードさせると
> ユーザの環境によっては画像やtxtファイルなどは展開されてしまうので
> 拡張子にかかわらずファイルの保存を表示させたいのですが
> 良い方法はありますでしょうか
Jakarta Commons FileUploadを使うことを
お勧めする。非常に簡単にアップローダを作ることができるぞ
0697デフォルトの名無しさん
2006/11/13(月) 21:24:04いや、そうでもないな。
Commons FileUploadを使えばいい
とだけはいっておくべき
0698デフォルトの名無しさん
2006/11/13(月) 21:37:48それはそれとして他に知っとくべきことが多すぎない?
0699デフォルトの名無しさん
2006/11/13(月) 22:20:04初心者質問ですいません
0700デフォルトの名無しさん
2006/11/13(月) 22:29:03で、player.play()・player.stop()は効いているようなのですが、
player.close()ができていないようなのです。
そんな状態になっている方いませんでしょうか?
そして解決方法があれば教えていただきたいのですが。
0701デフォルトの名無しさん
2006/11/13(月) 22:30:29連投すいません。
0702519
2006/11/13(月) 23:05:57ボタンを配置して、そのボタンをクリックしたら別のwindowが
出るようなプログラムをつくりたいんです。
前のwindowを残して新しいwindowが出るようなプログラムって
できるんですか?
0703デフォルトの名無しさん
2006/11/13(月) 23:11:520704デフォルトの名無しさん
2006/11/13(月) 23:15:48Listオブジェクトとやりとりしたいのですが、(羅列するのが大変なので)
for文の中で「"getCode" + i」みたいなことをやって、その文字列のメソッドを
呼び出す方法はないでしょうか?
0705デフォルトの名無しさん
2006/11/13(月) 23:18:45リフレクションを使えば可能。でも
getCode(int index)
でいいじゃん。
その前に、COBOLっぽいいやな臭いがプンプンするぞ。
0706ぴゅあ
2006/11/13(月) 23:21:32細かいところは置いといて(後でちゃんと見るのでしょうし)
入力誤りをエラーとして扱うか(if文で見てメッセージ出すとか)
例外として扱うかとかの選択は作る上での好みの選択だろうとして
前半は前半で色々と例外を出すだろうからcatchすることにもなるでしょうけど
(Integer#parseInt()に渡されたものが数字以外とかIntegerの範囲を越えてるとかで例外)
それはそれで取り敢えずは端折っておいてもよいかもですけど
後半のコードは"1 < x <100の間"の条件を見るために
その2つのコードを一緒にしたものとかいうのでいいんじゃないかと
ここ(後半)の
>System.out.println("範囲外の数値が入力されました");
を"throw new なんちゃら;"とかしてもいいでしょうけど
(例外にしたいということならそうなったりするでしょうけど)
要は入力が範囲内であるかどうか(入力エラー)が判って適切な処理ができればいいので
後半のコードのままを使った方がいいんじゃないかと
(throwしてしまうと今度はそれをcatchして…とか余計なコードも出てくるでしょう)
>System.out.println("範囲外の数値が入力されました");
の後に再入力として戻ったりしたいということですから(正常に処理した場合も?)
頭に戻るというコードをちゃんと書いておけば
そこんところは>>685-686で挙げてくれているので大丈夫だと思う
・・・か、もうできちゃってるか
0707ぴゅあ
2006/11/13(月) 23:23:170708デフォルトの名無しさん
2006/11/13(月) 23:27:17ただのWebアプリからWin32APIにアクセスできますか?
(^_^;
0709688
2006/11/13(月) 23:35:44import java.util.Scanner;
public class test2 {
public static void main(String args[]) {
int i = 0;
String[] words = null;
try {
// ファイルを指定し開く。
Scanner f = new Scanner(new File("データ.dat"));
// ファイルから1行分入力しコンソールへ出力。
while( f.hasNextLine() ) {
words[i] = f.nextLine();
++i;
}
i = 0;
while( i < words.length ) {
System.out.println(words[i]);
++i;
}
} catch( Exception e ) { }
}
}
2度目ですみません
tryの何処かでエラーが起こるみたいなのですが
解らないので教えてください。
言うまでも無いと思いますが
例外処理になるためコンソール画面には何も表示されません。
0710ぴゅあ
2006/11/13(月) 23:41:43>ツェラーの公式
そんなのあったのね
基準日設けて日数算出してました
ミニコンで遊ばせてもらってたときに
たぶん初めて実機上で作ったプログラム
0711デフォルトの名無しさん
2006/11/13(月) 23:41:45取得したいのですが、うまくいきません。
POST指定して、outputStream()メソッドを使ってるのですが
ログイン前のソースしか取得できません。
肝心なメソッド名等あれば教えて頂きたいのですが?
0712704
2006/11/13(月) 23:42:28setter/getter(他の開発チームの担当)はこちらでは変更できないので、
リフレクションでやってみます。ありがとうございました。
0713ぴゅあ
2006/11/13(月) 23:57:25>言うまでも無いと思いますが
言うまでもないわけでもなく
catchして何もしていないからでは?
スタックトレースくらい採れるんじゃないかと思うけど。。。
(その前にSystem.out.printlnを鏤めるとかだって…)
エラーが判らないというより
エラーの扱い方が解らないということかも?
0714709
2006/11/14(火) 00:12:39ありがとうございます。スタックトレースは知らなかったです。
知れ見たところ下記のエラーが出ました
java.lang.NullPointerException
at test2.main(test2.java:14)
0715デフォルトの名無しさん
2006/11/14(火) 00:20:45そのまんまだな
0716ぴゅあ
2006/11/14(火) 00:21:25コードの方は全然見てなかったけど…
エラーの内容が判れば後は追えますよね?(なんとなくでも)
あとは>>693が言ってくれていることを(も)参考にするとよいと思う
0717デフォルトの名無しさん
2006/11/14(火) 00:30:48誘導おながします。
0718709
2006/11/14(火) 00:31:150719デフォルトの名無しさん
2006/11/14(火) 00:48:380720デフォルトの名無しさん
2006/11/14(火) 01:03:51もうあの頃の時代は戻ってきません。
残念でしたうきょきょきょ
ざまーみろSUNシネw
0721名無し
2006/11/14(火) 01:12:01ArrayList alist = new ArrayList();
Hashtable<Integer,ArrayList> ht3 = new Hashtable<Integer,ArrayList>();
for(int i = 0; i < alist.size(); i++)
{
ht3_.put(i,alist.get(i));
}
※alistには値は入っています。
このように、HashtableにArrayListを追加していきたいのですが、
ht3_.put(i,alist.get(i));では当然ながら
<Integer,ArrayList>で宣言しているのに、<Integer,Object>となってしまい
エラーがでます。Hashtable<Integer,ArrayList>の部分は変えず、
ArrayListを壊さないでHashtableに格納できないでしょうか。
質問が分かりにくかったら申し訳ありません。
0722デフォルトの名無しさん
2006/11/14(火) 01:16:25JAVAは終わった言語だもう聞くなw
0723デフォルトの名無しさん
2006/11/14(火) 01:25:49MSはいつまで基地害を生産しつづけるんだろう
0724デフォルトの名無しさん
2006/11/14(火) 01:26:57SUNはいつまで基地害を生産し続けるんだろう
0725デフォルトの名無しさん
2006/11/14(火) 01:36:220726デフォルトの名無しさん
2006/11/14(火) 01:36:55もう聞くなよw
0727ぴゅあ
2006/11/14(火) 01:46:18できないですね
取り敢えずあちしが書いたものだけど>>31とか
ArrayListとかはオブジェクトでないと扱えないですけど
やってみたいと思うなら参考にしてint用とか書いてみるとか
(その前にクラスにするまでもなく試しにコードにしてみるとか)
>>721
alist.get(i)で取り出しているんだから
最早ArrayListではないですよ
0728デフォルトの名無しさん
2006/11/14(火) 10:49:09サーバ側の処理でJNIを使えば可能。
>>725
3.0ではSUNの実装はない。2.0の時はあった。
ttp://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7235-javacomm-2.0-spec-oth-JSpec&SiteId=JSC&TransactionId=noreg
場所からしてサポートする気ゼロっぽい。
(仮想マシンでもかまわんから)Linuxマシン用意した方が楽かも知れん。
0729デフォルトの名無しさん
2006/11/14(火) 12:07:44残念でした。
もうSunはJavaに対する影響力が非常に弱まっています。
M$製品にすがりついて哀れな戯言を言う人たちは
そのあたりをまったくわかっていないようですね。
0730デフォルトの名無しさん
2006/11/14(火) 12:47:29IE上で動いているJavaアプレットをダウンロードしたいのです。
WEB上で公開されているJavaをパワーポイント等に貼り付けて
プレゼンとかに使いたいなーと思ってるんですけど、何かよい方法がある
のなら教えてもらえないでしょうか。
お願いします(ノ_≦)
0731デフォルトの名無しさん
2006/11/14(火) 13:08:34ただ、動作するには他のファイルやネットワーク上のリソースに依存してる可能性もあるから、
そのアプレットをローカル保存して動くかどうかはわからん。
パワポにアプレット貼り付けて動いたっけか? パワポでIEコンポーネントが使えるなら、HTMLに
アプレットを呼ぶように書いておけば動くかも。
標準のライブラリで一発でできるのありますか?
0733デフォルトの名無しさん
2006/11/14(火) 13:38:47標準にはないけど、Jakarta Commons IOにこういうものがある。
ttp://jakarta.apache.org/commons/io/api-release/org/apache/commons/io/FileUtils.html#copyDirectory(java.io.File, java.io.File)
0734デフォルトの名無しさん
2006/11/14(火) 13:47:50ありがとうございます。
一応教えてもらったとおりソースからアプレット(.classの拡張子でした)をダウンロードしたつもりです。
しかし、おっしゃるように.classのそのファイルを実行することができません。
.classのファイルがアプレットの本体を意味しているのかどうかもわかりませんが、
このような状況ではやはりローカルな環境で動かすことは難しいのでしょうか?
0735デフォルトの名無しさん
2006/11/14(火) 14:01:59たぶんその*.classがアプレット本体だよ。
実行するにはHTML書いて(もしくは拾った先からコピって)アプレット呼び出せばOK。 ダブクリでは不可。
実行できても何かしらエラーが出るんなら、他に必要なモノがある可能性が高い。
どうもありがとうごさいます。その他にもいろいろ楽できそうなライブラリですね。
0737デフォルトの名無しさん
2006/11/14(火) 15:46:14ArrayList<ArrayList> alist = new ArrayList<ArrayList>();
0738デフォルトの名無しさん
2006/11/14(火) 16:14:25ライセンスに留意しておくべきだよ。
プレゼンで使うのなら引用の範疇におさまるとは思うけど。
0740教えてちゃん
2006/11/14(火) 19:35:22Runtime rt = Runtime.getRuntime();
Process p = rt.exec("cat C:\\usr\\local\\aa.txt");
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
while ((result = br.readLine()) != null){
tx1.setText(result);
}
}
catch (IOException ex) {
ex.printStackTrace();
}
}
みたいな感じでcat C:\\usr\\local\\aa.txtを実行してその結果をresultに
格納されていくじゃないですか?で、例えばaa.txtには以下のような
中身だったとするじゃないですか?
hoge
hoge2
hoge3
hoge4 hoge5
hoge6 hoge7 hoge8
とかってときに、で
JTextField tx = new JTextField();
tx.setText(result);
ってすると最後の一行hoge6 hoge7 hoge8しか表示されないんですよ。
ちゃん全部表示するようにするにはどうすればいいのですか?
別にテキストじゃなくてもラベルでもなんでも全部表示できればOKっす!
swingで全部表示したいです
0741デフォルトの名無しさん
2006/11/14(火) 20:35:03JTextFieldのかわりにJTextAreaを使ってappendメソッドで文字列を追加する。
0742ぴゅあ
2006/11/14(火) 20:36:30>Runtime rt = Runtime.getRuntime();
>Process p = rt.exec("cat C:\\usr\\local\\aa.txt");
普通にテキストファイルとしてopenしないのはなんでだろ?と思ったけど
なんか理由があるんでしょう
>while ((result = br.readLine()) != null){
>tx1.setText(result);
>}
まずこれがどういう動きをしているか調べてみること
>>730
アプレット単体で動くものなら(PowerPointで…は判らないけど)動かすことはできるだろうけど
サーバーと通信してたりする作りだとかなり?難があるかも
それより
プレゼンとか…というのがどんなのか判らないけど
所有者側だけでなく"プレゼンする側の立場"としても
使っていいかどうかというのもあるだろうし
>ライセンスに留意しておくべきだよ。
>プレゼンで使うのなら引用の範疇におさまるとは思うけど。
は話の限りではあり得ないようなものの気がしたりする。。。
0744デフォルトの名無しさん
2006/11/14(火) 22:26:251.CSVの読み書きするのって、いまだにhttp://www.wakhok.ac.jp/~tomoharu/Java/csv/が現役なんでしょうか?
Jakarta Common CSVってのがあるらしいですが、未だ正式リリースには至っていないようです
2.JDBC使ってCSVからテーブルにインポートするユーティリティってありませんかね?
・テーブル名は手で指定
・getMetaData使ってカラムの名前とデータ型を取得
・カラムの数だけ?を並べたPreparedStatementを用意しておく
・CSVの一行目をカラム名として、対応するデータ型でParseXXXしたあとsetXXX。
・例外でたら全部読み飛ばし。カラム数が合わなかったら即終了。あとは野となれ山となれ(笑
絶対誰かが考えていそうなんですが(^^;、ググっても見つかりませんでした。
何か御存知の方がいらっしゃれば御教授いただければ幸いです。
0745デフォルトの名無しさん
2006/11/14(火) 22:49:21どなたか教えていただけませんか?
import com.nttdocomo.ui.*;
public class Test001 extends IApplication {
public void start() {
MyCanvas mycanvas = new MyCanvas();
mycanvas.setSoftLabel(Frame.SOFT_KEY_1,"入力");
mycanvas.setSoftLabel(Frame.SOFT_KEY_2,"end");
Display.setCurrent(mycanvas);
}
}
class MyCanvas extends Canvas {
int IMEText;
public void paint(Graphics g){
g.clearRect(0,0,getWidth(),getHeight());
String IMEText2 = int.toString(IMEText);
g.drawString(IMEText2,30,60);
}
public void processEvent(int type, int param){
if(type==Display.KEY_RELEASED_EVENT){
if(param==Display.KEY_SOFT1){
imeOn("",TextBox.DISPLAY_ANY,TextBox.NUMBER);
} else if(param==Display.KEY_SOFT2){
IApplication.getCurrentApp().terminate();
}
}
}
public void processIMEEvent(int type,int text){
if(type==IME_COMMITTED){IMEText=text; repaint();}
}
}
0746デフォルトの名無しさん
2006/11/14(火) 22:56:43HSQLDB なら、テーブルをTEXT TABLEとして作れば、テーブルを個別のCSVファイルとして保存できるよ。
詳しくはHSQLDBのドキュメントを読めばいい。
0747デフォルトの名無しさん
2006/11/14(火) 22:57:58亀レスですがありがとうございました。
凄く助かりました。
ツェラーの公式についてなんですが
youbi =(year + year/4 - year/100 + year/400 + ((13*mounth+8)/5) + day) % 7;
にしてday=1;でyearとmounthはユーザに入力を求めるようにしてみました。
その場合今年などは問題ないのですが
うるう年の2008年の2月を入力すると1日は金曜日のはずなのですが3の水曜と出てしまいます。
細かく検証したわけではないのですが2日の差がでてしまっています。
どこかおかしな点があれば教えていただけたら光栄です。
0748ぴゅあ
2006/11/14(火) 23:23:01もうちょっと調べてみるといいんでしょう
検証はやってないですが
1月と2月のときは12を加え、その分(1年分を越えることになるので)年を-1する
という条件が入るみたいですよ
何故できるかは
(year + year/4 - year/100 + year/400) %7については
365 % 7を計算してみれば判るだろうし
あとは残りの(((13*mounth+8)/5) + day) % 7を考えてみれば
(時間ないので見てみてない)
0749デフォルトの名無しさん
2006/11/15(水) 00:24:16java.io.InputStream は抽象クラスでインスタンスを
作れないんじゃないでしょうか?
0750デフォルトの名無しさん
2006/11/15(水) 00:46:55ヒント。
System.out.println(System.in.getClass().getName());
0751デフォルトの名無しさん
2006/11/15(水) 01:02:32毎回時間がかかりますが、これを早くする方法はありますか?
0752デフォルトの名無しさん
2006/11/15(水) 01:18:29いい事に気がついたね。
じゃあ、次はインターフェースの使い方について勉強してみようか。
0753デフォルトの名無しさん
2006/11/15(水) 01:24:13Antを使うとタイムスタンプみてjavaがclassより古ければコンパイルしないようになるよ。
javacのコンパイルオプションについてたら便利なのに(俺が知らないだけかも)
0754デフォルトの名無しさん
2006/11/15(水) 01:31:49というか、JavaVMの起動が遅いんだと思うんですが。
javacをデーモンみたいに常駐させといて、要求を受けたら
コンパイルするようにするだけでいいように思うんですが、
そんな簡単にいかないんですかね?
■ このスレッドは過去ログ倉庫に格納されています