【初心者】Java質問・相談スレッド59【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath
前スレッド
【初心者】Java質問・相談スレッド58【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1102420209/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
0232デフォルトの名無しさん
NGNGプログラムをしない方がいいでしょう。
0233デフォルトの名無しさん
NGNG初心者なら自分を疑え!
#だが初心者ほどコンパイラのせいにしたがるんだよな〜
0234デフォルトの名無しさん
NGNGプロの方が責任転嫁の傾向が強い。
0235デフォルトの名無しさん
NGNG「んー、これは流石に処理系のバグっぽいな〜」
と言ったんなら多少聞く価値はあるが。
0236デフォルトの名無しさん
NGNG責任転嫁はするが普通その相手は人間。
親請「外注のせいで〜」
外注.PM「SEがバカなせいで〜」
外注.SE「PGどもがタコなせいで〜」
外注.anonymousCompanies.PG「仕様が(=仕様を書いた人間が)タコなせいで〜」
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGオライリーの新刊はJava関連、しかもTiger本キタ━━━(゚∀゚)━━━ !!!
0239デフォルトの名無しさん
NGNGsen/bin/sen.shを実行するとExceptionが出てしまいます.
こちらがDebian woody + Java1.3.1
export ANT_HOME=/usr/local/ant
export SEN_HOME=/usr/local/sen
export JAVA_HOME=/usr/lib/j2se/1.3
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$ANT_HOME/bin:$JAVA_HOME/bin
$ bash /usr/local/sen/bin/sen.sh
done.
Please input Japanese sentence:
Exception in thread "main" java.lang.NoClassDefFoundError: org/xml/sax/SAXException
at StringTaggerDemo.main(StringTaggerDemo.java:33)
こちらがcygwin + Java1.4.2_05
/usr/local/antとsenは/cygdrive/f/なんとかかんとか/antとか/senとかの
シンボリックリンクです
export ANT_HOME=/usr/local/ant
export SEN_HOME=/usr/local/sen
export JAVA_HOME=/cygdrive/f/bin/Java/j2sdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$ANT_HOME/bin:$JAVA_HOME/bin
$ bash /usr/local/sen/bin/sen.sh
Exception in thread "main" java.lang.NoClassDefFoundError: StringTaggerDemo
どなたかお力をお貸し下さい….
0240デフォルトの名無しさん
NGNGJREは実行に必要って事ですよね。
でも、作って確認するときJREが必要だと思うんですけど
まだJRE入れてないのにhello java!のプログラムが動きました。
これって、SDKの中にJREが入ってるからなんですか?
0242242
NGNGserver.xmlファイルのポート8080の記述をコメントアウトして、
ポート8009の記述を有効にして、以下のような設定で
webappsのexamples以下や、index.jspにアクセスすると
Internal Server Errorになって以下のエラーログが吐かれる状態です。
[Mon Dec 27 05:26:12 2004] [jk_uri_worker_map.c (445)]: Into jk_uri_worker_map_t::map_uri_to_worker
[Mon Dec 27 05:26:12 2004] [jk_uri_worker_map.c (459)]: Attempting to map URI '/index.jsp'
[Mon Dec 27 05:26:12 2004] [jk_uri_worker_map.c (539)]: jk_uri_worker_map_t::map_uri_to_worker, Found a suffix match wo
rker1 -> *.jsp
[Mon Dec 27 05:26:12 2004] [jk_worker.c (90)]: Into wc_get_worker_for_name worker1
[Mon Dec 27 05:26:12 2004] [jk_worker.c (94)]: wc_get_worker_for_name, done did not find a worker
以上がmod_jk.logに吐き出されるエラーで、did not find a workerと言われてしまうのが
どうしても解決できません。
0243242
NGNGhttpd.confには以下のような記述のmod_jk.confをIncludeしてあります。
LoadModule jk_module libexec/apache/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile /usr/local/etc/apache/workers.properties
JkLogFile /var/log/mod_jk.log
JkLogLevel warn
JkMount /*.jsp worker1
JkMount /examples/* worker1
</IfModule>
workers.propertiesはこんな感じです。
JkWorkersFile /usr/local/etc/apache/workers.properties
worker.list=woker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
どうかご教授のほど、よろしくお願いします。
環境は、FreeBSD4.7R linux-blackdown-jdk1.3.1 apache1.3.31
tomcat4.1.30, mod-jk-connector1.2.6 です。
0244デフォルトの名無しさん
NGNGお返事ありがとうございます
次はif文というのをやってみます。
0245239
NGNGを追加して,形態素解析させて見たところ,
java.lang.IllegalArgumentException: M:\中略・プロジェクト名\null\conf\sen.xml (指定されたパスが見つかりません。)
という例外がでました.sen.jarとcommons-logging.jarはプロジェクトがある
Mドライブとは別のドライブにありますし,そちらのパスを追加したはずなのですが….
この症状も>>239のクラスが見つからないという例外と関係があるのでしょうか….
0246デフォルトの名無しさん
NGNGLinuxのほうは、XMLプロセッサが入ってないから。
JREのバージョンで揃えるかXercesを入れるかどうかは
antのインストールマニュアルを読んで自分で判断すべきこと。
Windowsのほうは、シンボリックリンク。
0247246
NGNGJREのバージョンを上げるかXercesを入れるかする。
どちらがいいかは自分の要件を考えて判断すること。
0248デフォルトの名無しさん
NGNGcygwinのbashを使わずに,sen.batを使えば動きました.
というか最初からこっちを使えって話ですね….
Linuxの方は今弄れないので,後で試してみます.
eclipseの方は何が原因でしょうか?
プロジェクトのプロパティ→Javaのビルド・パス→ライブラリー→外部JARの追加
でsen.jarとcommons-logging.jarを追加しただけなのですが….
0249デフォルトの名無しさん
NGNG複数のシートで例えばセル(1,A)と(1,D)にデータが入力されていて、
そこに囲まれる(1,B)と(1,C)のデータについて、
同様なパターンで入力されていても、シートによって
HSSFCell.getCellType()で、HSSFCell.CELL_TYPE_BLANKが返ってくる場合と
NullPointerExceptionが返ってくる場合があるのですが、
この2つの違いって何なのでしょうか?
0250デフォルトの名無しさん
NGNGセルに空白が入っている場合とセル自体が無い場合との違いじゃない?
POI(というかExcel?)では両者は区別される様子。
セルのヌルチェックするなら、HSSFRow#getCell()がnullかどうかを先にしとけ、ということかと。
0251デフォルトの名無しさん
NGNGHSSFRow.getCell()でnullのチェックをするようにしていたのですが、
何も編集が行われていないもの、何か入力した後にDeleteキーを用いてブランクにしたもの、
どちらもシートによってnull pointer exceptionだったり、CELL_TYPE_BLANKだったりしてしまう状況でしたので
空白セルと認識される基準が気になって質問させていただきました。
0252デフォルトの名無しさん
NGNGprivate int x;
private int y;
public My2D(){}
public void setX(int x){this.x=x;}
public void setY(int y){this.y=y;}
public int getX(){return x;}
public int getY(){return y;}
public Object clone(){My2D m2 = new My2D(); m2.setX(getX()); m2.setY(getY()); return m2;}
}
class My3D extends My2D{
private int z;
public My3D(){}
public void setZ(int z){this.z=z;}
public int getZ(){return z;}
public Object clone(){My3D m3=(My3D)super.clone();m3.setZ(getZ());return m3;}
}
0253デフォルトの名無しさん
NGNGcloneについて教えてください。
上記のようにMy2Dクラスと、My3Dクラスを作成しました。
それぞれのクラスにcloneを実装したのですが、上記の実装では3Dクラスのcloneで継承元クラスのcloneを無理やり使用しようとしてる為、当然ClassCastExceptionが発生します。
やりたいこととしては親クラスのcloneをうまく活用し、継承したクラスでは新規に追加した分だけコピー機能を実装するようにしたいのです。
なにか、良い実装方法があればご教授下さい。
よろしくお願いいたします。
0254デフォルトの名無しさん
NGNGpublic Object clone() throws CloneNotSupportedException {
return super.clone();
}
↑を実装すると中身もコピーされる(シャローコピーね)
My2DもMy3Dもこれだけでいいはず。
0255デフォルトの名無しさん
NGNGObject#clone()が呼ばれたときにthisがClonableであればシャローコピーを帰すって事。
特別その後で何か何か値を変えたいのでなければそのままでOK
0256U ◆CZtFsGiu0c
NGNGコンストラクタに引数付きの物を作った方が早いとは思いますが、もしそれがダメ
ならこんな感じでどうですか?
// My2D
public Object clone(){
My2D m2 = new My2D();
copyParams(m2);
return m2;
}
protected void copyParams(My2D m2) {
m2.setX(getX());
m2.setY(getY());
}
// My3D
public Object clone(){
My3D m3 = new My3D();
copyParams(m3);
return m3;
}
protected void copyParams(My3D m3) {
super.copyParams(m3);
m3.setZ(getZ());
}
0257デフォルトの名無しさん
NGNGなるほど、こういうことか。知らなかった。252じゃないがサンクス。
public class CloneDemo {
public static void main(String[] args) throws CloneNotSupportedException {
CB c1 = new CB();
c1.x = 10;
c1.y = 20;
CB c2 = (CB) c1.clone();
System.out.println(c2.x);
System.out.println(c2.y);
}
static class CA implements Cloneable{
int x;
protected Object clone() throws CloneNotSupportedException {
CA c1 = (CA) super.clone();
c1.x = x;
return c1;
}
}
static class CB extends CA implements Cloneable{
int y;
protected Object clone() throws CloneNotSupportedException {
CB c1 = (CB) super.clone();
c1.y = y;
return c1;
}
}
}
0258デフォルトの名無しさん
NGNGjspの中で自作クラスを使いたいのですがnewできずに困っています。
そのクラスはpackageにしていないのですが、packageにしないデフォルトの今の状態で
jspの中でも使えるようにするためにはどうすればいいのでしょうか?
教えてください。
0259デフォルトの名無しさん
NGNGそのcloneの中でc1.x = xとかやる必要ないぞ、
ちゃんとthisの中身がコピーされたオブジェクトが新規に帰ってくるから。
cloneの中で値の一部変更(たとえば生成順序コードみたいなシリアルとか)の必要がある時だけ代入する必要があるけど。
0260デフォルトの名無しさん
NGNG補足:
class CloneDemo implements Clonable {
private SomeObject anObject;
private int intValue;
public Object clone() throws CloneNotSupportedException {
CloneDemo copy = (CloneDemo) super.clone();
copy.anObject = anObject.clone(); // need deep copy
return copy;
}
}
↑こういうふうにインスタンスにオブジェクトがいるときにそれすらcloneしたい時だけ代入するのだ。
0261デフォルトの名無しさん
NGNG少なくとも、Tomcatではできない。
package宣言のないクラスはデフォルトパッケージに属するのだが、
Tomcatではデフォルトパッケージのクラスをimportできないため。
0262デフォルトの名無しさん
NGNGレスありがとうございます。
そうなのですか…。
現在eclipseを使って他のservletとの連携をとっています。
パッケージ化すると
http://localhost/(自分で作ったフォルダ)/servlet/クラス
というふうにアクセスできなくなるのでデフォルトの状態で勉強していました。
例えばpackという名前でパッケージ化すると、
http://localhost/(自分で作ったフォルダ)/servlet/pack/クラス
というふうにアクセスすることもできないようなのです。
どうすればアクセスできるようになるのでしょうか?
0263デフォルトの名無しさん
NGNG/servlet/pack.クラス
ね。「.」で区切った完全修飾名で指定する。
それよりもservlet-mappingを書けといいたいが、勉強中じゃ面倒か。
0264デフォルトの名無しさん
NGNG/servlet/クラス名
でできるはず。ただしクラス名はパッケージ名から始まる完全限定クラス名で。
しかし言わせてもらえばそもそも/servlet/クラス名 なんてやり方はダメ。
web.xmlにServletを登録し、URLパターンをマッピングしなさい。
0265デフォルトの名無しさん
NGNGレスありがとうございます。やってみます!
初心者の私に気配りをしてくださってどうもありがとうございます。
>>264
レスありがとうございます。
mappingですよね、少し調べてみたのですが難しそうなのでやめてしまっていました。
web.xmlは(自分で作ったフォルダ)/WEB-INF/web.xml
のことですか、それともtomcat/conf/web.xml
のことですか、どちらでしょうか?
0266デフォルトの名無しさん
NGNG(自分で作ったフォルダ)/WEB-INF/web.xml のほう。
この、(自分で作ったフォルダ)がアプリケーションのルートディレクトリになっているから、
アプリケーション固有の設定や固有のリソース(html、jsp、コンパイル済みクラスファイル、このアプリでしか使わないライブラリ等)は
全部このフォルダの下。
0267デフォルトの名無しさん
NGNG挑戦してみますができるかどうかはわかりません…。
あの、質問が初心者で申し訳ないのですが、どうして、
/servlet/クラス名でアクセスしてはだめなのでしょうか。
0268デフォルトの名無しさん
NGNG主にセキュリティ上の理由から。詳しくは以下を参照。
ttp://jakarta.apache.org/tomcat/faq/misc.html#evil
jajakartaがダウンしてるので本家のドキュメントね。
0269デフォルトの名無しさん
NGNGinvokerとかですよね。
そういえば、<!--とかをはじめにはずした記憶があります。
勉強してみます!ありがとうございました!
0270デフォルトの名無しさん
NGNG効果音を鳴らそうとしたときに
鳴るファイルと鳴らないファイルに分かれてしまいます
現在使おうとしているファイル種類は
au、wav(8-16bit/22-48KHz/176-1563kbps)で
それぞれにse[no]と言う名前をつけています([no]は通し番号
auが鳴らない、wavが鳴らないというわけではなく
au、wav混在しているため混乱しています
String checkSound(String fileName){
String[] extention={".au",".AU",".wav",".WAV",".midi",".mid",".MIDI",".MID",".mp3",".MP3"};
String file="Not found";
URL check;
for(int i=0;i<extention.length;i++){
try{
String proto=getCodeBase().toString()+fileName+extention[i];
check=new URL(proto);
check.openStream();
file=fileName+extention[i];
return file;
}catch(Exception e){}
}
return file;
}
でファイルの存在確認と拡張子の限定を行います
0271デフォルトの名無しさん
NGNGinit()内で
for(int i=0;i<se.length;i++){
String dir="sound/se/se";
System.out.println(checkSound(dir+i));
if(checkSound(dir+i).equals("Not found")) break;
else se[i]=getAudioClip(getDocumentBase(),checkSound(dir+i));
}
初期化して
別に用意してあるテキストファイルに
SE noを発見したらStringTokenizerで分割して
se[Integer.parseInt(no)].play();
というようにして演奏するようにしています
現状ではファイル、配列、テキストファイルでの出現位置
そのいずれも原因としては特定できていません
wavの形式も範囲内だと思うのですが・・・
御助言よろしくお願い致します
0272デフォルトの名無しさん
NGNGstr = str.replaceAll("\r\n", "\n");
str = str.replaceAll("\r", "\n");
であってます?
0273デフォルトの名無しさん
NGNGそれでいい。
s = s.replaceAll("(\r\n)|(\r)", "\n");
これでちょっといい気分になれる。
0274デフォルトの名無しさん
NGNGそれが改行ができてないんですよねぇ
String str = "ほげ\rふー\rばー\r";
str = str.replaceAll("(\r\n)|(\r)", "\n");
System.out.println(str);
とやると、
ほげふーばー
と表示されてしまいます。
0275デフォルトの名無しさん
NGNGOSは?
WinXP/J2SE5では改行されるけど。
String s2 = s1.replaceAll("(\\r\\n)|(\\r)", "\n");でもいいようだ。
0276デフォルトの名無しさん
NGNGすいません、他の部分に問題がありました。
アドバイスありがとうございました。
0277デフォルトの名無しさん
NGNGkeyの整数の大きさが大きい順でソートして、
さらにkeyの数が同じ時はそのkeyが対応している文字列の辞書順に並べ替えようと思うんですけが
keyの整数でのソートはできるんですが、辞書順でのソートができません。
0278277
NGNG0279デフォルトの名無しさん
NGNGそういうときKey,Valueをひとまとめにして取り出して、ArrayList<Entry<K,V>>をソートする。
0280デフォルトの名無しさん
NGNGあれって必ず改行することにすればいらないような・・・
0281デフォルトの名無しさん
NGNGというか改行が区切りってのは違ってると思うぞ
昔は一画面プログラムというもの(ry
0282デフォルトの名無しさん
NGNGVB屋さんでつか?
分の途中で開業できないと恐ろしく読みにくくなりますよ。
0283デフォルトの名無しさん
NGNG0284YahooBB218129112033.bbtec.net
NGNG0285デフォルトの名無しさん
NGNG何処にインストールしたのか解りません
インストーラに従ってインストールしたのですがフォルダ指定とかもありませんでした
何処に行ったのか教えてください
0286デフォルトの名無しさん
NGNGOSは?
0287285
NGNG0288初心者 ◆Java/isQ.c
NGNGあなたが見逃しただけで、フォルダ指定する機会はあったはずですよ。
デフォルトのインストール先は C:\j2sdk1.4.2_<version> だったかと思います。
<version> のところは、あなたがインストールしたものにあわせて読み替えてください。
現時点で最新のものをインストールしたのであれば、C:\j2sdk1.4.2_06 かと思います。
0290初心者 ◆Java/isQ.c
NGNGJRE のインストール先は C:\Program Files\Java\j2re1.4.2_<version> だったかと思います。
<version> のところは、あなたがインストールしたものにあわせて読み替えてください。
現時点で最新のものをインストールしたのであれば、
C:\Program Files\Java\j2re1.4.2_06 になっているかと思います。
0292デフォルトの名無しさん
NGNG0293初心者 ◆Java/isQ.c
NGNGパッケージの話でしょうか?だとすると次の記事が参考になるかもしれません。
ttp://www.javaworld.com/javaworld/jw-12-1998/jw-jbe-stand-ext.html
0294デフォルトの名無しさん
NGNGパッケージの間違いです
いきなり英語サイトに飛ばされる訳ですね・・・
すいません、教えてもらったのに愚痴言ってしまい
有難うございました
0295デフォルトの名無しさん
NGNG1:コレクションのiteratorメソッドが返すIteratorは毎回コピーを生成して返すのか。
つまり、いくつかのスレッドが自分用のiteratorを得て、ぐるぐる回してもOKなのか?
2:static変数であるオブジェクトの中で宣言されたコレクションクラス(包含関係になっている)から
要素を取り出して(HashSetでもArrayListでもいいです)、得た要素に対して変更を加えても、コレクションの中の
要素には変更が反映されません。
ちなみに、複数のスレッドから行っています。volatileでコレクションを宣言してもダメで、結局変更後にコレクションにaddし直す
という事を行わざるおえなくなっています。これはstatic変数という事に何か関連があるのでしょうか?、コレクションから要素を得る場合
参照を返すので本来、変更は反映されると思うのですが。
駄文で申し訳ないですが、教えてください。よろしくおねがいします。
0296デフォルトの名無しさん
NGNGIteratorは別のもの。元になったCollectionがコピーされるかどうかはIteratorの実装次第。
ただしIterate中に構造変化が起こった場合は
>つまり、いくつかのスレッドが自分用のiteratorを得て、ぐるぐる回してもOKなのか?
NG.
ただし、CopyOnWriteArrayListなどはIteratorが生きている間もとの構造を維持する。
複数スレッドから使いたければCollections.synchronizedList()で同期化する。
同期化されていれば途中で構造が変更されたときにきちんとConcurrentModificationExceptionがスローされる。
>2:static変数であるオブジェクトの中で宣言されたコレクションクラス(包含関係になっている)から
>要素を取り出して(HashSetでもArrayListでもいいです)、得た要素に対して変更を加えても、コレクションの中の
>要素には変更が反映されません。
同期化されたコレクションなら構造が反映されれば「安全に」ConcurrentModificationExceptionがスローされる。
0297デフォルトの名無しさん
NGNGご返答ありがとうございます。
2についてなのですが、とりあえず、同期とかそういう事は置いておいて(複数スレッドとかじゃなく)
、static変数だと変更が反映されず、特にExceptionが出るわけでもありません。これはなぜでしょうか?
staticでなければちゃんと変更が反映されるのですが。
0298デフォルトの名無しさん
NGNG得た要素に対して変更を加えるって、入れてる要素のクラスはImmutableじゃないよな?
0299295
NGNGそれともそういったインターフェースがあるのでしょうか?
知識不足ですね。すいません。
0300295
NGNGstatic変数でない場合にはちゃんとできます。
0301デフォルトの名無しさん
NGNGimmutableなクラスってのはStringとかみたいに「生成時に設定した値から変更不可なクラス」
staticの時だけ変更できないってのはなんか変だな。
0302295
NGNGメモリ上の配置とかそういうのに関係あるのかなと自分なりに考えているのですが、
原因不明です。volatileでもだめですし。
0303デフォルトの名無しさん
NGNGこんな感じでテストしたけど、普通に中身変更できるぞ?
俺の認識間違ってる?
private static ArrayList list;
static {
list = new ArrayList();
list.add( new StringBuffer( "aaa" ) );
list.add( new StringBuffer( "bbb" ) );
list.add( new StringBuffer( "ccc" ) );
list.add( new StringBuffer( "ddd" ) );
}
public void execute() throws Exception {
for ( Iterator i = list.iterator(); i.hasNext(); ) {
System.out.println( i.next() );
}
StringBuffer a = (StringBuffer)list.get( 0 );
a.append( "_add" );
for ( Iterator i = list.iterator(); i.hasNext(); ) {
System.out.println( i.next() );
}
}
0304253
NGNGかなり勉強になりました。
これ、知ってるのと知ってないのじゃ大違いですね。
ありがとうございました。
0305デフォルトの名無しさん
NGNGどなたかご教授お願いできないでしょうか?
問・適切な状況を考えて、abstractクラスを一つ作りなさい。そのサブクラスを
3つ以上作ってスーパクラスのabstractメソッドを全て実装しなさい。
また、そのテストプログラムを書きなさい。
という問題なんです。
abstractクラスは数とか抽象的なモノを表すってのはわかるんですが・・・。
0306デフォルトの名無しさん
NGNG宿題スレへ行け
0308305
NGNG0309デフォルトの名無しさん
NGNGなどという複数行からなる文字列から、行頭がHOGEで始まる行は無視して、
該当しない行のみ(空行も含む)を抽出したいのですが、どのようにパターンを書けばいいでしょうか?
この場合は抽出したい文字列は"\nなんとかかんとか\n"となります
0310デフォルトの名無しさん
NGNG初心者なもので、すみません・・・
JBuilder2005をインストールしたんですが、
SDK1.5の文法の使用を許可する方法がわかりません。
どなたかご教授ください。
お願いします。
0311初心者 ◆Java/isQ.c
NGNGJBuilderスレで質問する方が良いのではないでしょうか?
私も初心者なので、よくわかりませんが。
ttp://pc5.2ch.net/test/read.cgi/tech/1054149131/
ttp://pc5.2ch.net/test/read.cgi/tech/1092170897/
0312デフォルトの名無しさん
NGNG以下のように記述したらfalseが返ってきてしまいました。
ダブルクォーテーションとマッチさせる方法はありますでしょうか。
----
Pattern pattern = Pattern.compile("\"");
Matcher matcher = pattern.matcher("\"text\"");
boolean b = matcher.matches();
System.out.println(b);
----
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGありがとうございます。
結果は、
「文字列リテラルが閉じられていません。」
となってしまいました。
引き続き調べてみます。
----
Pattern pattern = Pattern.compile("\\"");
Matcher matcher = pattern.matcher("\"text\"");
boolean b = matcher.matches();
System.out.println(b);
----
0315デフォルトの名無しさん
NGNGmatches()
は文字列全体と比較しますので、この場合は使い方が間違ぐあなにをす
0316デフォルトの名無しさん
NGNGありがとうございます。
ご指摘のとおり、matches()メソッドの仕様を理解できていないようです。
以下のように置換してみますと、問題なくダブルクォーテーションが置換されます。
対象の文字列中にダブルクォーテーションがあった場合に、
trueを返してもらうには、別のメソッドを使用する必要がありそうです。
なんにせよ、解決の糸口が絞れてきて前進しました。ありがとうございました。
----
Pattern pattern = Pattern.compile("\"");
Matcher matcher = pattern.matcher("\"text\"");
//boolean b = matcher.matches();
String str = matcher.replaceAll(" - replaced - ");
System.out.println(str);
----
0317デフォルトの名無しさん
NGNG何とおりもソートしたいんなら別だが
Comparatorを引数にとるコンストラクタもあるだろ?
0318デフォルトの名無しさん
NGNGその引数にとられるComparatorが参照する(Tree)Mapはどこにありますか?
0319デフォルトの名無しさん
NGNGString[] fileNameSplit = fileName.split("\\.");
String string01 = fileNameSplit[1]
String string02 = "log";
if(string01 == string02){
return true;
} else {
return false;
}
というソースを実行するとfalseが返ってきてしまいます。
lastIndexOfなどを使ってStringを分割してもみたんですが,結果は同じです。。
拡張子を判別したいだけなのですが,上手い方法ないものでしょうか?
ご教授下さい。
0320デフォルトの名無しさん
NGNG== は参照が同じインスタンスを指してる場合に true になる。
string01.equals(string02) を使え。
0321デフォルトの名無しさん
NGNGでけました。多謝多謝であります!
Stringはオブジェクトなんですよね。。
忘れてました。
0322デフォルトの名無しさん
NGNGお前バカだろ?何でComparatorがTreeMapを参照する必要があるんだか。
0323デフォルトの名無しさん
NGNGどうすればいいのでしょうか?
app.jarファイルの構造は
app.jar
main/Main.class
lib.jar
sub/Sub.class
となっていて、app.jarを、main.Mainから実行した時に
Mainクラス内から、lib.jarに含まれてる Subクラスを使用したいのですが、
マニフェストファイルに Class-Path: lib.jar などと記述しても
lib.jar内のsub.Subクラスを読み取ってくれません。
jarファイルに含まれているjarファイル内のクラスを、読み取る方法を
教えてください。
0324デフォルトの名無しさん
NGNG実行時にlib.jar はクラスパスに含まれているのか?
0325デフォルトの名無しさん
NGNGどっかから探してくるかすること。
0326デフォルトの名無しさん
NGNGという方法でLinkedListを同期化できる事は知っているのですが、これでは
LinkedListにあって、Listにはないようなメソッドは使用できなくなってしまいます。
LinkedList list = (LinkedList) Collections.synchronizedList(new LinkedList());
のような結果を得る事はできないのでしょうか? ↑ちなみにこの方法は使えない。
0327デフォルトの名無しさん
NGNGa =
2 \
+ 3 \
+ 4 \
p a
0328デフォルトの名無しさん
NGNG0x0001,0x0001,15,0,2,
0x0002,0x0001,14,0,2,
0x0003,0x0003,15,0,3,
こういったテキストファイルの内容を
何行目か指定してその行の内容をカンマで区切ってある部分ごとに配列に格納したいのですが
どのようにすればいいでしょうか?
0329デフォルトの名無しさん
NGNGええっ出来ないんですか?
信じられません・・・・
じゃあ、ライブラリJarファイルを、単独起動jarファイル内から使用する時は、
まさかそのライブラリからclassファイルを抽出して、
単独実行jarファイルに含めねばならないのですか?
なんて事だ・・・
0330デフォルトの名無しさん
NGNG内部実装が違っても言語仕様はまったく同一と見て良いのでしょうか?
0331デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています