☆★Java質問・相談スレッド177★★at TECH
☆★Java質問・相談スレッド177★★ - 暇つぶし2ch824:デフォルトの名無しさん
16/06/05 09:10:58.30 iMrWFgNq.net
>>820
>>817です。
アドバイスありがたいんですけどよくわかりません
自分がやりたいのはJLabelとGraphics2Dのdraw()を同時に描画して
かつJLbelのほうを真上に表示することです

イベントとか透明度とかいろいろいじったんですけどどうしてもdraw()のほうが上に描画されてしまいます

825:デフォルトの名無しさん
16/06/05 12:06:54.56 f33EmFKv.net
URLリンク(stackoverflow.com)
URLリンク(stackoverflow.com)

826:デフォルトの名無しさん
16/06/05 16:22:36.78 Qy2zNNAa.net
Javaのラベル文の質問です
ラベルの中にラベルを貼ることは可能ですか?
ラベル1:~{
 ラベル2:~{
 System.out.println("こんな形");
 }
}
>>820を参考にしましたが、よく分かりません
ラベル2:~{continue ラベル2;}でラベル2まで飛べますか?
また、ラベル2:~{continue ラベル1;}でラベル1まで飛べますか?
何度もすいません、お願いします。

827:デフォルトの名無しさん
16/06/05 16:41:41.46 odhU5/tC.net
>>824
ラベルは使うな
どうラベルを使うかではなく、使わずに目的を達成する方法を考えろ

828:デフォルトの名無しさん
16/06/05 19:14:01.58 /bruxSbe.net
>>824
14.16. The continue Statement
URLリンク(docs.oracle.com)
| The scope of a label of a labeled statement is the immediately contained Statement.
| The continue target must be a while, do, or for statement, or a compile-time error occurs.

ラベルのスコープはラベル直後のステートメント
continueの対象はwhile, do, forに限る


ちゅうことなんでラベルは貼れても飛ぶことができないかと
こういうのだったらできるんだけどねー

int i = 0;
Label_1: while (i < 3) {
 Label_2: while (true) {
  if (i % 2 == 0) {
   i++;
   continue Label_1;
  } else {
   i++;
   continue Label_2;
  }
 }
}

829:デフォルトの名無しさん
16/06/05 19:46:12.67 FIzAHdVg.net
>>826
ありがとうございます

ありがとうございます

830:デフォルトの名無しさん
16/06/05 19:50:45.05 5XbRe77x.net
今の子たちは行番号も構造化BASICも知らない世代なんだから
ラベルやgoto/setjmpが新鮮なんだろうよ
できればその労力をlambda式に使った方がいいと思うけどね

831:デフォルトの名無しさん
16/06/05 20:06:33.58 hOWXyYQQ.net
ボレロ

832:デフォルトの名無しさん
16/06/05 21:51:27.70 pxS74riA.net
村上。

833:デフォルトの名無しさん
16/06/06 13:25:30.14 JZtx2nlJ.net
staticメンバだけのクラスで
クラスロード後、コンストラクタを通さずあらかじめ自動で文を実行させるおく事って可能でしょうか?

834:デフォルトの名無しさん
16/06/06 13:35:20.02 9aadMFJw.net
>>831
class Hoge
{
static {
System.out.println("はげ");
}
}

835:デフォルトの名無しさん
16/06/06 14:01:46.42 p52I8MXM.net
ハゲハダマッテロ
    ∧___∧    / / / /
  ⊂( ・∀・)  、,Jし //  パン
   (几と ノ   )  て.彡⌒ ミ 
  //'|ヽソ 彡  Y⌒Y( ´;ω;`)   
/ノ / | \ 彡      l r  Y i|
ヽ/、/ヽ/ ヽ/        U>>832|:_|j

836:デフォルトの名無しさん
16/06/06 18:05:22.48 d2PTajMw.net
マルプラなDTアプリを作るのはElectronとSwingはどっちがいいのでしょうか?
それぞれのメリット、デメリットを教えてください

837:831
16/06/06 18:18:10.06 AvO2qKU5.net
>>832 はげしく感謝!

838:デフォルトの名無しさん
16/06/06 18:36:27.97 lERWlKku.net
>>834
Swing(というかJavaでGUIアプリを作ること全般)が適しているケースなんか存在しない
Javaというだけで-100点からのスタートだということを肝に銘じておけ

839:デフォルトの名無しさん
16/06/06 18:46:44.26 /ojbA3WN.net
Javaの入門書でクライアントGUIアプリを教えるのはいい加減やめりゃいいのにな
初心者はアプリといえばクライアントアプリしか想像できない人が多いんだから、あのせいで独学者はみんな勘違いする

840:デフォルトの名無しさん
16/06/06 18:54:13.19 LbzoRXHI.net
なぜだ
格好悪かろうと一言語で全て完結するという理想を満たしている
腕が上がって他へ移るかは本人が決めること

841:デフォルトの名無しさん
16/06/06 18:58:58.88 wkSg93q8.net
役に立たない理想なんか衒学趣味のタコ助野郎だけ学んでろ

842:デフォルトの名無しさん
16/06/06 19:04:27.00 pvK3vfp5.net
理想もない猿は黙ってろよ。

843:デフォルトの名無しさん
16/06/06 19:09:29.77 d2PTajMw.net
>>836
つまりメリットはないということですか?
V2Cはswingみたいですが

844:デフォルトの名無しさん
16/06/06 19:27:23.03 e+TlXwYN.net
swingと聞いて思い浮ぶのはPureJava、JTable、産廃
異論は認める

