★★Java質問・相談スレッド165★★
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/20(日) 19:30:39.35JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
前スレッド
★★Java質問・相談スレッド164★★
http://toro.2ch.net/test/read.cgi/tech/1378219684/
0047デフォルトの名無しさん
2013/10/25(金) 11:35:24.860048デフォルトの名無しさん
2013/10/25(金) 11:43:31.36Javaが嫉妬することはないだろうね。
0049デフォルトの名無しさん
2013/10/25(金) 12:14:33.73C#だろう。Java8は完全にC#の後追い。
インタフェースがあれば他に何もいらないと言っていた在りし日の姿からは程遠い色物になってしまったよ。
0050デフォルトの名無しさん
2013/10/25(金) 13:19:21.27世界は平和だったのに…
0051デフォルトの名無しさん
2013/10/25(金) 14:57:23.94ポケベルが消え、公衆電話が消え、携帯電話が消え、スマホが使われまくってるみたいに
Javaが消え、そしてC#もいずれ消える定め
0052デフォルトの名無しさん
2013/10/25(金) 16:20:26.77WindowsアプリをJavaで作る人間はいないし、
マルチプラットフォームをC#で作る人間もいない
0053デフォルトの名無しさん
2013/10/25(金) 16:29:55.760054デフォルトの名無しさん
2013/10/25(金) 17:50:11.190055デフォルトの名無しさん
2013/10/25(金) 17:52:01.320056デフォルトの名無しさん
2013/10/25(金) 17:59:03.72isEof = c.moveToFirst();
while (isEof) {
item.setText1(String.format("%d:%d", c.getInt(4), c.getInt(5)));
item.setText2(c.getString(7));
customAdapter.add(item);
isEof = c.moveToNext();
}
listView.setAdapter(customAdapter);
上のループで
CustomData item = new CustomData();
を外側に置いた場合、リストの内容が全て一番最後に入力したものになります
これはsetAdapterしたときにitem内に格納されているデータ(最後に入力したデータ)を読みにいっているために起こるという認識で良いのでしょうか
また、内側に置くことで全て表示出来るようになりましたが、この場合はなぜ表示できるのでしょうか
0057デフォルトの名無しさん
2013/10/25(金) 19:14:12.55アダプタの中には全項目でひとつの CustomData を共有している
内側に置いた場合は一項目ごとに新しい CustomData を new しているわけだから
アダプタの中には項目ごとに別々の CustomData がある
0058デフォルトの名無しさん
2013/10/25(金) 19:35:26.33http://fast-uploader.com/transfer/6938252686854.png
ひとつしかないから setText1 とかは前のを上書きして最後のが残る
0059デフォルトの名無しさん
2013/10/25(金) 21:34:57.690060デフォルトの名無しさん
2013/10/26(土) 14:48:28.340061デフォルトの名無しさん
2013/10/26(土) 14:54:44.590062デフォルトの名無しさん
2013/10/26(土) 16:40:47.34javaとかでこう言う事は可能でしょうか?
また可能なら参考になるサイトがあれば教えてください。
0063デフォルトの名無しさん
2013/10/26(土) 16:45:08.30HTMLの変換ならXLSTでできる、XML Javaの本かggrb見つかる
0064デフォルトの名無しさん
2013/10/26(土) 16:51:05.70mvn dependency:copy-dependenciesじゃ駄目かな。
ほしいJarをdependencyに書いておいてこのコマンドで依存性も含めて全部落としてきて
target/dependency内にコピると思うけど。
0065デフォルトの名無しさん
2013/10/26(土) 16:56:53.25レスありがとうございます
そちらの方を検索して探してきます
0066デフォルトの名無しさん
2013/10/26(土) 17:22:10.04xmlstarletで簡単にできそうなんでやってみたら、xhtml的に解釈できないとこがあって無理だった。
0067デフォルトの名無しさん
2013/10/26(土) 18:24:39.87import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.HTML;
import javax.swing.text.MutableAttributeSet;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.text.BadLocationException;
class Hoge extends HTMLEditorKit.ParserCallback
{
public static void main(String[] args) throws FileNotFoundException, IOException {
Hoge hoge = new Hoge();
FileReader file = new FileReader("unko.html");
ParserDelegator pd = new ParserDelegator();
pd.parse(file, hoge, true);
file.close();
}
0068デフォルトの名無しさん
2013/10/26(土) 18:32:12.60swingはnetbeansのほうが優れてると思うし、
eclipseってwebアプリケーションとかの人が使ってるんだろうか
0069デフォルトの名無しさん
2013/10/26(土) 18:35:45.95使えなかった
0070デフォルトの名無しさん
2013/10/26(土) 18:43:48.71動作が軽快なとこがいいよ。
0071デフォルトの名無しさん
2013/10/26(土) 18:45:40.67javaでこういう比較と代入を一括でできませんか?
0072デフォルトの名無しさん
2013/10/26(土) 19:15:20.81書かれているmallocの例の場合は処理の流れの読みやすさを優先して個人的は二行に
分割すると思う。
比較的頻出するパターンだとwhileを使ったファイルの逐次読み込み。
Java File whileでググるとwhileの条件内で代入と比較を同時に行う例がよく出てくる。
ただ最近はこういった逐次読み込みもイテレーターとして抽象化してfor(:)で手軽に
行えるようにする場合が多い気がする。
0073デフォルトの名無しさん
2013/10/26(土) 22:34:25.01Files#lines(java.nio.file.Path, java.nio.charset.Charset)とか
0074デフォルトの名無しさん
2013/10/26(土) 22:35:24.18>>58
同じ名前でもループした分だけちゃんとクラスが作られてるんですね
親切に教えていただいてありがとうございます。謎が解けました
0075デフォルトの名無しさん
2013/10/26(土) 22:49:29.270076デフォルトの名無しさん
2013/10/26(土) 23:03:26.530077デフォルトの名無しさん
2013/10/26(土) 23:11:47.500078デフォルトの名無しさん
2013/10/26(土) 23:17:14.24なんの亀レスかと思ったら>>56のextentの話か
>(最後に入力したデータ)を読みにいっている
見えるか見えないかじゃなくて存在するかしないかの話。見えるのと存在するのと代入はそれぞれ違う。
>同じ名前でもループした分だけちゃんとクラスが作られてるんですね
javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する、
ループ抜けるとスタックからpopするから存在しなくなる。これが繰り返されるから結果ループ回すたびにループした分だけちゃんとクラスが作られる。
無限ループするとStackoverflowするじゃん。スタック足らなくなって変数作れなくなったぜベイベー!って合図。
0079デフォルトの名無しさん
2013/10/26(土) 23:35:43.700080デフォルトの名無しさん
2013/10/26(土) 23:40:59.1660秒に満たない場合は秒表示のみできると助かるんですが。
0081デフォルトの名無しさん
2013/10/26(土) 23:52:45.62ない。
自作すれば。
簡単だし
0082デフォルトの名無しさん
2013/10/26(土) 23:52:56.95>javaはブロックスコープだからループ回すたびにコールスタックにスタックフレームpushするからループ回すたびに存在する
違う。同じローカル変数を初期化して再利用してる。
コンパイラがブロックスコープで名前解決してくれてるだけ。
0083デフォルトの名無しさん
2013/10/27(日) 00:01:09.250084デフォルトの名無しさん
2013/10/27(日) 00:07:49.07C系の静的言語の設計ではブロック変数を>>82のように実装するのが大々大前提だからね
よほど今と大きく異なるアーキテクチャのマシンで動かすのでもない限りは変わることはありえない
0085デフォルトの名無しさん
2013/10/27(日) 00:30:51.2530分ぐらい探してたので、ないと言ってもらえて助かりました。
private String fomatSecound(int secound){
int h = secound / 3600;
int m = (secound - (h * 3600)) / 60;
int s = (secound - (h * 3600) - (m * 60));
String duration;
duration = h == 0 ? "" : h + "時間";
duration = m == 0 ? duration : duration + m + "分";
duration = s == 0 ? duration : duration + s + "秒";
return duration;
}
こんなコード書いたんですけど、
もっとスマートな方法あったら教えてください。
0086デフォルトの名無しさん
2013/10/27(日) 00:57:47.01何か設定が悪いからなのでしょうか?
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: NULL
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
0087デフォルトの名無しさん
2013/10/27(日) 02:40:28.26原因で起こっている事例がいくつか。
0088デフォルトの名無しさん
2013/10/27(日) 03:13:17.33無いのなら自前で作ったものをライブラリとして公開するとかしたらとても
0089デフォルトの名無しさん
2013/10/27(日) 03:23:50.94class TimeFormater
{
public static void main(String[] args) {
int s = TimeFormater.toSeconds(7, 33, 55);
System.out.println(TimeFormater.format(s));
}
public static int toSeconds(int hours, int minutes, int seconds) {
return 3600 * hours + 60 * minutes + seconds;
}
public static String format(int seconds) {
int h = seconds / 3600;
int m = (seconds / 60) % 60;
int s = seconds % 60;
return (h > 0 ? h + "時" : "") + (h + m > 0 ? m + "分" : "") + s + "秒";
}
}
0090デフォルトの名無しさん
2013/10/27(日) 03:28:32.61つ Joda PeriodFormatter
0091デフォルトの名無しさん
2013/10/27(日) 03:33:30.93"Java time pretty print"でググればそれなりに方法は出てくる。
あと時刻に関してJavaでちょっと凝ったことをする場合はJodaが定番。
0092デフォルトの名無しさん
2013/10/27(日) 03:42:09.10Joda-Time - Java date and time API - Home
http://www.joda.org/joda-time/index.html
0093デフォルトの名無しさん
2013/10/27(日) 03:54:18.30これはいいかも!
Calendarにはガバガバメモリーリークしてるバグがあるからなw
0094デフォルトの名無しさん
2013/10/27(日) 04:28:13.280095デフォルトの名無しさん
2013/10/27(日) 04:29:18.51英語で検索とは・・・日本語圏での情報は少ないってことか
0096デフォルトの名無しさん
2013/10/27(日) 05:31:30.090097デフォルトの名無しさん
2013/10/27(日) 05:35:57.85出力する」という操作はpretty printという呼び方で決まり切っているから。
Googleで検索もしやすい。
0098デフォルトの名無しさん
2013/10/27(日) 05:44:55.030099デフォルトの名無しさん
2013/10/27(日) 07:28:06.68マジかお・・・Java 7の話?昔の話?
0100デフォルトの名無しさん
2013/10/27(日) 07:35:39.01本に書いてあった.javaを.classにする作業で使うjavacというコマンドをコマンドプロンプトに入力すると
エラー:メイン・クラスcom.sun.tools.javac.mainが見つからなかったかロードできませんでした
とメッセージが表示されて.classが作れません、どうすればできるか教えてください
jdkはインストールされてます、pathも確認しました
0101デフォルトの名無しさん
2013/10/27(日) 07:48:04.750102デフォルトの名無しさん
2013/10/27(日) 07:55:43.71tools.jarが見つからないのじゃないか。
jdkを再インストールすればいいよ。
0103デフォルトの名無しさん
2013/10/27(日) 08:10:00.16再インストールは2回しましたが解決できませんでした
0104デフォルトの名無しさん
2013/10/27(日) 08:10:52.74つまりどういうことですか?
Java_homeとはなんのことですか
0105デフォルトの名無しさん
2013/10/27(日) 08:16:54.98PATHになんと設定したのか教えて
0106デフォルトの名無しさん
2013/10/27(日) 08:29:24.01ごめん。環境変数JAVA_HOMEのこと。コマンドプロンプトから
set JAVA_HOME
set CLASSPATH
それぞれのコマンドを実行した結果をコピペしてみて。
(ユーザー名などが含まれる場合があるので要注意。その場合は名前の部分を書き換えて)
0107デフォルトの名無しさん
2013/10/27(日) 08:45:17.510108デフォルトの名無しさん
2013/10/27(日) 12:59:49.40jdkの中のbinというフォルダです
C:\Program Files\Java\jdk 1.7.0_45\bin\だった気がします
0109デフォルトの名無しさん
2013/10/27(日) 13:15:47.45jdkのversion、32bit版か64bit版か
0110デフォルトの名無しさん
2013/10/27(日) 13:36:05.15win64bit、jdkは1.7.0_45もちろん64bit版です
スペックが足りてないんでしょうか
javaを始めるのはこんなにも難しいものなんですね
0111デフォルトの名無しさん
2013/10/27(日) 13:36:06.39このパスだと、クォート必要だぞ
0112デフォルトの名無しさん
2013/10/27(日) 13:50:33.240113デフォルトの名無しさん
2013/10/27(日) 14:06:20.51ここのほうかよっぽど頼りになります
java_homeはわかりません、設定してみます
0114デフォルトの名無しさん
2013/10/27(日) 14:15:48.92繰り返すけどSET JAVA_HOMEとSET CLASSPATHの実行結果はどうなの?
0115デフォルトの名無しさん
2013/10/27(日) 14:17:24.04逆に変な値が設定されているとそうなるね。
set JAVA_HOME=
で解除できる
0116デフォルトの名無しさん
2013/10/27(日) 20:53:55.61マッチさせたい文字列が、対象文字列の中に複数存在する時、
指定した回数目に現れる部分をマッチさせる方法ってある?
例えば
s = "hoge foo hoge bar hoge piyo hoge qux";
この文字列の左から3つめのhogeから文末まで後方参照とかしたいのです
ループ文を使うほかない?
0118デフォルトの名無しさん
2013/10/27(日) 21:51:43.21方法の有無でいえばすぐ例は出せるだろうに
(?:hoge.*?){3}(hoge.*)
上手な正規表現で済ませたいって話なら正規表現のスレで相談しろという話になる
0119116
2013/10/27(日) 22:42:28.370120デフォルトの名無しさん
2013/10/27(日) 22:48:01.53レスありがとうございました
0121デフォルトの名無しさん
2013/10/28(月) 22:03:58.890122デフォルトの名無しさん
2013/10/28(月) 22:17:26.93本屋のjavaコーナー行って端から端まで買え
0123デフォルトの名無しさん
2013/10/28(月) 22:17:41.00/WEB-INF とかが無難なところでしょうか
0124デフォルトの名無しさん
2013/10/28(月) 22:19:49.14ttp://www.amazon.co.jp/dp/4822281655
0125デフォルトの名無しさん
2013/10/29(火) 03:56:33.650126デフォルトの名無しさん
2013/10/29(火) 04:30:26.49set JAVA_HOMEの実行結果は
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\bin;でした
set CLASSPATHは
環境変数 CLASSPATH が定義されていません でした
CLASSPATHを設定すれば使えるようになりますかね
0127デフォルトの名無しさん
2013/10/29(火) 09:01:30.260128デフォルトの名無しさん
2013/10/29(火) 09:32:18.650129デフォルトの名無しさん
2013/10/29(火) 13:25:18.41もしかして古い版のjavaが入ってて、pathがそっち先になってないかな?
0130デフォルトの名無しさん
2013/10/29(火) 16:44:36.62javac -version
でまずバージョン確認か。
0131デフォルトの名無しさん
2013/10/29(火) 23:53:45.510132デフォルトの名無しさん
2013/10/29(火) 23:55:44.690133デフォルトの名無しさん
2013/10/30(水) 00:41:26.74コンピュータ(というかシェル)について基本的なこと知っていれば朝飯前だろ。
普段から人任せで、どうやって動いているのか理解してないと、結局プログラムもサンプル以上のことできないから、先にコンピュータについて学んだほうがいいと思うぞ。
0134デフォルトの名無しさん
2013/10/30(水) 00:43:53.740135デフォルトの名無しさん
2013/10/30(水) 01:05:33.060136デフォルトの名無しさん
2013/10/30(水) 01:07:32.640137デフォルトの名無しさん
2013/10/30(水) 01:16:10.280138デフォルトの名無しさん
2013/10/30(水) 06:32:23.530139デフォルトの名無しさん
2013/10/30(水) 07:30:02.190140デフォルトの名無しさん
2013/10/30(水) 07:41:39.18トラブルに対しては無力だから、そーっとそーっと崩さないように使い続けなければいけなくなる。
0141デフォルトの名無しさん
2013/10/30(水) 12:47:29.08入門書の棚買いはさすがに未だかつて無いのでは
0142デフォルトの名無しさん
2013/10/30(水) 13:28:00.480143デフォルトの名無しさん
2013/10/30(水) 14:43:22.78本を読むより先にエクセルなり使って
具体的なアプリの画面イメージとか動作イメージを作ってみる方が有意義
0144デフォルトの名無しさん
2013/10/30(水) 15:49:10.570145デフォルトの名無しさん
2013/10/30(水) 20:00:21.81PATHの仕組みを理解してれば、CLASSPATHの仕組みを理解するのも簡単じゃないかな。
0146デフォルトの名無しさん
2013/10/30(水) 20:16:22.53結構はまった記憶がある、どこにオブジェクトがあってどこで実行されるとか
■ このスレッドは過去ログ倉庫に格納されています