【初心者】Java質問・相談スレ6【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGなお、ソースを貼るときには、半角空白が消える仕様のため、タブ1つを全角空白2つに
置換してから投稿しましょう。わからないときはどこがどうわからないのか?、動かな
いときはどこがどう動かないのか?なぜそう判断したのか、エラーメッセージや結果な
どと一緒にお書き下さい。雑誌や宿題などの疑問を質問するときは出展を明記したほう
が解決が早いです。
関連情報は >>2-10 あたりにあります。 (一部 dat落ちやHTML化待ち)
JavaScriptの質問はWeb製作板へどうぞ。
web制作管理
http://pc.2ch.net/hp/
パソコンの基本操作に関しては、PC初心者板や、各OS板などで質問しましょう。
パソコン初心者@2ch掲示板
http://pc.2ch.net/pcqa/
上級者の方で教える技術が無い方は下記スレでダベりましょう。
初心者無視! Java相談室 その9
http://pc3.2ch.net/test/read.cgi/tech/1021555964/
基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
http://pc.2ch.net/tech/kako/1026/10266/1026601774.html
0653デフォルトの名無しさん
NGNGなんでそうなる?!
paintメソッドを含んでいるクラスのインスタンス
そのものを指しているはずですが。
0654652
NGNG0655hoho
NGNG文字列をアウトライン化して、文字の真ん中を分割して、別々の色で塗りつぶしたいのですが。
そういうメソッドってありますか?今のところ、文字のアウトライン化まではわかりました
0656デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/2d/spec/j2d-geom.fm3.html
0657デフォルトの名無しさん
NGNG比較対象として
Borland JBuilder
IBM WebSphere Studio+VisualAge for Java
富士通 APWORKS
を考えています。
ttp://www.sunicom.co.jp/support/servlet&jsp/1-.htm
上記サイトみたいな所だとベストなのですが。
0658デフォルトの名無しさん[]
NGNGJAVAでデータベース検索中にアイコンを砂時計にして
画面ロックしたんですが、よい方法を教えてください。
0659デフォルトの名無しさん
NGNG複数resuletsetをとりたい場合は、connectionを複数とらないとだめですよね?
connection:statement:resultset=1:1:1?
0660660
NGNG下のソースみたいに、fにvectorListの内容を渡そうとしていますが上手くいきません。
ちなみにvectorListはjava.util.Vectorで、
要素としてjava.io.Fileをいくつか入れてあります。
これだとなんとなく、うまくいきました。
File[] f = new File[vectorList.size()];
for (int i = 0; i < length; i++){
f[i] = (File) vectorList.get(i);
}
これだと2行目でClassCastExceptionになってしまいました…。
File[] f = new File[vectorList.size()];
f = (File[]) vectorList.toArray();
ClassCastExceptionの説明も読みましたが、
ObjectはFileにも継承されていると思っていたので、
この例外の意味が良く分かりませんでした。
配列を丸ごと渡せるいい方法があったら、教えて頂けるとうれしいです。
あと、もしよろしければなんですが、何で2番目の方のコードではダメなのかも教えて頂けると幸いです。
長々とすみません、どうかよろしくお願いします。
0661デフォルトの名無しさん
NGNGあるいは、
File[] f = (File[]) vectorList.toArray(new File[0]);
0663デフォルトの名無しさん
NGNG価格は10万前後まで。
0664よろしくおねがいします
NGNGテストアプレットを作成しているのですが、
通信部分でエラーが発生しているらしくて、なぜ発生するのか、
またどういう対処を行えばいいかを調べていたのですが
結局対処できなくて悩んでいます。通信内容としましては、
テキストボックスに表記した文字をサーブレット
に送信して、その文字に"OK"という文字を追加して
アプレットに返信するという内容です。
どの部分の書き方が悪いのでしょうか。よろしくお願いします。
<アプレット部分>
import java.applet.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class tester extends Applet{
Button btnSend;
TextField txtF;
public void init(){
btnSend = new Button("送信");
txtF = new TextField("",8);
setLayout(null);
btnSend.setBounds(1,1,80,50);
txtF.setBounds(100,100,80,50);
add(btnSend);
add(txtF);
btnSend.addActionListener(new sendData());
}
0665よろしくおねがいします(続き)
NGNGURL ul;
URLConnection conn;
String str;
Vector vec = new Vector();
public void actionPerformed(ActionEvent ev){
try{
ul = new URL("http://localhost:8088/serv.class");
conn = ul.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
ObjectInputStream inn = new ObjectInputStream(conn.getInputStream());
out.writeUTF(txtF.getText());
out.flush();
out.close();
vec = (Vector)inn.readObject();
txtF.setText((String)vec.elementAt(0));
}catch(Exception e){
txtF.setText("エラー");
}}}}
0666デフォルトの名無しさん
NGNGString xml = "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n<root/>";
DOMParser parser = new DOMParser();
InputSource source = new InputSource(new StringReader(XMLの内容));
parser.parse(s);
みたいな感じで、以下の例外が起きてしまいます。ファイル名として解釈している?
どうすればよいでしょう?
SAXParseException: File "<?xml version="1.0" encoding="Shift_JIS"?><root/>" not found.
0667よろしくおねがいします(続き)
NGNG<サーブレット部分>
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class serv extends HttpServlet{
String str;
Vector vec;
public void doPost (HttpServletRequest req , HttpServletResponse res) throws
ServletException,IOException{
res.setContentType("application/octet-stream");
DataInputStream st = new DataInputStream(req.getInputStream());
ObjectOutputStream ou = new ObjectOutputStream(res.getOutputStream());
str = st.readUTF() + "OK";
vec.addElement(str);
st.close();
ou.writeObject(vec);
ou.flush();
ou.close();
}
}
0668デフォルトの名無しさん
NGNG知るにはどうしたらいいですか?
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG選択というか、クリックされたときだったらわかるのですが、ポイントするだけでも
なにかイベントって発生するんですか?
0671デフォルトの名無しさん
NGNGなんかソースが長くて読む気しないんだけどさ、例外捕捉のところは
・・・
} catch(Exception e) {
e.printStackTrace();
}
って書いたみたら? 自前で「エラー」とか表示するよりも
128倍くらい有用だと思う。
0672デフォルトの名無しさん
NGNGMOUSE_ENTERED
MOUSE_MOVED
MOUSE_EXITED
などのイベントが発生する。
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/awt/event/MouseEvent.html#MOUSE_MOVED
つーかこれらが拾えないとお絵描きソフトやドラッグ&ドロップみたいな物の
実装ができないじゃん。
0673デフォルトの名無しさん
NGNGありがとう!助かりました!
0674デフォルトの名無しさん
NGNGなのにMouseEvent??
0675デフォルトの名無しさん
NGNG横書きの普通のエディタなら作れるのですが・・・
知っている方、知恵を貸してください。お願いします。
0676デフォルトの名無しさん
NGNGFile src = new File("/abc/a.txt"); // a.txt は存在する
File dest = new File("/def/a.txt"); // a.txt は存在しない
src.renameTo(dest);
こんなやりかたでいいのでしょうか?
0677デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/magazine/softnews/980917/images/n98091742b.gif
それよりお前は徳島の某社のワープロを知らんのかと小一時間(略
0678デフォルトの名無しさん
NGNG良いよ。
便乗質問。
dest が存在する場合 IBM JDK 1.3.0 for Linux だとリネームに失敗すんだけど。
ファイル内容の一意性を保つために一時ファイルへ出力→リネームって一般的な方法
だと思うんだが、これできないのか? dest.delete(); src.renameTo(dest); やれって?
0679新人
NGNGdouble dblRate = 20 / 500;
lblSeats.setText("全体の割合:" + dblRate);
と打ち、実行すると
全体の割合:0.0
と表示されてしまいます。
正しく小数点を表示させる方法をどなたか教えてくれませんか?
0680デフォルトの名無しさん
NGNGdouble dblRate = (double)20 / (double)500;
とか
double dblRate = 20.0 / 500.0;
とか
0681デフォルトの名無しさん
NGNG整数型÷整数型の結果は小数点以下切り捨ての整数型になる
double dblRate = 20.0 / 500.0;
0682デフォルトの名無しさん
NGNGなら
dest.renameTo( temp );
src.renameTo( dest );
成功してたら
temp.delete();
失敗してたら
temp.renameTo( dest );
とかやるとか。
0683デフォルトの名無しさん
NGNGごめん、その方法や delete() 使うと、dest ファイルがシステム上から
一瞬消えてしまう (大抵こういうのは高負荷時の障害に繋がる)。正直
rename 一発でアトミック性を保ちたい。ここだけ Runtime#exec() で
mv するのも何だかなぁ…。
0684よろしくおねがいします
NGNGありがとうございます。
試してみます。
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGありえますか?原理的に無理っぽいと思うんですが。
0687デフォルトの名無しさん
NGNGクラスファイルが手に入れば逆コンパイルできるからな。完全には無理だろう。
0688デフォルトの名無しさん
NGNGjarファイルも逆コンパイルできるんですか?
0690デフォルトの名無しさん
NGNGjar はただの ZIP ファイルにマニフェストファイルが入っただけ。
拡張子を .zip に変えれば WinZIP でも解凍できる。
決定的な対応策としては、パクられたくない処理をサーバサイドで行い
アプレットはただそいつと通信して結果を表示するだけのフロントエンド
UI にすることだろうよ。そもそもクライアントで解読できないものを
クライアントで実行できるわけが無いし。
0692デフォルトの名無しさん
NGNG完全には無理だが、普通の Java プログラマが苦労して読める程度には戻せる。
逆コンパイルしたソースをなるべく読みにくくさせるようなツールもあるけど。
てか C でも VB でも同じ話。
0693デフォルトの名無しさん
NGNG2枚の画像のRGB値をピクセル単位で比較したいのですが、
pixelgrabberで画像を配列に格納するとメモリ上で1枚しか処理できませんよね?
なにか助言して。ホントオ願イ
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNGというように画像を配列に格納するのに対して
img = createImage(new MemoryImageSource(w,h,pixels,0,w));
というように画像を再構成するけど、画像の幅と高さとピクセル配列・・・って今気づいた。
配列pixelsも用意すればいいんだ。ゴメソ&アリガトー
0696デフォルトの名無しさん
NGNGサーブレットコンテナが吐くエラーメッセージを見ないと何とも言えませんが
>ul = new URL("http://localhost:8088/serv.class");
このURLは正しいんですよね。web.xmlでservlet-mappingを指定しない場合、URLは
http://localhost:8088/servlet/serv
のようになるはずですが。この場合、serv.classという名前のサーブレットの
クラスファイルがどこかのコンテクストのWEB-INF/classesに存在して、
そのコンテクストはルート直下にマップされていることになります。
0697デフォルトの名無しさん
NGNGeclipseがいいかな。ttp://www.eclipse.org/
関連スレ http://pc3.2ch.net/test/read.cgi/tech/1023103421/l50
初心者歓迎のこのスレとは違うので、スレ最初のFAQおよびリンク集と、
最近の100スレくらいはしっかり読むように。
しかし今日は質問が多いな。
0698697
NGNG誤)最近の100スレくらいはしっかり読むように。
正)最近の100レスくらいはしっかり読むように。
100スレも読めるか(;´д`)
0699デフォルトの名無しさん
NGNGこんなに詳しいんですか?
07007雪17歳@700
NGNG詳しい人だっていっぱいいるよ〜。
0701デフォルトの名無しさん
NGNGでコンパイルしようとするとコマンド又はファイル名が違います。とでます
SET PASSがおかしいみたいなんですが、どこがおかしいのか
教えて頂けませんでしょうか
Autoexec.batです・・
@ECHO OFF
loadhigh c:\windows\COMMAND\nlsfunc.exe c:\windows\country.sys
SET CLASSPATH=C:\PROGRA~1\PHOTOD~1.0\ADOBEC~1
SET PATH=C:\Perl\bin;C:\jdk1.3.1_04\bin;%PATH%
宜しくお願いいたします。
0702701
NGNGあとjavac.exeはあります
厨な質問&連カキすいません
0703デフォルトの名無しさん
NGNGでは動くわけ?
0705デフォルトの名無しさん
NGNGset
って打ってみて、ちゃんと
PATH=...
が正しいかどうかチェック
0706701
NGNG夜遅くにありがとうございます・゚・(ノД`)・゚・。
正しいかどうかはわからないんですが
PATH=........................
CMDLINE=C:\jdk1.3.1_04\bin\javac
と出ました
0707701
NGNGTEMP=C:\windows\TEMP
PROMPT=$p$g
winbootdir=C:\WINDOWS
COMSPEC=C:\WINDOWS\COMMAND.COM
CLASSPATH=C:\PROGRA~1\PHOTOD~1.0\ADOBEC~1
PATH=C:\PERL\BIN;C:\WINDOWS;C:\WINDOWS;C:\WINDOWS\COMMAND
windir=C:\WINDOWS
CMDLINE=C:\jdk1.3.1_04\bin\javac
0708デフォルトの名無しさん
NGNGまず社員番号、前期売り上げ、中期売り上げ、後期売り上げを
インスタンス変数に持つ社員クラスを用意。
10人分の売り上げを一覧表示するプログラムを作るとします。
コンストラクタのオーバーロードを使って、
売り上げがない場合は"売り上げなし"と設定します。
この場合社員クラスのコンストラクタの引数の型は
String,int,int,int
String,Sring,int,int
String,int,Sring,int
・
・
といった感じで8パターン並べる方法しかないのでしょうか?
コンストラクタで数字か文字列かを判定しようとした場合
ずらずら書く以外なにか方法はないのでしょうか?
0709デフォルトの名無しさん
NGNGOS再起動してないんじゃないの?
0710デフォルトの名無しさん
NGNGあと、autoexec.batに
SET CLASSPATH=%CLASSPATH%;.
も追加 (↑最後の「;」と「.」を忘れないように)
0711デフォルトの名無しさん
NGNG売上なしはint(0)とは違うのか
0713デフォルトの名無しさん
NGNG確かにそうです・・・。
例が悪すぎました。
この場合は売り上げ0の場合は"売り上げなし"と設定したいのです。
逆に売り上げもすべてString型で受け取ってしまえばはやいのですが・・・
0714デフォルトの名無しさん
NGNGぶち込む前に文字列にできない?
文字列としてとってこれないの?
0715デフォルトの名無しさん
NGNGコンストラクタのオーバーロードを使うというのが前提なので
それだと文字列と数値をコンストラクタで区別できなくなると思いまして・・・
0717デフォルトの名無しさん
NGNG例えが悪いのではなくて設計が悪い。
データはどうやって保持するつもり?"売り上げなし"という文字列か?
データ処理の段階で、
String uriage;
...
if (uriage.equals("売り上げなし") || uriage.equals("売上なし") || uriage.equals("売上げなし")) ...
なんてするつもりか?
「売り上げなし」なんてのは表示(または入力)するときに必要なだけでデータが文字列である必要は無い。
「0は売り上げなしとみなす」とか、Integerにして「nullの場合売り上げなし」とか、
class Uriage{
private int amount;
public exists() {...}
}
とか方法はいろいろ。
禿同。
0719717
NGNGpublic class Uriage {
publc static Uriage なし = new Uriage(0, false);
public Uriage(int 金額, boolean 売り上げがある){...}
}
Shain shain = new Shain(new Uriage(1000), new Uriage(1500), Uriage.なし);
「売り上げ0 or マイナス」 と 「売り上げなし」を区別したいなら俺ならこんな感じのカスタムクラス作るかな
0720デフォルトの名無しさん
NGNG取り敢えずver1.4から genericity というC++でいうテンプレート
が追加されたみたいだけど、俺、Javaはよくわかんないよ〜
俺もテンプレートみたいなことできるかどうか知りたいので
お願いします>以降の人
0721717
NGNG殿、Genericsは1.5からでございますぞ
課題なら設計云々言ってもしょうがないのかな。
でも、717でもコンストラクタのoverload使ってるからいいんじゃないかな・・・
>>717
publc static final Uriage なし = new Uriage(0, false);
final忘れ。たびたびスマソ
0722デフォルトの名無しさん
NGNG0723701
NGNG原因は・・バックアップの方のautoexec.batをいじってました・・
ごめんなさい・・ほんとにごめんなさい
こんな馬鹿に付き合って頂いた方、本当にありがとうございました
では回線切って首吊ってきます・・
0724デフォルトの名無しさん
NGNG0725よろしくおねがいします
NGNG>>696 さん
ご返答ありがとうございます。
まず、今のURLの状態で実行しますと、
java.io.StreamCorruptedException: invalid stream header
というエラーを吐くようです。
696さんがご指摘をされたようにURLを変更してみますと、
java.io.FileNotFoundException: http://localhost:8888/servlet/serv
というエラーが発生するようなので、URL位置は間違っていない
ように思われます。引き続きこちらでも頑張って原因を突き止めます。
0726デフォルトの名無しさん
NGNGw2kでjavac hoge.javaすると
パッケージ javax.media.j3d は存在しません
と返されます
どうしたら良いのでしょうか?
0727デフォルトの名無しさん
NGNGdemo/java3d でも同様なのでコードに問題はないようです
おねがいします。
0728デフォルトの名無しさん
NGNGインスト場所をいつもと違うところにしてしまっただけでした。
path通したらOKでした
0729708
NGNG売り上げクラスを作るという方法もあるんですね。
mainと社員クラスだけで考えようとしてました。
>>717さん勉強になりました。
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNG初心者のためのjava講座ではautoexec.batの最後に下記の
二行を追加すればいいと書いてあったのですが、コンパイルできません。
ちなみにmeを使ってます。誰かお助け下され!!
SET PATH=%PATH%;C:\jdk1.3\bin
SET CLASSPATH=%CLASSPATH%;.
0735デフォルトの名無しさん
NGNGjavac コマンドを打ったときに出るメッセージは?
# なんかこういうのって医者の問診に激しく似てると最近おもた
0736デフォルトの名無しさん
NGNGpath通っているか見ろよ。
>path[enter]
0737デフォルトの名無しさん
NGNGコマンドまたはファイル名が正しくありませんです。
頭痛が止まりません・・・。
>>736さん
path = c:\windows;c:\windows\commandで終わってしまいます。
これって、pathは通ってないんですよねぇ?
0738名無しさん@XEmacs
NGNGpath書き換えてからリブートした?
0739デフォルトの名無しさん
NGNGcommandでautoexec.batをしています。
0740デフォルトの名無しさん
NGNG日本語になってねぇし…
子プロセスの中で SET やってるんか?
0741734=737=739
NGNGもし時間をいただけるなら、autoexrc.batの内容を見ていただけませんか?
悩める子羊をお助け下さい!
0742デフォルトの名無しさん
NGNGぐだぐだと言ってないで、さっさと貼り付けろや
0743734=737=739
NGNGこれじゃあダメなんでしょうか?
子プロセスの中でSETとは?どゆことですか?
0744デフォルトの名無しさん
NGNGC:\jdk1.3\bin\javac.exe
って打ったらなんて出る?
0745デフォルトの名無しさん
NGNG@ECHO OFF
path=c:\windows;c:\windows\command
\hibinv.exe
call \checksr.bat
IF "%config%"=="QUICK" GOTO QUICK
set EXPAND=YES
SET DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
call setramd.bat %LglDrv%
set temp=c:\
set tmp=c:\
path=%RAMD%:\;a:\;%path%;%CDROM%:\
copy command.com %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
copy extract.exe %RAMD%:\ > NUL
copy readme.txt %RAMD%:\ > NUL
rem clean up environment variables
set CDPROB=
set CDROM=
set LglDrv=
GOTO QUICK
:QUICK
SET PATH=%PATH%;C:\jdk1.3\bin
SET CLASSPATH=%CLASSPATH%;.
本当に一番最後に追加しています。どこに追加すればいいのですか?
明らかに関係なさそうなトコは省きました。
0746734=737=739
NGNG使い方:javac<options><source files>
使用可能なオプションには次のようなものがあります。
.
.
.
と、なにやらコマンドの説明をされてます。
0747デフォルトの名無しさん
NGNG0748734=737=739
NGNG0749デフォルトの名無しさん
NGNGSET CLASSPATH=%CLASSPATH%;.
これを DOS 窓開くたびに打て
0750デフォルトの名無しさん
NGNGを
path=c:\windows;c:\windows\command;C:\jdk1.3\bin
にすればいいんじゃないの
0751デフォルトの名無しさん
NGNG> SET CLASSPATH=%CLASSPATH%;.
は必要ないな。
ところで、しっつもーん。WinME で autoexec.bat って有効なん?
0752デフォルトの名無しさん
NGNGWinMEではautoexec.batは実行されないから
上でいわれたやつは
環境変数で設定しなきゃダメだね
■ このスレッドは過去ログ倉庫に格納されています