845:デフォルトの名無しさん
16/06/06 19:43:30.64 AvO2qKU5.net
自分用ツール作るとかに便利じゃないです?
コード使い回せるし

846:デフォルトの名無しさん
16/06/06 20:29:31.64 kYOSRyqE.net
そう思うならやれよ勝手に

847:デフォルトの名無しさん
16/06/06 21:49:23.05 HSh/i7Wo.net
VBよりはいいだろ

848:デフォルトの名無しさん
16/06/06 22:06:53.77 Tzc6nBCT.net
Eclipseは?

849:デフォルトの名無しさん
16/06/06 22:09:27.12 9d27o1oJ.net
>>834
ElectronはJavaScript、SwingはJava、Electronはスレ違。
JavaでGUIやるならだいたいSwingかJavaFX。まぁSwingで問題なし。
Swing駄目って言っているやつは、ただSwingに挫折した無能だから気にする必要なし。

850:デフォルトの名無しさん
16/06/06 22:11:38.23 HjHXlP56.net
ク    ク   || プ  / ク   ク  || プ  /
  ス  ク ス _  | | │ //. ス ク ス _ | | │ //
  / ス   ─  | | ッ // /  ス   ─ | | ッ //
  / _____  // /          //
.  /   l⌒l l⌒l \  ))   ____
. / / ̄| ,=| |=、| ̄ヾ   / �


