16/05/28 06:43:31.80 Det4WSY8.net
C+に入門でそのまま行くと躓くって言われたので、javaの入門書(スッキリ分かる)
購入してやってるんですが
パッケージとかクラスとかはjavaで開発とかするつもりがない場合飛ばしても
あまりC++の学習に影響はないですかね?
714:デフォルトの名無しさん
16/05/28 07:08:32.98 5kVDD08z.net
C++覚えたいんだけどJavaと似てるからjava先に覚えたほうがいいよーとか書いてあったんでjavaの勉強からしてるんだけど複数のプログラミング言語なんて扱えるようになるもんなんだろうか
C++の勉強し始めたらjava使えなくなりそうでこわい
715:デフォルトの名無しさん
16/05/28 07:15:15.11 Q/dDD54t.net
「そのまま行くと躓く」って言った奴に聞けよ
そいつが何を考えてそんなアドバイスしたのか俺らは知らねえぞ
716:デフォルトの名無しさん
16/05/28 07:25:31.53 bcsSKjIM.net
C++ vs Javaという比較は20年前の話題だよな
あの時代は配列とVectorの効率の議論をしていた
717:デフォルトの名無しさん
16/05/28 07:36:35.17 Wx43Mwzm.net
>>710
自己紹介乙
718:デフォルトの名無しさん
16/05/28 08:00:59.44 mtai33Zs.net
>>712
むしろ複数の言語を覚えることが一つの言語を本当に理解する近道だ
複数の言語を覚えると、背後にある共通した考え方が見えてくる
そして、その上でなぜこの言語はこういう仕様にしたのかというそれぞれの設計意図が分かってくる
そこまでいけば、更に言語を増やしていくことを大して難しいこととは思わなくなる
所詮方言だからな
719:デフォルトの名無しさん
16/05/28 08:23:08.09 Det4WSY8.net
>>713
この板の人なんですが…。
とりあえずオブジェクト指向?だけはjava入門でやっと毛みたいに言われたんですけども。
720:デフォルトの名無しさん
16/05/28 08:25:23.59 0s9qDLpw.net
このスレにその人いるの?
721:デフォルトの名無しさん
16/05/28 08:31:01.56 mtai33Zs.net
>>717
オブジェクト指向を学ぶためにJavaやってるんだったらクラス飛ばしたら意味無い
C++からオブジェクト指向に入門すると確実に変な癖がつくから、先にJavaやるのはいいと俺も思う
722:デフォルトの名無しさん
16/05/28 08:44:16.96 Det4WSY8.net
>>719
クラスの作り方、別クラスのメソッドの呼び出しくらいは覚えたんですが
クラスの章で今覚えるのはこんな程度で大丈夫ですかね?
プログラム自体入門なのでクラスを使う必要性とかピーンと来ないです
723:デフォルトの名無しさん
16/05/28 08:45:08.96 5kVDD08z.net
>>716
すごくタメになった
ありがとう
724:デフォルトの名無しさん
16/05/28 09:00:05.38 jLtbJ9vX.net
複数覚えることで言語の良いところ悪いところが客観的にわかるっていうのもあるよね
C++ほどではないにせよJavaにも設計ミスや良くない習慣は沢山ある
一つをやってるだけだとそこを見抜くセンスは見につかない
725:デフォルトの名無しさん
16/05/28 11:12:58.54 1gMYSkQh.net
>>719
> C++からオブジェクト指向に入門すると確実に変な癖がつく
そうかなぁ...
具体的に挙げられる?
726:デフォルトの名無しさん
16/05/28 11:28:06.15 WWpKltIc.net
C++はクラス一つ作るのに大掛かりな記述が必要な上、演算子オーバーロードやRAIIなど凝った作り込みが可能なので、
心理的にクラスの数が増えるのを避けてしまい一つのクラスのサイズが大きくなる傾向がある
727:デフォルトの名無しさん
16/05/28 11:30:45.22 ks9oZ0SW.net
RAIIが凝ってるとは・・・
728:デフォルトの名無しさん
16/05/28 12:08:14.20 ynWa4gys.net
C++はヘッダーファイルを書くのが面倒なので、1つのファイルが巨大になりやすい
729:デフォルトの名無しさん
16/05/28 12:27:41.08 X+7yIpWq.net
ヘッダと実装を往復するの嫌だよね
メモリの管理で可読性落ちるし、ロジックと関係ない部分が増えすぎてつらい
他人に抽象化された構造作られると自由度が高い分、把握するのがスゲー大変
速さとトレードオフだから当たり前だけど
730:デフォルトの名無しさん
16/05/28 12:35:51.45 ks9oZ0SW.net
WindowsがJavaで書き直されたら・・・
731:デフォルトの名無しさん
16/05/28 12:56:30.84 MOnsnfcA.net
>>728
GUI部分も全部Javaで書くの?
遅くなりそう。
732:デフォルトの名無しさん
16/05/28 12:57:55.52 HheAQkRL.net
JavaマシンにLinux入れてVMWare入れたら
733:デフォルトの名無しさん
16/05/28 13:07:52.52 MOnsnfcA.net
Linux に Java VM ではなく?
734:デフォルトの名無しさん
16/05/28 13:26:59.42 1gMYSkQh.net
了解、バカには C++ を使わせるな
って言うことね
735:デフォルトの名無しさん
16/05/28 13:31:35.28 ks9oZ0SW.net
>>729
JavaはC++より二十倍速いという論文もあるんやで。
736:デフォルトの名無しさん
16/05/28 13:53:07.66 xBJXYx9m.net
バカに商用プログラム書かせるなの間違いだろ
737:デフォルトの名無しさん
16/05/28 15:11:17.38 DsAHkVCd.net
jarファイル
コマンド
./java -jar /root/download/application/mj.jar
738:デフォルトの名無しさん
16/05/28 15:40:16.92 ynWa4gys.net
c++って誰かがコンパイラを改造して、ヘッダーとプロタイとインクレ宣言なくても書けるようにすればいいのに
739:デフォルトの名無しさん
16/05/28 15:49:18.53 ks9oZ0SW.net
C++を改良したJavaがあるのにそんなことせんでも良いだろ。
740:デフォルトの名無しさん
16/05/28 15:50:56.49 ks9oZ0SW.net
俺がJavaに一番感謝してるのは、GCを搭載することでRAIIのようなトリックを使う必要が無くなったことだなw
741:デフォルトの名無しさん
16/05/28 17:27:31.77 MOnsnfcA.net
>>733
それは何をやらせた時の速度なんだろうねえ?
742:デフォルトの名無しさん
16/05/28 18:18:05.03 +BFy6Mpu.net
>>736
ヘッダ抜きでどうやって分割コンパイルするんだ?
743:デフォルトの名無しさん
16/05/28 18:18:19.00 SMV0h0jn.net
>>739
スレリンク(linux板)
744:デフォルトの名無しさん
16/05/28 19:48:42.46 ks9oZ0SW.net
>>740
Javaで出来てるんだから、出来ないのならそれはC++の欠陥と言えるんじゃないの。
745:デフォルトの名無しさん
16/05/28 20:02:53.90 lbEynTHU.net
>>740
2パスで解析するんだよ
シンボルを解決する前に全てのクラスとメンバの宣言をコンパイラが認識する
Javaが誕生した頃のPC性能があればなんてことない処理
746:デフォルトの名無しさん
16/05/28 21:17:01.75 HfEU76gT.net
>>733
しかしGUI部分の細部まで Pure Java となると流石に遅いと思うがなあ。
ああ、でも、この頃はハードウェアでかなりの部分をやってしまうから関係ないのかな。
747:デフォルトの名無しさん
16/05/28 21:23:49.71 ynWa4gys.net
>>743
いちいちヘッダーとかプロトタイプ宣言があるのって、それがないとコンパイルに時間掛かるからだったのか
何故かと思っていた
748:デフォルトの名無しさん
16/05/29 05:31:23.22 DYRgDF3k.net
あれ嫌がらせでやってるんじゃないの?
749:デフォルトの名無しさん
16/05/29 07:45:48.64 Ai+IvVh7.net
>>745
多分誕生当時のコンピュータだとメモリが貴重だからああなったんだよ
処理時間的には逆に遅くてクソだよ
750:デフォルトの名無しさん
16/05/29 09:00:27.88 VGuceG8q.net
>>747
それなら何で今も変わらないんだろう
まだ、c/c++のスピードが必要な状況あるんだから、改善してもいいと思うんだけど
751:デフォルトの名無しさん
16/05/29 13:31:36.04 DYRgDF3k.net
Javaがあるのになんで旧式言語を改善する必要があるの?
752:デフォルトの名無しさん
16/05/29 14:11:05.71 VGuceG8q.net
>>749
c/c++のスピードが'(ry
って書いたやん
753:デフォルトの名無しさん
16/05/29 15:23:10.05 HUpYx/ak.net
>>749
ある程度互換性がある状態で改善できれば過去の資産を利用する時に大きな改造が必要なくて楽だからさ
プログラマーが覚えることが少なくて済むというのもある
754:デフォルトの名無しさん
16/05/29 15:23:49.92 HUpYx/ak.net
ま、Java自体がそれ考慮して作られた言語と言えなくもないがな
755:デフォルトの名無しさん
16/05/29 16:36:56.42 oJgaNYDR.net
>>750
すれち
756:デフォルトの名無しさん
16/05/29 17:28:35.67 CfIJO7tS.net
そのスレッドと関係ない話するやつは馬鹿の証拠
757:デフォルトの名無しさん
16/05/29 23:25:40.35 e8OC+l2y.net
>>749
Java VMはC言語で作られているんだが。
758:デフォルトの名無しさん
16/05/29 23:33:37.65 6oQcufkC.net
C言語は機械語に翻訳されるのだが
759:デフォルトの名無しさん
16/05/29 23:34:15.67 QmUcAxIR.net
ところが、そのC言語もいまやJava で書かれてる訳で
760:デフォルトの名無しさん
16/05/29 23:41:53.68 e8OC+l2y.net
>>757
そのJavaはCで書かれているわけで
761:デフォルトの名無しさん
16/05/29 23:43:07.66 +hcD/fZT.net
Java製でないお前らはカスだ死ね
762:デフォルトの名無しさん
16/05/30 01:23:40.52 Ppj/czvk.net
ん?CコンパイラがJavaで書かれている? まあ、書けなくはないだろうが、そんなの聞いたことないな。
CコンパイラがC言語で書かれていて一つ前のバージョンのコンパイラでコンパイルする方式なら知ってるが(GCCのC)。
763:デフォルトの名無しさん
16/05/30 01:32:22.92 S5MHFfLv.net
コンパイラ書くのにJavaは割と向いてると思う
それとC言語でCコンパイラが実装されてる場合、
ひとつ前のバージョンでコンパイルした最新のコンパイラを使って
最新のコンパイラをコンパイルするとこまでやるのが普通だろ
764:デフォルトの名無しさん
16/05/30 08:52:25.28 cLUfCSU4.net
ただでさえ遅いと言われまくってるCコンパイラを
わざわざJavaでやるわけないだろ
765:デフォルトの名無しさん
16/05/30 13:12:51.71 wvXx0E2P.net
Javaは遅いとかいうのは幻想
766:デフォルトの名無しさん
16/05/30 13:48:35.61 GYTtG2g6.net
>>763
それはマシン語にした場合だろうが。
767:デフォルトの名無しさん
16/05/30 14:15:30.88 bSPgiDOZ.net
Javaは速い(ただしGCしない場合)
768:デフォルトの名無しさん
16/05/30 16:33:56.90 /sRU0ua4.net
>>763
少なくともお前の計算速度よりは速いからw
769:デフォルトの名無しさん
16/05/30 16:59:03.64 hquFCWj/.net
なんだ無能なプログラマーばっかりじゃないか
770:デフォルトの名無しさん
16/05/30 17:13:43.86 Xl0N1v2s.net
無能なプログラマはJavaを使わない。
(真のプログラマは・・・風に)
771:デフォルトの名無しさん
16/05/30 17:17:00.42 2T+l/XRp.net
×使わない
◯扱えない
772:デフォルトの名無しさん
16/05/30 18:12:58.59 /sRU0ua4.net
>>766は>>762へのレス
ミスすまん
773:デフォルトの名無しさん
16/05/30 18:14:14.60 sT3Um2rG.net
こういうレスでアンカミスしちゃうとちょっとばつが悪いよね
774:デフォルトの名無しさん
16/05/30 18:15:50.08 yYu5Jffe.net
どんまい
775:デフォルトの名無しさん
16/05/30 18:18:10.09 Xl0N1v2s.net
プログラマなら謝罪の気持ちはCodeで示さないとね。
776:デフォルトの名無しさん
16/05/30 18:26:31.46 /sRU0ua4.net
>>773
System.out.println(ごめん);
777:デフォルトの名無しさん
16/05/30 18:37:23.41 yYu5Jffe.net
try{
//ミス安価処理
}catch(AncherException e){
write(getThreadId(),"","sage","ごめん",null);
}
778:デフォルトの名無しさん
16/05/30 18:58:24.35 /sRU0ua4.net
って""忘れてたorz
779:デフォルトの名無しさん
16/05/30 19:04:03.59 n6rGustb.net
throws の宣言して他に任せない態度は評価しよう
780:デフォルトの名無しさん
16/05/30 19:13:56.56 ij5wQGvd.net
class Gomen {
public static void main(String[] arg) {
String ごめん =
781:デフォルトの名無しさん
16/05/30 19:52:57.74 fRR6Jjoh.net
javaの内部では文字列はUTF-16なの?
782:デフォルトの名無しさん
16/05/30 19:55:23.63 IEgRGBOh.net
いえ、UTF-16に似たJava独自のエンコーディングです
783:デフォルトの名無しさん
16/05/30 20:04:44.53 gBjzQqIh.net
Javaの黎明期には16bit65536文字で世界中の文字を表すことができるという
理想に燃えて設計されていた。ところが韓国などはハングル字母だけあれば
事足りるはずなのに理論的な組み合わせ全部をユニコードのコードセットに
登録することを強硬に主張し、ついにJavaのcharの理想はついえ去った。
784:デフォルトの名無しさん
16/05/30 20:31:59.93 JGBB32Ug.net
欧米の傲慢な発想
785:デフォルトの名無しさん
16/05/30 20:37:25.46 sT3Um2rG.net
チェコ語の?なんかも無駄っぽいよな
786:デフォルトの名無しさん
16/05/30 20:38:09.28 pQb4F1Be.net
傲慢矢の如し
787:デフォルトの名無しさん
16/05/30 21:15:14.81 kauG4wqb.net
32ビットにすればよかったのに
788:デフォルトの名無しさん
16/05/30 21:26:22.94 gBjzQqIh.net
限界を超えてしまったユニコードは絵文字とかサブカルチャー系に流れていったような
789:デフォルトの名無しさん
16/05/30 23:11:37.62 Gb85y/5R.net
質問です。
Java1.8、Spring Framework4.2.5、SpringSecurity4.0.1、
Win10のeclipse上で開発をしています。
SpringSecurityを使ったログインセッションが切れた際に、
postを行う画面遷移を実行すると、context.xmlに設定したセッションタイムアウトの画面ではなく、
405エラー画面へ飛ばされてしまいます。
(コントローラーで@Modelattributeを使って値を受け取っているから?)
これを解決する方法はないでしょうか?
790:デフォルトの名無しさん
16/05/31 01:24:28.58 PpIgZ1Si.net
>>781
ハングルなんてほんの一部にしか定義されてないと思うが?
791:デフォルトの名無しさん
16/05/31 08:17:07.90 1tueFcbA.net
U+AC00-D7AF[433] Hangul Syllables ハングル音節文字
43032-55214
ハングル音節文字だけで12182個
792:デフォルトの名無しさん
16/05/31 10:02:48.36 81q9nj+3.net
>>787
こっちだろう
【DI】Java Spring Frameworkを語るスレ 5.0
スレリンク(tech板)
793:デフォルトの名無しさん
16/06/01 11:54:18.55 sax7yxVA.net
Javaとかほんと古臭い言語だと思うんだけどな
でも他よりガチッとしてるから、そこが好まれるんだろうけど
そろそろ新しい言語出てきていいと思うんだが
Cとかもそろそろ変われよ、と
いくつか有名ソフト出てきたけど、Goはダメだと思う
794:デフォルトの名無しさん
16/06/01 15:55:42.10 RzubKjxs.net
.NETはMSがOS非依存に興味ないのがな
795:デフォルトの名無しさん
16/06/01 16:24:20.26 rVhAsya/.net
「ハングル大移動」でぐぐるといろいろ出てくる。
796:デフォルトの名無しさん
16/06/01 20:38:05.66 RzubKjxs.net
javaの標準出力はクラス.静的フィールド.メソッド()だから、初心者に説明しにくい
何故クラス.メソッド()にしなかったのか
797:デフォルトの名無しさん
16/06/01 22:37:27.32 KWV9l2rU.net
DI意識してたのかねえ
798:デフォルトの名無しさん
16/06/01 23:16:13.74 UOAJZ08o.net
【ワカヤマン】Javaプログラミング能力認定試験 [無断転載禁止](c)2ch.net
スレリンク(lic板)
799:デフォルトの名無しさん
16/06/01 23:16:40.90 63gTfooz.net
>>794
そりゃPrintStreamを差し替えて出力先を切り替えるためでしょ
800:デフォルトの名無しさん
16/06/01 23:21:11.01 63gTfooz.net
ちなみに差し替えはSystem.setOut()
801:デフォルトの名無しさん
16/06/02 01:06:18.58 SCZaCQ9D.net
>>791
変わらない方がずっと使われる。
802:デフォルトの名無しさん
16/06/02 06:51:49.01 n2zNmuVe.net
>>798
内部でリダイレクトすりゃいいだけでしょ
直接ストリームを触らせる必要はない
Javaの基本的な設計思想として直交性を重視するというのがあって、
ストリームと同じようなメソッドを別のクラスのstaticメンバとして持たせるのは嫌だったんだろう
System.outはfinalフィールドではない(setOutがあるからね)ので外から直接代入できてしまうはずなんだけど、
なんとJavaの言語仕様で特別扱いされていてSystem.outやinだけはユーザーが代入できないという醜い仕様になっている
そこまでして直交性に病的に拘ってるんだよ
803:デフォルトの名無しさん
16/06/02 08:27:55.85 Y8jyUZeK.net
今スッキリ分かるjava入門のオブジェクト指向のところをやってるんですが
オブジェクトクラス内で、 this.を使う場合と使わない場合がいまいちよくわからないんですが
どういう時に使えばいいんでしょうか?
804:デフォルトの名無しさん
16/06/02 10:34:06.44 mspBW4t7.net
オブジェクトクラスとは具体的にこれを指す
URLリンク(docs.oracle.com)
で、どこでthisを使いたいんだい
805:デフォルトの名無しさん
16/06/02 12:02:22.47 eu+qHMXE.net
何故初心者向けに作らないといけないのか
806:デフォルトの名無しさん
16/06/02 12:11:41.64 TIu4sgpj.net
初心者はプログラマ人口の多くを占める。また、多くの初心者は自身が習得した一部の言語機能に拘泥しがちであり、知識を広げようとはしない。従って、初心者への配慮は重要であると考えられた[1]。
807:デフォルトの名無しさん
16/06/02 12:17:10.70 R0axCxde.net
スタンリーのゲームなんだけど条件分岐で右、左と設定してその先にさらに条件分岐を作りたいんだけど
どうすれば a b
↓ ↓
a b c d e f
なるかな
とりあえず、現状のソースをうpとくわ
package test7;
import java.util.Scanner;
public class test7 {
public static void main(String[] args)
{
System.out.println(
808:デフォルトの名無しさん
16/06/02 12:21:17.22 R0axCxde.net
こっちに貼った
URLリンク(ideone.com)
809:デフォルトの名無しさん
16/06/02 12:52:20.45 soSMk704.net
Stateパターン!
810:デフォルトの名無しさん
16/06/02 16:49:04.97 Y8jyUZeK.net
>>802
使いたいわけじゃないんですけど、どういうときに使うのか知っときたいです
入門書で基礎を勉強してる最中なので何か作りたいわけではないんですが
811:デフォルトの名無しさん
16/06/02 16:59:55.79 3pGrCwvw.net
thisなんて使う必要があるときだけ使えばいいんだよ
むやみに使うと初心者が混乱する
812:デフォルトの名無しさん
16/06/02 18:25:02.84 j7BsBWqH.net
>>808
thisは自分自身の事、例えば
class A{
int a;
void set (int a){
this.a = a;
}
}
こう書くとset呼び出しで自分(クラスAのインスタンス)の持つ変数aに引数で指定された値aが代入される
(たまたま同じ名前aなので区別が必要)
初心者スレのが詳しく教えて貰えるかと
813:デフォルトの名無しさん
16/06/03 00:18:29.41 eOByu9EQ.net
>>789
URLリンク(togetter.com)
814:デフォルトの名無しさん
16/06/03 01:23:09.87 Hu6W5Twy.net
>>809-810
入門書に書いてあるから覚えようとしてたんですが今はそんな必要じゃないんですね
ありがとうございました
815:デフォルトの名無しさん
16/06/03 02:10:46.15 fVYd85Q0.net
インスタンス変数・ローカル変数を区別している
this.a = a
Pythonでは、self.a = a
Rubyでは、@a = a
816:デフォルトの名無しさん
16/06/03 02:54:46.14 aDP5A1Yp.net
コンストラクタのオーバーロードかもしれんぞ
817:デフォルトの名無しさん
16/06/03 09:50:59.14 cjkmsXsO.net
>>812
thisが必要なときは大体こんな感じ
・自身のオブジェクトをメソッド呼び出し時の引数に渡す
・同名のインスタンス変数とローカル変数を区別する
・コンストラクタ内で同じクラス内に定義しているコンストラクタの呼び出し
ちなみに匿名クラス内で定義元クラスのオブジェクトを参照する場合は「定義元クラス.this」って記述する
818:デフォルトの名無しさん
16/06/03 09:53:46.55 cjkmsXsO.net
むやみにってのは、インスタンス変数を参照するだけ、インスタンスメソッドを呼ぶだけで使うこと
819:デフォルトの名無しさん
16/06/04 23:07:10.93 F2beNYcE.net
swing初心者なんですけどGraphics2Dで図形などを描画するときコンポーネントの後ろに描画するにはどうしたらいいのでしょうか
mainメソッドでコンポーネントを設定してsetVisible(true)
paintメソッド内でGraphics2Dでdrawすると後者が前面に出てボタンやラベルが隠れてしまうといった感じです
820:デフォルトの名無しさん
16/06/04 23:34:48.02 Umdhk7VS.net
ラベル01:while(){
ラベル02:
if(){
continue ラベル01;}
if(){
continue ラベル02;}
}
ラベル02に行くにはどうすればいいのでしょうか?よろしくお願い致します。
821:デフォルトの名無しさん
16/06/04 23:41:26.48 3F7VjM1T.net
定期考査で英語のアクセントは何番目にあるかっていう問題が出たんだけど0番目から数えてしまった
上に番号振っていなかった教師が悪いのか、俺が悪いのか?
822:デフォルトの名無しさん
16/06/05 00:20:16.79 bEHxSIM9.net
>>817
ボタン・ラベルを、隠す・削除する
>>818
ラベル01:while(){
ラベル02:
if(偽){
continue ラベル01;}
if(真){
continue ラベル02;}
}
>>819
何番目とインデックスは異なる。
1番目は、インデックスが0
823:デフォルトの名無しさん
16/06/05 01:01:14.99 f33EmFKv.net
インデックスにも0-indexと1-indexがあるしな
824:デフォルトの名無しさん
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:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています