【初心者】Java質問・相談スレ42【大歓迎】

このエントリーをはてなブックマークに追加
>>951
つまり、ファイルシステムがFATならcompareToIgnorCase()使うようにすればいい、と。
…JavaプログラムからFATかどうかなんてどうやって知るんだよぅヽ(`Д´)ノ
953945:04/03/10 18:46
>>947
ごめん。分かったかも。漏れがネイティブファイルシステムとか言ってるから、
OSとかに処理を委譲してるんだったら、同じ物理パスならtrueになるはずって突っ込みだったのね。
すまそ。ネイティブとかってのはJNIとかとは何の関係もなくて、
そのシステムに依存したFileSystemクラスのサブクラスって意味で使ってた。
>>951の言うとおり、Win32FileSystemとUnixFileSystemどす。
で、これはFileクラス側からはいじれないのでどうしようもないという意味でした。
用語を間違って書いた上に、やらしい書き方してすません。
>>952
制限事項にしちゃって、大文字小文字を区別しないオプションをアプリにつけるとか。
作りこむなら、/etc/fstabを見てどのタイプでマウントされてるか判断する。
これだと手動でマウントされたファイルシステムは分からないので、
もっと本格的にやるなら、mountコマンドの実行結果を解析する。
955916:04/03/10 20:10
>>916
まだ解決しません。
お願いします。
>>916
paint か update が適切でないんだろ
957デフォルトの名無しさん:04/03/10 21:17
質問なのですが、java言語を勉強したらどういう仕事ができるんですか?
java言語だけではダメでしょうか?
>>916
最新のVM使うと良いと思われ。

それかappletにname="myapplet"とbodyにonresize="document.myapplet.repaint();"つけると
どうなる?

ex.
<body onresize="document.myapplet.repaint();">
<applet code="Animator.class" width="460" height="160" name="myapplet">
960958:04/03/10 21:36
>>916
ごめん。上のは古いやつだった。こっち。
http://developer.java.sun.com/developer/bugParade/bugs/4844303.html
アプレットでタイピングソフト作ろうとおもってやっとるんですが
ボクの予定では正しくタイピングすると文字が消えていくよていなのですが消えませんなにがいけないですか?

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Typing extends Applet {
private Label lb1,lb2;
int i=0;
String kana[]={"こんにちわ","おはよう","おやすみ","さようなら"};
String str[]={"konnitiwa" ,"ohayou","oyasumi" ,"sayounara"};
String str1="";
public void init(){;;
str1=str[i];
lb1=new Label(kana[i]);
lb2=new Label(str1);
add(lb1,BorderLayout.NORTH);
add(lb2,BorderLayout.SOUTH);
addKeyListener(new KeyInput());
}
962つづき:04/03/10 21:39
class KeyInput extends KeyAdapter{
public void keyTyped(KeyEvent e){
char a;
int c;
c=str1.length();
StringBuffer stb=new StringBuffer(str1);
a=stb.charAt(0);
if(a==e.getKeyChar()){
stb=stb.deleteCharAt(0);
str1=stb.toString();
c--;
}
if(c==0){
i++;
str1=str[i];
lb1.setText(kana[i]);
}
}
}
}
>>957
結果としてjavaで喰っていると思った方がいいぞ

俺だけでも言語はここ20年いろいろいじってきたから
javaでずっといけるかというとそういうわけでもないだろう

ただ、cobolの置き換えとしてのjavaがのびてる感じなので
すぐに消えるかと言えばそんなことはない

大概OSやらハードやらのほうが先におじゃんになることも多いからね
javaはそのへんの環境超えやすいので注目しているけどね

今でもDOSや88BASICのシステムとか残ってるし
一つの言語としてjavaはいいだろうけどプログラマとして
一つの言語にこだわる必要はない、というか止まっちゃダメ
Environment:Win2k SP4
Eclipse 2.1.1 (日本語LanguagePack適用済)
Java2 SDK, Standard Edition v 1.4.2_01

 MSX-BASIC から Java (Eclipse) にステップアップしたばかりの者です。
諸般の事情で、オフラインで使い始め、なんとかHelloWorldは悪戦苦闘の末、
表示に成功しました。
 ところが、"ヘルプ"を開こうとすると、真っ白な画面しか出ません。もしや、サイト
につなげないと使えないのでしょうか?知ってる方、教えてくださいな。
>>961
ちゃんと見てないけど、キーイベントのとこで、
lb1には値をセットしてるけどlb2にはセットしてないからとかそんなの?
966916:04/03/10 23:05
>>956
>paint か update が適切でないんだろ
javaのDemoのアプレットも全部、乱れますよ。

>>958
>最新のVM使うと良いと思われ。
最新です。
>それかappletにname="myapplet"とbodyにonresize="document.myapplet.repaint();"つけると
>どうなる?
できました。
けど、javascriptは使用したくないです。

>>960
>ごめん。上のは古いやつだった。こっち。
>http://developer.java.sun.com/developer/bugParade/bugs/4844303.html
IDが無いと見られないようです。
ID取りますね。

みなさんありがとうございます。後は頑張ります。
967デフォルトの名無しさん:04/03/10 23:12
>>963
ありがとうございます!!
963さんは20年間もこの仕事をされてるんですね。
私もこれから長い道のりになるのでしょうが、頑張りたいと思います。
javaだけでとまらず、どんどん吸収しろということですよね。
まだ、963さんがおっしゃってくれた事が半分くらいしか理解できないので
まずは言葉から勉強します。

もう一つよろしいでしょうか。今、独学で勉強しているのですが、

System.outprint(1./3+1./3+1./3);

が何故「1」になるのかが分かりません。
0.333333333333333を3回足したら0.9じゃないんですか?
javaでは、少数以下は切り上げなんですかね?
初歩的な質問ですみません。

よろしくお願いします。
>>967
>0.333333333333333を3回足したら0.9じゃないんですか?
違いますけど。
丸め誤差を知らないどころの騒ぎじゃないな
970デフォルトの名無しさん:04/03/10 23:25
>>968
お返事ありがとうございます。この場合どう考えたら良いのでしょうか。
0.999999999999999が四捨五入されて1.0と表示されるのですか?
>>964
やってみた、つかEclipse自体のヘルプなんて初めて見た。
これローカルマシン内で通信してるが、TCP/IP入ってる?
ネットにつなげてなくてもTCP/IPだけ入れれるはず。
>>964
このスレ残り少ないし、とりあえず専用スレに移ったほうがよいと思われ

【Java/C/他】統合開発環境Eclipse M11
http://pc2.2ch.net/test/read.cgi/tech/1076074293/
>>964
>ところが、"ヘルプ"を開こうとすると、真っ白な画面しか出ません。もしや、サイト
>につなげないと使えないのでしょうか?知ってる方、教えてくださいな。


       ヘ ル プ 読 め !


974963:04/03/10 23:38
>>964
Eclipse固有の問題ならそれ専用のスレがある
そっちできくがよろし
個人的には本当の初心者なら環境設定も楽ですぐに
開発開始できるNetBeansをおすすめする
MSXBASICとは懐かしいな
ハンドアセンブルと組み合わせて遊んでいたな
MSXの感覚でプログラム組みたいのならまっさきにBufferStrategyとJAVA2Dを
勉強してフルスクリーンやウインドウ内を描画するのがいいだろうね
スプライトもjava2dの描画で何の問題もない

>>967
プログラムしてるのが20年ってだけで喰ってるのはそこまではない
当時はパソコンなんてさわってると白い目で見られる時代だった

>System.outprint(1./3+1./3+1./3);
本人が意識していないうちに浮動小数点つかってるね
これはだいたいの値を処理できるもので最終的に約1となるかな
これはjavaだからというわけじゃなくてどの言語も同じ
0.999999999・・・と続くから約1
0.3*3にしたいのならそれぞれを0.3にすべし
> 0.999999999・・・と続くから約1
この説明は正確ではない。

1./3+1./3+1./3 の評価結果は 1.000000000000000
(ビットパターンで言うと 0x3ff0000000000000)になってる。
正確なのおしえるのもいいけど
こんな基本中の基本の質問するんだから浮動小数点のあいまいさをおしえただけだった

すまんね

詳しく知りたいのなら
情報処理の概論かなんかよんでくれ>967
たぶん2の補数とかもしらないとおもうし基礎はやっぱり大事だ


ま、一応自分の名誉のために(大嘘)javaでは浮動小数点はこうなるといっておくか

浮動小数点の実装は昔はそれぞれまちまちだし、
今でも組み込みで作り込んでいる場合独自実装もありえる
普通のデスクトップアプリは独自実装はほぼないといっていいけどね

ビットパターンやら指数部とかこの辺を意識して作るようなら
javaというか高級言語やめれって感じか
>>974
お前、浮動小数点の丸め誤差を全く考慮してないのな
>>977
ん?なぜ俺?
丸め誤差のことを約1とかいたんだが?
浮動小数点数なんか使わない、が業務アプリ向けの正しいJavaの使い方
ではないかと。
JSP使った業務アプリでDoubleだのFloatだのIntegerだのが入り乱れて
使われているのをみていると、「使い分けている意味あるのかよ、単に
面倒事増やしてるだけで、メリット無いじゃん」とおもうです。
980964:04/03/11 00:07
>>971
レスおおきに。
>これローカルマシン内で通信してるが、TCP/IP入ってる?
>ネットにつなげてなくてもTCP/IPだけ入れれるはず。
 TCP/IPは入ってます。このカキコも同じPCですし。

>>972
誘導サンクス。

>>974
 さっそく、NetBeans をチェックしてみます。
 MSX-BASICは、実質的に ASCII の MSX 公式エミュから使い始めたのですが、
設計・コーディング等を考えずに気軽に遊べるので気に入ってます。
ハンドアセンブル・・・すごいですね。Poke文とマシン語はまだ手を出してません。
ていねいにありがとうございました。
>>979
カネの計算するプログラムで普通にdoubleが使われてるのを知ったときは
問題が起こる前にとっとこのプロジェクトから抜けよう、と思ったよ。
たしかに業務プログラムで浮動小数点全く使わないね
でも、しらずに使ってるコードとかよく見る
あと有効桁数ってのもしらないでfloatでガシガシかいて死んでた
システムも見たことある
doubleにして緊急回避してたようだけどね・・・


>>980
NetBeans知らずに入れてる人もいる・・・かも?
俺は落としてないからどういうアーカイブかわからんけど
1.4.2のダウンロードのトップはNetBeans同梱版だからね

分かりやすく言えばsunの商用開発ツールがこのNetBeansに
WEBサービスやらEJBやらつけたして売ってる
EclipseがちょうどIBMのWebSphereのベースになってるように

だからある意味純正といえる
ただ3.51はとっつきにくいのでβの3.6のほうが触りやすい
βだけに初心者に勧めにくいけどね
ま、3.5.1でも昔に比べればとんでもなく触りやすくなって高速化したよなぁ
BigDecimalの使い方も存在意義も知らずにJavaで金勘定向け業務アプリを
作るような馬鹿が、日本の会社には腐るほどいるということなのですな・・・
昔から腐るほどいる
VBとかでも通貨型が何のために必要なのかわからないやつとかいた
質問です。XMLのタグ(閉じタグや開始タグ等は問わない)が
有効な書式であるかを調べるAPIってありますか?
例)
<test id="xxx"> ○
<test id="xxx>  ×
</test id="xxx"> ×
って感じで判定してくれるようなものがあれば有難いです。。
986919:04/03/11 00:59
>>920 >>921 >>924
ありがとうございました。
お手数おかけいたしました。
うげー。次スレ建てられなかったよ。
漏れって荒らしに認定されたの?誰かよろしく。
ほい、次スレ

【初心者】Java質問・相談スレ43【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1078935442/
おー、サンクス。home.ne.jpって以前アクセス規制があったからその流れかな。
初めて2chでスレ建てられると思ったのに。ヽ(`Д´)ノ ウワァァン!!
>>985
XMLがXMLの書式に沿ってることをwell-formedであるって言う。
あるスキーマに沿ってることをvalidatedであるって言う。

前者だけをチェックしたいならば、
javax.xml.parsers.DocumentBuilderFactoryで
setValidating(boolean validating)をfalseにしたDocumentBuilderを作り、
それでparseしてみればいいと思われ。

SAXのほうがお好みならばそれぞれSAXParserFactoryとSAXParserで
いいと思われ。
>>966
最新のVMというか、JavaPluginとVMのバージョンの組み合わせみたい。
>>960のリンク先にはそんなことが書いてある。
根本的な問題はIEがブラウザのリサイズ時にrepaintイベントを送ってこないことらしい。
公開するアプリだったら、JavaPluginとVMのバージョンを指定して使ってもらうより、
>>958のJavaScriptでの解決法が一番簡単で確実だと思うんだけど。
>>987
多分違うと思う。
http://pc2.2ch.net/tech/SETTING.TXT
によるとだれか他のプロバイダに加入している香具師らスレッドを立てない限り
同じプロバイダで同じ板に連続して64回もスレッドを立てられないということを意味している。
993デフォルトの名無しさん:04/03/11 11:59
型名そのものを取得する方法ってありますか?
C++のtypeidみたいなものが欲しいんですが。
994デフォルトの名無しさん:04/03/11 11:59
記念カキコ v(^-^=)
getClass(), Class#getName()
梅松
998デフォルトの名無しさん:04/03/11 13:12
埋めろ、グズども
999デフォルトの名無しさん:04/03/11 13:20
スリーナイン
1000デフォルトの名無しさん:04/03/11 13:20
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。