851:Q___ヽ / ̄/ ̄.  ー'●ー'  ̄l ̄ |  | /, -、, -、l  )) | ̄l ̄ ̄  __ |.    ̄l ̄.| _| -| ,=|=、 || |. ̄| ̄ ̄  `Y⌒l__ ̄ノ ̄ (6.   ー っ-´、} ヽ  ヽ    人_(  ヾ    ヽ    `Y⌒l_ノ   >〓〓〓〓〓〓-イ   /ヽ  人_(  ヽ /   /  Θ  ヽ|  /    ̄ ̄ ̄ ヽ-イ



852:デフォルトの名無しさん
16/06/07 14:25:52.84 D7k3fKbj.net
swingは今更ねーわ。
electron 〉javafx 〉ローカルホストでweb 〉swing
今からやれと言われて検討するならこうなる。

853:デフォルトの名無しさん
16/06/07 15:55:02.34 JWprMCTU.net
eclipseで使ってるのはSWTというやつでSwingともまた違う
swing/swt/javafxいずれも専用スレがある

854:デフォルトの名無しさん
16/06/07 16:20:24.00 AqghDwj4.net
>>849
electronはjsだ

855:デフォルトの名無しさん
16/06/07 16:21:02.89 AqghDwj4.net
>>849
ローカルでwebとか意味不明。馬鹿?

856:デフォルトの名無しさん
16/06/07 16:23:11.24 RIjMUPE/.net
次のページ(URLリンク(research.nii.ac.jp))の、「FREQT」もしくは「FREQT ver4」プログラムを動かしたいのですが、 やり方が全く分かりません。

プログラミング経験は、C言語はfor文等を使って数値計算をしたことがある程度です。Javaは経験は無かったのですが、JDKはダウンロードしました。

「FREQT」プログラムをjavacでコンパイルしようとしても、どうにもうまくいきません。JAXPというものが絡んでいるようですが、ここ数日取り組んでみて結局うまくいきませんでした。

もしプログラミングに詳しい方がいらっしゃいましたら、どうか動かし方を教えて頂けないでしょうか?

857:デフォルトの名無しさん
16/06/07 16:43:16.23 uoaKuNhz.net
JavaでGUI(おそらくWindwos)を作るって事は、既存のライブラリ資産を活かしたいからだろ
別にSwingでもいいんじゃない

858:デフォルトの名無しさん
16/06/07 17:03:24.50 GM81CXhl.net
Electronが選択肢にあるんだからJavaでなくてもいいんだろ
明らかにElectronが正解

859:デフォルトの名無しさん
16/06/07 18:28:58.83 dHr3PrBM.net
素人がElectron使うとXSSで爆発するけどね

860:デフォルトの名無しさん
16/06/07 20:29:14.56 /ZO0bpA6.net
jspでセッション情報の保持は
ヘッダ情報にcookie:xxxxx
みたいな形で保持されてるらしいですが、
セッション情報が残っている時に、
ブラウザのcookieを消すとセッション情報が消えるのはなぜですか?
jspならhtml形式だからcookieとは違うはずなのに

861:デフォルトの名無しさん
16/06/07 21:17:20.48 Guppn9xI.net
void hoge(String shape) {
switch (shape)
case

862:デフォルトの名無しさん
16/06/08 04:30:31.82 E3Y0fydP.net
>>853
JAXP (Java API for XML Parsing)
JAXPは、米Sun Microsystems社が提供するJava言語用の標準XML APIである。
SAX 2.0, DOM 2, XSLTなどの機能を含む

JavaのXMLは、よく知らない。
Groovyなら、XmlParser, XmlSlurper を使うけど

正確なエラーメッセージで検索すればいいよ。
エラーメッセージが無ければ、漏れらにもわからない

863:デフォルトの名無しさん
16/06/08 08:59:24.49 VWzAs+2U.net
>>853
URLリンク(xml.apache.org)からcrimsonをダウンロード
具体的には`svn co URLリンク(svn.apache.org) xml-crimson`みたいにする
あとはmakeと打って、エラーが出るDomWrapperとPatternをjavac -classpath .:xml-crimson/srcつけて手動でコンパイル
コンパイルはできたけど動作確認はしてない

864:デフォルトの名無しさん
16/06/08 21:43:45.88 Of4rxDsn.net
俺たちのやる作業レベルでは大した速度の違いはない

865:デフォルトの名無しさん
16/06/09 02:40:45.99 86wjM1QZ.net
そういえば Java ってミリ秒単位で現在時取れるけどマイクロ秒とかナノ秒では取れないの?

866:デフォルトの名無しさん
16/06/09 06:53:39.91 W1J6KNMM.net
μとかナノ単位で取れたとしても使いみちなくなくない?

867:デフォルトの名無しさん
16/06/09 07:41:15.69 sulveNBl.net
>>862
OSで計れる時間を勉強してから出直して来い

868:デフォルトの名無しさん
16/06/09 07:55:51.57 Uf/9VKKE.net
バージョン1UUIDのタイムスタンプが100ナノ秒単位

869:デフォルトの名無しさん
16/06/09 08:36:20.04 PZQxvZoz.net
スッキリjavaにjava8からマイクロとれるようになったって書いてあった気がする

870:デフォルトの名無しさん
16/06/09 08:51:24.33 dIu2vu4F.net
勘違いじゃねーの
Java8 DateTime APIはナノ秒の精度で時刻を格納してるけど
ナノ秒の精度で現在時刻を取得できるわけではない
情報源がSystem.currentTimeMillisだから精度上げようがない
nanoTimeってのもあるが、あれは時刻じゃない

871:デフォルトの名無しさん
16/06/09 09:32:53.36 CSH5zx3A.net
たかがPCのおまけ内蔵時計にマイクロ秒単位の精度求めるのん?
CPU占有してインターバル求める位ならまだなんとかなるかもだが

872:デフォルトの名無しさん
16/06/09 09:58:27.87 aGzbUoMt.net
そもそも、量子力学の知見によれば、この物理世界そのものも、何秒以下では、時間が連続していないわけで

873:デフォルトの名無しさん
16/06/09 10:08:07.57 8bnSb6E3.net
>>868
現在時刻が欲しいんじゃなくて差分を利用して処理にかかった時間を計測したりとかの用途でしょ

874:デフォルトの名無しさん
16/06/09 10:42:12.37 U9CsIV6v.net
862が現在時って言ってるから現在時の話をしとるんだろうがコルァァァァァァア

875:デフォルトの名無しさん
16/06/09 15:59:12.13 PZQxvZoz.net
>>867
そういう事だったのか
さんくす

876:デフォルトの名無しさん
16/06/09 16:01:07.29 PZQxvZoz.net
System.nanoTimeっていうのもあるらしい

877:デフォルトの名無しさん
16/06/09 16:04:50.36 lRCEzphN.net
さっさといねよ、厨房

878:デフォルトの名無しさん
16/06/09 19:47:04.21 z86Am/NW.net
void createShapr(String shape){
if (shape.equals(

879:デフォルトの名無しさん
16/06/09 19:47:55.21 z86Am/NW.net
"Triangle"){ hoge.add(new Triangle())}
else if (shape.equals("Circle") {hoge.add(new Circle())}
else if (shape.equals("Square") {hoge.add(new Square())}
else if .......
}

こういうコードのリファクタリングはどのようにするべき?

880:デフォルトの名無しさん
16/06/09 19:59:20.36 VbYktpbq.net
Decorator のように見えるけど Chain of Responsibility かもな

881:デフォルトの名無しさん
16/06/09 20:54:43.93 ifPE+NTk.net
>>876
HashMap<String, ShapeFactory>

882:デフォルトの名無しさん
16/06/09 21:24:55.29 5jXMB1Ia.net
>>857
まず大前提として、createXxxって名前つけたんなら
void createShapr(String shape){hoge.add(new Circle());} // 条件等省略
↑こういうのじゃなくて
Shape createShape(String s) {return new Circle();} // 条件等省略
↑こういうふうにしてほしい。
さらに、クラス名をShapeFactoryとしてしまっていい場合は、
メソッド名も単にcreateだけでよくてスッキリ。

あ、あくまでこれは個人的感想ね。

883:デフォルトの名無しさん
16/06/09 21:26:23.12 rWnG5Ha6.net
おっと…>>875だった。

884:デフォルトの名無しさん
16/06/09 21:28:21.88 kVyFEPmq.net
釣れるネタ

885:デフォルトの名無しさん
16/06/09 23:0


886:1:38.63 ID:z86Am/NW.net



887:デフォルトの名無しさん
16/06/10 02:07:11.83 iCsTtZ3L.net
Factoryをリフレクションでやればよくね

public static Shape create(String shape) {
String fqn = Shape.class.getPackage().getName() + "." + shape + "Shape";
Class<Shape> classe = (Class<Shape>) Class.forName(fqn);
Shape obj = classe.newInstance();
return obj;
}

public abstract class Shape {
protected Shape() {}
}

public class TriangleShape extends Shape {
}

public class CircleShape extends Shape {
}

888:デフォルトの名無しさん
16/06/10 10:46:09.29 XvceIi0Z.net
静的解析出来ない依存性はやだなぁ

889:デフォルトの名無しさん
16/06/10 20:27:09.88 FpIylB97.net
classA.classB.classC[hoge]->hage()
classA.classB.classC[hoge].sun()
classA.classB.classC[hoge]["pikapika"]=true;

って感じになってて長いので
myFunc(classA.classB.classC[hoge]){
->hage();
.sun();
["pikapika"]=true;
}
的なことってできませんか

890:デフォルトの名無しさん
16/06/10 20:36:52.18 u+tsBWPR.net
>>885
それはJavaですか?

891:デフォルトの名無しさん
16/06/11 16:49:29.94 lGk3iJgb.net
>>885
c++(11以降)ならこんな感じで
auto& a = classA.classB.classC[hoge];
a->hage();
a.sun();
a["pikapika"]=true;

892:デフォルトの名無しさん
16/06/12 20:50:46.64 jWym4ASr.net
書き込み先間違えても謝らないなんて
C++erって糞やな

893:デフォルトの名無しさん
16/06/12 22:25:30.78 QKWa7och.net
しーぷらぷらーって読めばいいの?

894:デフォルトの名無しさん
16/06/12 22:29:32.84 Vqz0UhNC.net
アメリカ人なら スィープラスプラスアウゥ って言うだろうな

895:デフォルトの名無しさん
16/06/12 22:35:38.40 4cZJjeON.net
シー!
ぷらぷら
アーッ!

896:デフォルトの名無しさん
16/06/13 11:46:01.74 L+tKyIDw.net
jarファイルの中にある sample.libs.hoge.classのメソッドを5つ、メンバ変数を2つ追加(メンバ変数一つに対し、set/get + HogeA )
したHogeAを作りたいのですが

//修正前
import sample.libs.hoge;
Hoge hoge = new Hoge(); // => 設定関係が勝手にセットされrun()が自動的に実行される


//修正後
import sample.libs.hogeA; // => hogeを拡張したhogeEX的な存在
HogeA hogea = new HogeA();
Hogea.setURL("URLリンク(www.sample.com.));
Hogea.setTimeout(5);
Hogea.run();

こんな感じにしたいのですが 可能ですかね・・・

897:デフォルトの名無しさん
16/06/13 12:20:38.11 A1KXN1Y2.net
HogeAがThreadクラスをextendsしてればできるんじゃね?
hogea.start()だけどな

898:デフォルトの名無しさん
16/06/13 12:22:56.04 A1KXN1Y2.net
ああ、インターネットにアクセスするだけならThreadいらないわな

899:デフォルトの名無しさん
16/06/13 12:25:18.40 A1KXN1Y2.net
度々御免。
インターネットアクセス中に処理が戻ってきてほしいならThread
処理が止まってもいいならThreadいらないな

900:デフォルトの名無しさん
16/06/13 13:00:32.24 Mj2HqjrQ.net
>>892
アクセスレベルが判明しない以上はわからない、publicとかprivateとか
URLリンク(docs.oracle.com)

901:デフォルトの名無しさん
16/06/13 15:56:32.25 h4KLgWKn.net
>>892
よく言いたいことがわからないけど、継承させればいいんじゃね?
finalが付いていなけりゃだけど

継承できないならリフレクションすればいいし

902:デフォルトの名無しさん
16/06/13 19:15:55.13 qjbwxnFC.net
すいませんあのー
入門書にある多態性のざっくり捉えることのメリットについての説明がよくわからないんですが
何か簡単なプログラム例を出して教えていただけないですか?

903:デフォルトの名無しさん
16/06/13 19:19:12.08 Q+rj


904:Y21+.net



905:デフォルトの名無しさん
16/06/13 19:38:55.88 NNE4K5OW.net
変態でぐぐれ

906:デフォルトの名無しさん
16/06/13 19:43:22.61 h4KLgWKn.net
俺の画像がトップに来たわ

907:デフォルトの名無しさん
16/06/13 20:10:35.38 L+tKyIDw.net
悩んでて聞いたのは良いけど自分のレベルが足りなすぎて何を言われてるのかわからない・・・ゴメン・・・
thread・・・リフレクション なんかリフレクションって全て弾き返しそう ちょっと強そう Hogeはほぼ全てprivateで書かれてます Hogeにはfinalはありません。

イメージ伝わるかな・・・
/* HogeA.java*/(今回作るプログラム ~/${project_name}/lib/HogeA.javaに格納)
import sample.lib.Hoge; //(sample_lib_001.jarの中に格納されてる)
class HogeA extends Hoge{
public void HogeA(){}// 呼びだされた時は特に何もしない
public void setURL(string _url){ //プライベートの所に値入れる// Hoge::url => private String
url = _url;
}
public void setTimeout(int _time){ //プライベートの所に値入れる// Hoge::time は存在しないのでHogeA::time(0-?)をprivateで作りたい
time = if(_time<60)?time:60:;
}
//↓困ってる所-1- 1,2行更新するために全部コピペしないとダメ?
public boolean _run(){ /* Hoge()が呼び出されていた時に実行されていた処理を全て行う。更新/追加されたメンバー変数(time/url)を使用。*/; return true; }
private int time=60; // private メンバ変数 timeの追加(HogeA::setTimeout/HogeA::getTimeout(省略)にて使用)
}

/* main.java */
import override.sample_lib_001.lib.HogeA; //←困ってる所2 今回作ったHogeAをこんな感じで呼びたい
import Logger;
class main{
public Logger log = new Logger("/dir/aaa.log");
public void main(){boolean flag=false;HogeA hogea = new HogeA();hogea.setURL("URLリンク(www.sample.com.));flag = hogea._run();log.info("run : "+if(flag === true)?"success":"failed"); }//
}

908:デフォルトの名無しさん
16/06/13 20:14:38.66 qjbwxnFC.net
>>899
はい。java多態性入門で検索しました。
ただ入門ぽい入門者に対して説明されてるとこが見つかりませんでした。

909:デフォルトの名無しさん
16/06/13 20:58:17.73 0tlfaplt.net
>>902
全部コピー?継承さらてわじゃないの?

てか、コンパイルした結果はどうなの?エラー出たの?そらともコンパイルできたけど意図した通りに動かないの?

910:デフォルトの名無しさん
16/06/13 20:59:23.62 0tlfaplt.net
あ。タイプミスった。スマホのフリック入力でミスると変なタイプミスになるな。w

911:デフォルトの名無しさん
16/06/13 21:02:23.29 zP9qG/5E.net
>>898

デザインパターンとか調べると分かるかも

912:デフォルトの名無しさん
16/06/13 21:11:00.63 zP9qG/5E.net
>>898
追記
ストラテジーパターンが、わかりやすいかも

2つのクラスで共通するメソッドを使えるので、重複するコードを減らせる

913:デフォルトの名無しさん
16/06/13 21:12:19.48 L+tKyIDw.net
>>904
やりたいことが多すぎてごっちゃになっててたのに今気がついた。
import の所がそもそも動いてなくてテストができてない・・・

全部っていうのはメソッドの中の処理全部・・・
hoge()//元のメソッド
{
↓コピペ1
......
.....
..
..
↑ここまで
修正したい場所1←
修正したい場所2←
↓コピペ2
..
....
.....略
↑コピペ2
}
↑こんな感じで修正したいヶ所はたった2ヶ所だけなんだけど

hogeA()//Hoge継承?してきて2行修正しただけのhogeAメソッド
{
コピペ1
修正ヶ所1
修正ヶ所2
コピペ2
}
全部コピペしないとだめかな。ここのコピペ部分どうにか省略出来・・・る訳無いか・・・

914:デフォルトの名無しさん
16/06/13 21:15:34.40


915:qjbwxnFC.net



916:デフォルトの名無しさん
16/06/13 21:33:43.26 0tlfaplt.net
>>908
詳細わからねえからなんとも言えんが、多分できない。

917:デフォルトの名無しさん
16/06/15 02:33:32.00 gHR2VZA2.net
>>902
なんかHogeとHogeAの関係性が逆なんじゃないの

class HogeA {
private String url;
private int time;
public void HogeA(){};
public void setURL(String url) { this.url = url; }
public void setTime(int time) { this.time = time; }
public void run() {…}
}

class Hoge extends HogeA {
public Hoge() {
setURL(“XXX”);
setTime(0);
run();
}
}

HogeとHogeAを用意する意図が分からないので疑問を挟まず要件を満たすならこんな感じ

918:デフォルトの名無しさん
16/06/15 11:26:32.12 RLysB/OD.net
java初心者なんだけどいい?
コマンドラインから1~6打ち込んでその数字を乱数で比較して勝ち負けを判定するものつくりたいんだけど
C++みたいに1~6で数字の入力を制限することができないんだけどソースどーやって書くの

919:デフォルトの名無しさん
16/06/15 11:29:51.22 yd8lnPA+.net
外国の方ですか?

920:デフォルトの名無しさん
16/06/15 11:46:43.75 RLysB/OD.net
>>913
外人ぽい日本人が聞いてる

921:デフォルトの名無しさん
16/06/15 11:48:50.82 6xgxkumJ.net
なぜコマンドラインなのかButtonで入力しては駄目なのか単体テストで済む話じゃないのか

922:デフォルトの名無しさん
16/06/15 11:55:57.41 3GkgPPDP.net
>>910 (´・ω・`)残念
>>911 jarファイル(Hoge含む)は私が作ったものではなく、更に毎月更新される。
なので直接修正せず何らかの手段でその部分だけ修正できないかなと 試行錯誤してます(´・ω・`)

923:デフォルトの名無しさん
16/06/15 12:06:18.74 7bfVMXbn.net
設計センス皆無な奴が作ったウンコシステムを使う人は大変だなあw

924:デフォルトの名無しさん
16/06/15 12:08:44.12 7bfVMXbn.net
>>914
あだ名はミャンマーとかですか?

冗談はさておき、C++での入力制限はどのようなコードを書いたんだ?
外国の方だと思われたのは日本語が意味不明だからだ
コードで話そうではないか

925:デフォルトの名無しさん
16/06/15 12:28:32.12 i4R0HEqY.net
それはヘイトスピーチではないのか。

926:デフォルトの名無しさん
16/06/15 12:39:43.70 1MMqiU3V.net
そういやC++でどうやって入力制限してるんだ?標準入力からただ入力したら普通できないよな。入力後に調べて弾くならできるが、それならJava でもできる。

927:デフォルトの名無しさん
16/06/15 14:02:33.32 TGiPX2zL.net
>>912
キーボード入力は、
java.util.Scanner(System.in).nextLine()

>>916
Groovyのメタプログラミングでは、

Category, MOP(Meta Object Protocol), MetaClass, Expando,
AST(Abstract Syntax Tree)変換とか?

928:デフォルトの名無しさん
16/06/15 22:16:22.75 gfdIm+Z1.net
import java.util.Random;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random rnd = new Random();

System.out.println("ようこそ占いの館へ");
System.out.println("あなたの名前を入力してください");
String name = sc.nextLine();
System.out.println("あなたの年齢を入力してください");
String ageString = sc.nextLine();
int age = Integer.parseInt(ageString);
int fortune = rnd.nextInt(4);
fortune++;
System.out.println("占いの結果が出ました!");
System.out.println(age + "歳の" + name + "さん、あなたの運気番号は" + fortune + "です");
System.out.println("1:大吉 2:中吉 3:吉 4:凶");

sc.close();
}
}
【質問】
Scannerオブジェクトは.close()しないとリークするのに、Randomオブジェクトは
リークしないのですか?.close()できないのですか?
Java歴2日目です。

929:デフォルトの名無しさん
16/06/15 22:30:41.51 /d5kHJwB.net
net beansを使ってjavaでweb作成をしています。
サーバーはtomcatです。
データベースアクセスをして、何レコードか抽出される結果を
画面に表示したいのですが、やはり繰り返し処理を行い、
抽出結果の分だけテーブルに追加していくしか方法はないでしょうか。
レコードを配列化し画面と関係づけることで、画面に表として
表示させるような効率的なやり方はないものでしょうか。

930:デフォルトの名無しさん
16/06/15 22:40:32.12 Zx+tyMGv.net
jspの使い方でも覚えろよ

931:デフォルトの名無しさん
16/06/15 23:00:03.59 Qb3yFOnx.net
>>923
そもそも何を言っているのか分からない。

932:デフォルトの名無しさん
16/06/15 23:20:20.27 018mCAnd.net
>>923
フレームワークを学ぼう。

933:デフォルトの名無しさん
16/06/15 23:28:47.56 D1dVQYB8.net
>>923
HPのサンプルを動かすか、本読んで出直して来い

934:デフォルトの名無しさん
16/06/16 07:33:12.28 tOwQ8tvq.net
スッキリわかるサーブレット&JSP入門

推薦本

935:デフォルトの名無しさん
16/06/16 07:44:32.90 Wdxtt7hg.net
>>923です。
すみません、言葉足らずでした。
回答ありがとうございます。

JSPでやろうとしています。
JSPでjavaで取得した結果を抽出することはでききますが、
それを表のように枠線がついた形式で表示させるには、
やはり1レコードずつ<tr></tr>タグで囲って
動的に出力するしかないでしょうか。

struts等のフレームワークも確認してみましたが、
必要最低限以外のインストールはしたくなく
(他の人も保守するかもしれないので)、
一般的なやり方でDBからの抽出結果を簡単に表形式で
表示する方法はないかと思い、
質問させていただきました。

936:デフォルトの名無しさん
16/06/16 09:18:00.34 LOakJq83.net
アホ?

937:デフォルトの名無しさん
16/06/16 09:21:08.29 dX5NIqBg.net
紛れもないな

938:デフォルトの名無しさん
16/06/16 10:04:40.92 tOwQ8tvq.net
そんなの一々、自分でしないよ。

フレームワークが勝手にやってくれる

939:デフォルトの名無しさん
16/06/16 10:32:33.07 3KkN92+a.net
>>929
jspでやろうとしてるかどうかは聞いてねえ
「jspの使い方を覚えろ」と言ったんだ

この言葉だけまずは理解しろ
分かったら帰れ

940:デフォルトの名無しさん
16/06/16 10:41:28.70 FCR2MGZl.net
人に理解してもらうには言葉足らずだということだね

941:デフォルトの名無しさん
16/06/16 10:55:13.18 4n71OsAj.net
>>934
マシンとしか向き合えないコミュ障だから
プログラマーやってるんでしょ。
察してあげなよ。

942:デフォルトの名無しさん
16/06/16 11:30:59.53 G8mFGz+4.net
マシンの方が女より扱いやすい

943:デフォルトの名無しさん
16/06/16 12:31:08.78 CbGXrP8u.net
>>922
乱数って計算してるだけだからな・・・

944:デフォルトの名無しさん
16/06/16 13:13:28.57 v9L+DCnp.net
RANDOM関数はBASICの時代ではRANDOM(-TIME)という使い方が多い
(BASICのRANDOM関数は引数が負数だった場合それぞれの数値に固有の値を返す)

945:デフォルトの名無しさん
16/06/16 13:34:49.95 jO0P8oj4.net
seedを考えないのであればMath.random()の方が単純だな
擬似乱数で困る場合は乱数発生器を買ってくるとか、結構いい値段する

946:デフォルトの名無しさん
16/06/16 14:01:04.04 tOwQ8tvq.net
>>922
オブジェクト.close()など、終了処理するのは、
外部リソースを握りこんでいるようなオブジェクトで、リソースを解放するため

普通の単純なオブジェクトは、.close()など特別な終了処理をしなくても、
生存するスコープから外れると、自然消滅する

947:デフォルトの名無しさん
16/06/16 15:33:51.49 bI+aCDek.net
javaでクライアントサイドのブラウザ制御っていうのはあまりやらないんですか?
アプレットっていうのは今使われないと聞いて
サーバサイドのjavaからクライアントに何か複雑な事させたい時はjsとかhtml5?とかのスクリプトをコールする感じですか?

948:デフォルトの名無しさん
16/06/16 15:36:15.40 7yZ+E296.net
ブラウザでjava動かないからな。やるやらないじゃなくて動かない。
gwtとか使えばjavaからjsにコンバートして動かすことはできる

949:デフォルトの名無しさん
16/06/16 15:44:22.50 bI+aCDek.net
>>942
そういう技術もあるんですね
有り難うございます

950:デフォルトの名無しさん
16/06/16 18:58:53.05 Os9UABDT.net
RuntimeException(を継承したクラス)をthrowするときって
javadocの@throwsは書くとして
メソッド名うしろのthrowsには書くもの?書かないもの?

951:デフォルトの名無しさん
16/06/16 19:54:25.75 bUrMWU8W.net
とんちかな?

952:デフォルトの名無しさん
16/06/16 19:55:10.72 bUrMWU8W.net
javadocがなにかわかってないだろ

953:922
16/06/16 20:03:38.56 eFMzQDZe.net
ご回答ありがとうございます。両者の違いを理解しました。

954:デフォルトの名無しさん
16/06/16 20:12:03.39 q/qD4Mvc.net
>>944
検査例外

955:デフォルトの名無しさん
16/06/16 20:29:14.03 bUrMWU8W.net
ツールが便利になった反面、変な勘違いをしてる人多くない?

956:デフォルトの名無しさん
16/06/16 21:38:18.50 eFMzQDZe.net
九九を出力するコードを書きました。
欠点がありましたらご指摘ください。
Java歴3日の者です。

public class Main {
public static void main(String[] args) {
for(int y = 1; y < 10; y++) {
for(int x = 1; x < 10; x++) {
int ans = y * x;
String str = "" + ans;
if(ans < 10) {
str = " " + str;
}
if(x != 9) {
str += " ";
}
System.out.print(str);
}
System.out.print("\n");
}
}
}

957:デフォルトの名無しさん
16/06/16 22:25:10.82 1TqtMSCm.net
>>950
プラス演算子での文字列の連結はだめ!!

958:デフォルトの名無しさん
16/06/16 22:30:47.48 1TqtMSCm.net
あと個人てきに数値から文字列にするときに空文字と連結させて文字列にするのきらい!!

959:デフォルトの名無しさん
16/06/16 22:33:35.61 eFMzQDZe.net
>>951 >>952
ありがとうございます。ほかのもっといい方法があるのですね。
調べてみます。

960:デフォルトの名無しさん
16/06/16 22:35:10.40 g+b64nNx.net
>>951
この規模でも+連結しちゃだめなの?

961:デフォルトの名無しさん
16/06/16 22:53:20.80 mb8wywpH.net
いや>>950の場合はむしろ+でいいよ
実質はごく短い文字列をせいぜい2回連結してるだけ(最初のは最適化される)だから、
数値→文字列の変換やprintlnのコストに比べたら誤差にもならん

962:デフォルトの名無しさん
16/06/16 22:57:01.14 eFMzQDZe.net
StringBuilderと.valueOf()を覚えました。
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
for(int y = 1; y < 10; y++) {
for(int x = 1; x < 10; x++) {
int ans = y * x;
String str = String.valueOf(ans);
if(ans < 10) {
sb.setLength(0);
str = sb.append(" ").append(str).toString();
}
if(x != 9) {
sb.setLength(0);
str = sb.append(str).append(" ").toString();
}
System.out.print(str);
}
System.out.print("\n");
}
}
}

963:デフォルトの名無しさん
16/06/16 22:59:41.94 eFMzQDZe.net
Cはよく分かってるほうなので.append().toString()とか
気持ち悪いですね(笑)

964:デフォルトの名無しさん
16/06/16 23:01:01.60 L6uV1SZP.net
+は絶対ダメって訳じゃ無い

str = " " + str;
str += " ";

これだと無駄にインスタンス生成されるけど

1ステートメントで
String str = " " + String.valueOf(ans)
てやるなら問題なし

965:950
16/06/16 23:06:44.83 eFMzQDZe.net
みなさま、いろいろ�


966:ネアドバイスありがとうございます。 九九表示プログラムだけでもこんなにも学べるものなんですね。 おやすみなさい



967:デフォルトの名無しさん
16/06/16 23:20:02.46 /dCrOS1l.net
System.out.println();で
""を表示させるにはどうすればいいですか

968:デフォルトの名無しさん
16/06/16 23:23:31.49 c2UI9Bfi.net
>>951
==比較は駄目だけど+はいいだろ
何処に駄目と書いてあった?

969:デフォルトの名無しさん
16/06/16 23:23:46.35 L6uV1SZP.net
"\"\""

970:デフォルトの名無しさん
16/06/16 23:24:52.40 jO0P8oj4.net
>>956
甘い
sbのままappendしつづけ、2度のforを潜り抜け、
最期に1度だけSystem.out.print(sb)を唱えるのじゃ
StringBuilder.append(int i)があるのでvalueOfは無駄手間じゃのう

971:デフォルトの名無しさん
16/06/16 23:25:01.41 c2UI9Bfi.net
>>960
System.out.print("");
何故やるのか理解できないが

972:デフォルトの名無しさん
16/06/16 23:25:56.11 c2UI9Bfi.net
>>956
StringBuilderって何?

973:デフォルトの名無しさん
16/06/16 23:35:54.86 /dCrOS1l.net
>>964
ありがとうございます

System.out.println("この記号→"←を表示したい");
除外コマンドみたいなのってありませんでしたっけ

974:デフォルトの名無しさん
16/06/16 23:38:06.37 G8mFGz+4.net
>>962がスルーされててワロタ

975:デフォルトの名無しさん
16/06/16 23:39:12.65 c2UI9Bfi.net
>>966
それメソッドの問題じゃなくてリテラルの問題…
「java 文字列リテラル エスケープ」でググレ

976:デフォルトの名無しさん
16/06/17 00:44:32.11 iaYON6Q8.net
¥x22

977:デフォルトの名無しさん
16/06/17 03:15:42.57 PTNjRm2Y.net
\"

978:デフォルトの名無しさん
16/06/17 07:33:28.38 Ox7oWvp9.net
>>962
>>968
ありがとうございます

979:デフォルトの名無しさん
16/06/17 08:18:45.45 442rGUo0.net
次スレ

★★Java質問・相談スレッド178★★ [無断転載禁止]©2ch.net
スレリンク(tech板)

980:デフォルトの名無しさん
16/06/17 10:35:35.54 uuTM5EAb.net
toString()呼ばれた時に 各get****()っていうのをつなげて返したいんだけどなんかいい方法無いかな!!
public String toString()
{
String result="[";
result += "method1 : "+getMethod1();
result += "method2 : "+getMethod2();
result += "]";

return result;
}
みたいな感じでええのん?

981:デフォルトの名無しさん
16/06/17 13:07:45.21 7/Cp3IRC.net
>>973
ああ。それでもよし。

短時間に何回も呼び出すようなら効率上げるために return の直後に全部繋げるのを書くか StringBiffer 使って全部 apend() して toStrong() すれば良いと思う。

982:デフォルトの名無しさん
16/06/17 13:12:57.98 7/Cp3IRC.net
>>965
Java 1.5 からあるやつだ。StringBuffer 互換で動機化保証しないやつ。詳しくはドキュメント読め。

983:デフォルトの名無しさん
16/06/17 14:16:54.08 kcSK/gtD.net
うめ

984:デフォルトの名無しさん
16/06/17 14:17:54.06 91m52La+.net
てんてぇ

985:デフォルトの名無しさん
16/06/17 17:58:43.84 Ox7oWvp9.net
吉野家先生……

986:koro sensee
16/06/17 18:24:27.67 A0dgar5u.net
null, fu, fu, fu

987:デフォルトの名無しさん
16/06/17 19:02:34.65 8l6QBeuv.net
あ、変換間違えてた。動機化じゃなくて同期化。
動機化ってなんだよ。w

988:デフォルトの名無しさん
16/06/18 04:03:52.72 wJLjXt7N.net
うめ

989:デフォルトの名無しさん
16/06/18 05:37:46.95 w9zLlF5g.net
てんてー

990:デフォルトの名無しさん
16/06/18 07:58:04.34 tSisMXdT.net
★★Java質問・相談スレッド178★★ [無断転載禁止]©2ch.net
スレリンク(tech板)

991:デフォルトの名無しさん
16/06/18 11:03:05.02 /nZnQa3x.net
うめ

992:デフォルトの名無しさん
16/06/18 11:07:43.60 UnDxRKSP.net
UME

993:デフォルトの名無しさん
16/06/18 14:15:50.78 kiFN8nsu.net


994:デフォルトの名無しさん
16/06/18 14:21:30.20 tRBFzY8N.net
質問いいですか?

995:デフォルトの名無しさん
16/06/18 14:24:08.30 /nZnQa3x.net
>>987
まだはええよw

996:デフォルトの名無しさん
16/06/18 14:24:16.43 w9zLlF5g.net
銅像

997:デフォルトの名無しさん
16/06/18 15:24:53.55 tRBFzY8N.net
まだ早かったみたい

998:デフォルトの名無しさん
16/06/18 16:37:56.38 tarWYkxx.net
うめ

999:デフォルトの名無しさん
16/06/18 16:46:07.65 mKo0ibfd.net
public class Ume {
public static void main(String[] args) {
System.out.println("埋め");
}
}

1000:デフォルトの名無しさん
16/06/18 16:48:57.27 pG9pCEms.net
for(int i=0;i<7;i++){
  _2ch.write("tech",1458033246,"","sage","埋め");
}

1001:デフォルトの名無しさん
16/06/18 16:51:19.82 RY58SNRu.net
産め

1002:デフォルトの名無しさん
16/06/18 16:56:50.59 w9zLlF5g.net
throw new ThreadCloseException("梅");

1003:デフォルトの名無しさん
16/06/18 17:03:01.67 by2sfxCb.net
初心者なんですけど可変長×可変長の二次元配列みたいなのを作りたいんだがどんなやり方がありますか?

太郎 "リンゴ"
次郎 "リンゴ" "バナナ"
三郎 "ぶどう" "リンゴ" "バナナ"
.
.
みたいにしたいんだが
List<ArrayList<String>> nanelist = new ArrsyList<String>>();
List<String> fluitlist = new ArrayList<String>();
fluitlist.add("リンゴ");
namelist.add(fluitlist);
だと人物名を入れられませんよね?
人物のリストをリスト入れても二次元にする意味あまり無くなりますよね
リストのインデックスからそのインデックスの人物名や果物の配列を取得したいのですが。
人物の追加とその人物の果物リストの追加は同じひとつのループ上でやります
for(int i=0;i<a;i++){
人物リスト[i]に人物名追加
for(int x=0;x<b;x++){
人物[i]の果物リストに果物[x]追加
}
}
のようにします
参照するときは
for(int i=0;i<人物リスト.size;i++){
for(int x=0;x<人物リスト[i]果物リスト.size;x++)
Sysyemout.println(人物リスト[i] + 人物リスト[i]の果物リスト[x]);
}
}
みたいな感じにします

1004:デフォルトの名無しさん
16/06/18 17:12:45.66 pG9pCEms.net
埋め

1005:デフォルトの名無しさん
16/06/18 17:17:04.84 pG9pCEms.net
>>996
HashMap<String,String[]> unko=new HashMap<>;
unko.add("太郎",["リンゴ"]);
unko.add("次郎",["リンゴ","バナナ"]);
unko.add("三郎",["ぶどう","リンゴ","バナナ"]);

1006:デフォルトの名無しさん
16/06/18 17:18:57.52 by2sfxCb.net
>>998
ありがとうごさいます!

1007:デフォルトの名無しさん
16/06/18 17:20:47.91 RY58SNRu.net
hashMapだと名前かぶると使えないけどな

1008:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 94日 23時間 6分 42秒

1009:1002
Over 1000 Thread.net
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


──────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
──────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
URLリンク(premium.2ch.net)
URLリンク(pink-chan-store.myshopify.com)


1010:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch