トップページ⇒tech
1002コメント343KB

Java入門・初心者質問スレ [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/05/12(木) 05:18:33.40ID:nzHoBPh8
Java初心者のためのスレッドです。
0092デフォルトの名無しさん2016/06/12(日) 07:32:13.73ID:iLaG31hG
android向けアプリなら、android studioとか
0093デフォルトの名無しさん2016/06/12(日) 07:54:15.23ID:jEWcwNCz
>>91
本当ですか
でもnew TextField()こういう書き方は自分の読んだ本では習ってないですし
text field ts = new textfield() 自分が習ったのは今のとここういう書き方だけなので
やってないことがいきなり説明なしで出てくるのは入門者にはきついなーと。
でも読み直してみますね
>>92
PC向けのアプリを作れるようになりたいです
もう一冊なんかjava入門署買った方がいいですかね?
0094デフォルトの名無しさん2016/06/12(日) 09:52:43.64ID:t/75fpdt
>>93
よくソース嫁
ちゃんとfield = new TextField()になってるから
0095デフォルトの名無しさん2016/06/12(日) 18:31:57.63ID:0Tx3x2++
ほんとだ、見落としてました。すいません
何か問題集みたいのやってからjavafxやってみます。ありがとうございます。
0096デフォルトの名無しさん2016/06/12(日) 20:39:25.19ID:nE4rQ5a5
           YES → 【ヒットした?】 ─ YES → なら聞くなよ。死ね。
         /                \  
【検索した?】                     NO → なら、ねぇんだろ。死ね。
         \                   
            NO → ググれカス
0097デフォルトの名無しさん2016/06/12(日) 22:59:55.02ID:M5SgNxqb
ここ質問スレだしな
嫌なら見なければいいんじゃね
0098デフォルトの名無しさん2016/06/13(月) 01:06:10.78ID:wz/IwBiJ
初心者スレだから本スレと同じノリでやられてもね
本当に嫌なら見なければいいだけ
0099デフォルトの名無しさん2016/06/13(月) 23:56:41.17ID:MswW6dFx
>>80,86

先程、スッキリJavaの6章までは、理解しにくい箇所もなくあっさりと読めました。7章からがオブジェクト指向関連みたいです。

うんーん >>85 で書き込んだ
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?

これがまだしっくりこない。
writerThread.start();で呼ばれるのがrun()の中身と解説あるのに・・・うーん
今後、勉強を進めていったら納得できるのだろうか。

スレッドに関しては、今の本には載ってないとの御指摘がありましたので、
スッキリ分かるjava実践編 ポチってきますわ
0100デフォルトの名無しさん2016/06/14(火) 02:03:19.71ID:BG5MvUh2
たぶん言語処理系がどういう挙動をしてるのかイメージ出来てないんだと思う
メモリ配置と密接なC言語とかを多少触ってみるのもいいかも知れないね
0101デフォルトの名無しさん2016/06/14(火) 06:50:12.56ID:OkjQ5JpN
>>99
オブジェクトの部分で躓いてるようなので、スレッド抜きに考えてみる

        Readlmp reader = new Readlmp();
        Writerlmp writer = new Writerlmp();

        reader.run();

        writer.setText((reader.getText());

        writer.run();

main()メソッドの一部抜粋で、スレッド抜きにするとこんな感じ

インスタンス化すると、ヒープ領域にclassのコピーが作られる(staticメンバ以外)
そのコピー(reader,writerインスタンス)のrun()メソッドが実行される


>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?

スレッドのインスタンスを生成するときに、reader,writerを引数に渡している
つまり、あらかじめ作ったclass全部のコピーを渡しているということ(正確にはコピーの参照先)
それでスレッドは、reader,writerインスタンスのrun()メソッドを実行している

スレッドの生成をしたときにclass全部を詠み込むのか?
この質問だと、順序が逆で
class全部を詠み込んだもの(インスタンス)を使って、スレッドを生成をしている、ということ

6章までこのペースで理解できてるって、かなり早い
実践編の方は、オブジェクトを使いこなす方法がかかれているから、この辺の事も理解が深まるかもしれない
0102デフォルトの名無しさん2016/06/14(火) 06:54:37.25ID:lIuNMU+7
自分も入門書を読んでるんですが
interfaceとabstractの使い分けと違いがよく分かりません。
どういう風に使い分ければいいんでしょうか?
0103デフォルトの名無しさん2016/06/14(火) 08:24:35.05ID:ezeB3LKI
普段は省略してるがinterfaceはabstractが宣言されている
強調したいなら使ってもいいことになっている
0104デフォルトの名無しさん2016/06/14(火) 08:37:29.57ID:lIuNMU+7
>>103
すいません、言葉足らずでした
abstractクラスとinterfaceのクラスの違いです
どっちも似たようなものだと思うのですが、どう使い分ければいいですか?
0105デフォルトの名無しさん2016/06/14(火) 08:37:37.88ID:BcKyLCvc
>>87-95
ツール作りなら、まずスッキリJavaで、オブジェクト指向を学ぶ

その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版

これでひとまず基礎ができるから、その後、JavaFX・C#・VB など、進路を決めればいい

>>102
interfaceは継承と関係ない。お手軽な機能付加。
ダックタイピング。何でもアヒルのように鳴くものは、アヒルでいい

abstractは継承の親クラスで、それ自体は実体化しないもの。
概念だけの親クラス

例えば、3角形・4角形・円クラスが実体化できるとき、
親クラスに実体化できない、図形クラスを作り、そこに図形の共通概念を、持たせる
0106デフォルトの名無しさん2016/06/14(火) 09:30:09.41ID:w21XDQC+
そういや Java 8 からは interface なのにメソッド持てるようになったらしいが、うなると普通のクラスや abstract グラスとの違いは多重継承できるか否かだけにならんか?
0107デフォルトの名無しさん2016/06/14(火) 09:30:37.41ID:w21XDQC+
うなると、じゃねえ、そうなるとだ。w
0108デフォルトの名無しさん2016/06/14(火) 10:01:04.02ID:lIuNMU+7
>>105
あ、関係ないものなんですね。どっちも抽象的な物で使い方も一緒で違いが分からずもやもやしてました
ありがとうございます
0109デフォルトの名無しさん2016/06/14(火) 10:08:10.94ID:YK2fMq3I
>>106
インターフェイスは状態の保持はできない(static finalで共通のは持たせることはできるが)
あとメソッドのアクセス修飾子もpublicのみだし
0110デフォルトの名無しさん2016/06/14(火) 13:59:47.46ID:BcKyLCvc
abstract : is-a は継承
interface : has-a は機能・部品を持つ。ダックタイピング

継承は、車・消防車、哺乳類・人間みたいな関係

interfaceは、無関係な機能を組み合わせたもの。
冷蔵庫や携帯電話に、インターネットできる画面を付けたなど
0111デフォルトの名無しさん2016/06/14(火) 14:27:20.53ID:YK2fMq3I
このレベルの初心者に用語だしてこういうものって言っても多分わからないと思うぞ

まずそれぞれ実装時に何が出来るかだけでいいんじゃないか
0112デフォルトの名無しさん2016/06/14(火) 15:45:01.46ID:SkK7ctA3
オブジェクト志向はアルゴリズムの実装と相性が悪い。
0113デフォルトの名無しさん2016/06/14(火) 15:51:31.26ID:SkK7ctA3
今、HTML5パーサーのJava実装とJavascript実装見てる。

Java実装はC++に機械的な変換を出来るように書かれているが、NOCPPという
キーワードでくくって、C++で必要ない部分が削除されるようになっている。
Javaはオブジェクト志向に特化しすぎたせいで、非常に冗長な記述を必要とする。

Javascript実装は仕様通りに冗長さのないコードとなっている。
しかしおそらくバグのないコードを書くのは困難だろう。

C++が一番書きやすそうに見えるが、しかし覚える事柄もまた一番多いだろう。
0114デフォルトの名無しさん2016/06/14(火) 20:47:19.11ID:k/dxUxLz
>>109
あ、そーか。そうだね。
0115デフォルトの名無しさん2016/06/14(火) 21:54:08.96ID:+YH//64E
みんな優しいんだな。

>>101
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?

Readlmp reader = new Readlmp();

 これはReadlmpクラスをテンプレにしたreader(ここでは単なるクラス変数名)を定義。
 Readlmpクラスのコンストラクタを引数なし呼び出して、インスタンスを作成してreaderと命名。

この時点で、Readlmpクラスはまるっと読み込んでますね。
後からディスパッチするrun()の時点では、Readlmpクラスまるっと読み込み済みのインスタンスを使ってるんですね。

少しずつ理解出来てきたような気がします。

皆々様、有難うございます。
0116デフォルトの名無しさん2016/06/15(水) 22:22:36.18ID:ornso/cN
有限会社ナレッジデザインのオラクル認定資格教科書『JavaプログラマSilver SE8』p.193 練習問題5-2について、解説を読みましたがよくわからなかったため質問させていただきます。

1. public class Test{

2. final int a;
3. Test(int b){a = b;}
4. void method(int c){a = c;}
5. public static void main(String[] args){
6. Test t = new Test(10);
7. t.method(20);
8. System.out.println(t.a);
9. }
10. }

上記のコードで2行目の変数aがfinalで修飾されているため定数になっていることはわかりました。
そして3行目で変数bを定数aに代入しようとしているためコンパイルエラーとなると判断しました。

しかし、解説では「このコードでは宣言時に初期化していませんが、コンストラクタを使用して初期化しているため問題ありません。4行目のmethod()によって値の変更を行おうとしているため、4行目でコンパイルエラーとなります」となっていました。
なぜ、3行目ではコンパイルエラーとならないのでしょうか?回答よろしくお願いいたします。
0117デフォルトの名無しさん2016/06/15(水) 22:37:42.91ID:ornso/cN
>>116
自己解決しました。
2行目では変数宣言しただけで初期値の代入を行っておらず、3行目で初期値の代入を行っているため、値を変更しようとしている訳ではないということですね。
低レベルな質問をしてしまいすみませんでした。
0118VHR12JC10V12016/06/16(木) 00:52:55.40ID:0zEDpCjN
AP層との通信に失敗しました。:[[A1S1E001E] com.fujitsu.mc.a1.scm.MCPiException@23435555
復帰コード = 7051 メッセージ = "予期せぬ例外"java.net.NoRouteToHostException"を検出しました。
[java.net.NoRouteToHostException: ホストへの経路がありません]" ログ出力済フラグ = true ]

12301866845301177551304949583849627207728535695953347921973224521517264005
07263657518745202199786469389956474942774063845925192557326303453731548268
50791702612214291346167042921431160222124047927473779408066535141959745985
6902143413
=
33478071698956898786044169848212690817704794983713768568912431388982883793
878002287614711652531743087737814467999489
X
36746043666799590428244633799627952632279158164343087642676032283815739666
511279233373417143396810270092798736308917
0119デフォルトの名無しさん2016/06/16(木) 06:14:57.31ID:SL8rnu8/
javaの入門書一冊読み終えたのですが
何か次にステップアップするのにお勧めな本教えてほしいです
0120デフォルトの名無しさん2016/06/16(木) 07:27:24.00ID:tOwQ8tvq
>>119

>>16
参照
0121デフォルトの名無しさん2016/06/16(木) 08:07:28.45ID:SL8rnu8/
>>120
ありがとうございます。そこは既に見たんですが同じシリーズの本しかなかったので
ほかにないかなと
0122デフォルトの名無しさん2016/06/16(木) 10:47:41.35ID:nWEOMA1G
コマンドライから任意の数字を入力できる
1〜6以外の数字の場合入力が不適切ですと表示させ入力を繰り返す
乱数を発生させて、入力した文字と比較させ勝ち負けを判定する

上記のプログラムを書きたいのですが任意の数字を打ち込むところができません。

途中までのソース
http://ideone.com/K0dpO1

助けてくだしゃい
0123デフォルトの名無しさん2016/06/16(木) 10:55:51.11ID:4Jb6Z0TN
if(1<= a && a <= 6)
0124デフォルトの名無しさん2016/06/16(木) 11:00:37.83ID:tOwQ8tvq
while(true){
System.out.println("1〜6までの数字を入力してください");
Scanner scan1 = new Scanner(System.in);

変数、scan1を使ってないじゃん

1行ずつ、デバッグ実行して、watch画面で、変数の内容を確認しながら、進めていく
0125デフォルトの名無しさん2016/06/16(木) 11:28:56.80ID:4Jb6Z0TN
Javaの宿題スレってないんだな
0126デフォルトの名無しさん2016/06/16(木) 11:39:41.46ID:rpc5DFq+
ここまでいったんだけど、最後のソースに到達しないみたい
main内に書いてると思うんだけど

改善後http://ideone.com/FxKBH2
0127デフォルトの名無しさん2016/06/16(木) 11:53:56.43ID:4Jb6Z0TN
breakしろ
0128デフォルトの名無しさん2016/06/16(木) 11:59:32.79ID:rpc5DFq+
できたわ。
助かった。
0129デフォルトの名無しさん2016/06/16(木) 12:26:51.68ID:0I01+HHK
while (true) を目にして動悸・息切れ・目眩などの諸症状に襲われずして
まともなプログラマにはなれない
0130デフォルトの名無しさん2016/06/16(木) 12:52:21.14ID:CbGXrP8u
やっぱ for (;;) でしょ
0131デフォルトの名無しさん2016/06/16(木) 14:17:45.10ID:C5pKIuJR
String.split()メソッドを使い、文字列を内部のピリオドで切り分けたいのですが
\(ピリオド)が未定義で使えません
どうしたら良いのでしょうか?
0132デフォルトの名無しさん2016/06/16(木) 14:18:29.15ID:rfuHgD6o
\\.
0133デフォルトの名無しさん2016/06/16(木) 14:57:37.10ID:bI+aCDek
>>132
オゥ・・やってみます
有り難う御座いましたっ
01341322016/06/16(木) 17:51:30.93ID:GkUFfn3X
>>133
ちなみに一応説明しとくと
splitは性器表現だから文字としてのピリオドを認識させたい場合にはエスケープ文字の\をつけて「\.」とする必要がある。
Javaの文字列「\.」を表示する場合、Javaでも\はエスケープ文字となるから、文字としての円マークを認識させるには\\となる。
だから最終的に正規表現でドットを文字列として認識させたい場合「\\.」となる
0135デフォルトの名無しさん2016/06/16(木) 19:15:09.43ID:bI+aCDek
なるほど
java制御文字→正規表現での解釈と二重構造なんですね 勉強になりました
0136デフォルトの名無しさん2016/06/16(木) 20:31:12.17ID:s0EsHX7v
性器表現

なんという素晴らしい表現
0137デフォルトの名無しさん2016/06/16(木) 20:41:42.52ID:25qEXxzA
javaとかいう糞言語
速くもないし可読性も悪い
色んな書き方が出来るせいで
コーディング規約が難解で誰も守らないという
0138デフォルトの名無しさん2016/06/16(木) 20:53:19.99ID:s0EsHX7v
>>137
じゃあお前が理想の言語作れ
とりあえずJavaへのコンバーターでもいいから
0139デフォルトの名無しさん2016/06/16(木) 22:07:02.77ID:KwcabU8B
ど素人です...javaを始めたばかりで、くだらない質問ですが、どなたか助けて頂けないでしょうか?複数選択のチェックボックスについて、質問があります(T_T)エクリプス環境下で開発しています。
0140デフォルトの名無しさん2016/06/16(木) 22:44:29.82ID:91QZsnGl
>>139
で、質問は?
0141デフォルトの名無しさん2016/06/16(木) 22:57:50.42ID:KwcabU8B
ご返信ありがとうございます。
複数のチェックボックスを選択し、DAOでselectとupdateで、DBへ書込みと更新をしたいです。
その際に、チェクされたものは「1」へ格納され、最終的にJavaのarray<string>に"01,02..."のように入れたいです。
現在、エンティティとダオは読み込めているようなのです。チェックされたものを「1」へ格納され、list化する部分がわかりません。javaで、if文で格納で良いのでしょうか?
文章力知識共にないので、乱雑な文章をお許しください。
0142デフォルトの名無しさん2016/06/16(木) 23:11:25.70ID:L6uV1SZP
「1」へ格納の意味が分からん
0143デフォルトの名無しさん2016/06/16(木) 23:24:42.80ID:KwcabU8B
>>142
チェックされたものは、「1」。チェックされなかったものは「0」で置いておきたいです。別ページで、チェックされたものを再度読み込んで表示するためです。
0144デフォルトの名無しさん2016/06/16(木) 23:54:29.08ID:L6uV1SZP
チェックボックスってJCheckBoxとか?jsp?
0145デフォルトの名無しさん2016/06/16(木) 23:59:32.86ID:KwcabU8B
>>144
(h:selectManyCheckbox)をxhtmlで入れています。
0146デフォルトの名無しさん2016/06/17(金) 00:11:56.31ID:oUaRcFkA
登録ボタン押したときにjava側にチェック状態渡せてんなら>>141で言ってるように

List<String> checkList = new ArrayList<String>();
if(チェックされてれば){
checkList.add("01");
}

てな事をやれば良いんじゃない
0147デフォルトの名無しさん2016/06/17(金) 00:20:45.56ID:YeXpyiC7
>>146
そうですよね...本当に初歩なのですが、登録ボタンは、xhtmlに入れて良いのですよね?
それから、if()←の()内が、私が理解出来ていないのかもしれません。checkbox=checkedで良いのでしょうか?
0148デフォルトの名無しさん2016/06/17(金) 00:39:52.03ID:oUaRcFkA
すまんがJSFを使ったことが無いので分からん

あと値の比較は==だ
多分その感じだとBeanクラス作ったりBean指定したりも出来てないんじゃ無いか?

いきなり難しいことから始めないでjavaの勉強を先にした方が良いぞ
0149デフォルトの名無しさん2016/06/17(金) 00:43:39.00ID:YeXpyiC7
>>148
ご指摘、ありがとうございます(T_T)
その通りなんです...ただ仕事で、始めから作ってみろーみたいになってしまっていて。もうどうして良いか...本当に、訳のわからぬ者に答えていただき、感謝です。
0150デフォルトの名無しさん2016/06/17(金) 00:47:50.71ID:oUaRcFkA
それは酷いな
最初のうちはとにかく聞きまくるしか無い
0151デフォルトの名無しさん2016/06/17(金) 00:54:11.22ID:YeXpyiC7
>>150
そうですよね...なんだか、とっても背中を押して頂いた気がします。有難いです。
0152デフォルトの名無しさん2016/06/17(金) 01:00:02.96ID:jYlDfS4o
会社なら、他にリソースあるだろ
0153デフォルトの名無しさん2016/06/17(金) 01:02:49.90ID:YeXpyiC7
>>152
明日相談してみます。お付き合いいただき、ありがとうございました。
0154デフォルトの名無しさん2016/06/17(金) 10:31:29.18ID:TgUNX6A4
JavaのClassについて教えてもらいたいんだけど
「新しいクラスを作成したら、必ずtoString、equals、hasCodeなどをオーバーライドしないといけない」とか読んだ
これってLL言語では見かけないので、良く分からなくて
何か定石とか、定例文のようなものってあるの?
漠然としすぎていてサッパリ分からないんだけど
0155デフォルトの名無しさん2016/06/17(金) 12:11:30.28ID:Jw6Vo/h3
それはそのシステムの特性なのでは
0156デフォルトの名無しさん2016/06/17(金) 12:42:49.53ID:7/Cp3IRC
>>154
必ずではない。ただし作っておけば自分の意図した通りになる。
0157デフォルトの名無しさん2016/06/17(金) 13:08:42.96ID:dxjEzlRD
必ずオーバーライドしなきゃいけないってどんな教えだよ
おまじないよりたち悪いな
0158デフォルトの名無しさん2016/06/17(金) 13:24:24.48ID:CYdk5Mt/
>>154
ちなみにそれはどこで読んだんだ?
0159デフォルトの名無しさん2016/06/17(金) 17:03:56.92ID:TgUNX6A4
スッキリの実践P118
「必ず」とハッキリと書いてある

ってか自分もシステムに依存するとは思うけれど、そうは言われてもあまりにも漠然としすぎてて
基本的にオーバーライドして実装するテンプレートみたいなものがないのかなぁ、と
サンプルでもあれば分かりやすいとは思うんだけど
0160デフォルトの名無しさん2016/06/17(金) 17:54:11.66ID:CYdk5Mt/
そういう悪書はブックオフでいいと思うよ、いやわりとマジで
0161デフォルトの名無しさん2016/06/17(金) 18:10:03.48ID:XNEe7Ys+
いつ、誰に、どのような使われ方をするかわからないから取り合えす、オーバーライドしとけよって書いてあるね
0162デフォルトの名無しさん2016/06/17(金) 18:12:15.82ID:jYlDfS4o
それだけでもうその本は信用できねーな
0163デフォルトの名無しさん2016/06/17(金) 19:47:24.62ID:l8TNEkGu
出版物に書いてあるのかよ(驚愕
どうせコーディング規約だと思ってた
0164デフォルトの名無しさん2016/06/17(金) 20:02:50.16ID:XNEe7Ys+
そのままは書いていないよ。まぁしっかり本を読むことだね〜
0165デフォルトの名無しさん2016/06/18(土) 08:40:28.37ID:8GpUPXrh
Setに入れるのに同一性を保ちたいとかあるからね

EclipseとIntelliJはそれらを自動で作成してくれるコマンドがあるよ
0166デフォルトの名無しさん2016/06/18(土) 14:13:19.66ID:w9zLlF5g
むしろlombokが楽
0167デフォルトの名無しさん2016/06/18(土) 21:56:09.89ID:QKdVDmdU
toString、equals、hasCode
この3つは、Rubyなど、どの言語でも最初に考える

Apache Commons Lang に、Builder がある

EqualsBuilder
HashCodeBuilder
0168デフォルトの名無しさん2016/06/19(日) 11:05:14.00ID:gzsVn/8O
http://qiita.com/fkrw/items/c7492f28559e0e9fc5b2
toString() / equals() / hashCode()のオーバーライドについて

第1部 第4章
classを作成した時は、これらのメソッドをオーバーライドしないと、
コレクションが正しく動作しない場合がある。
~~~~~~~~~~~~~~
↑
一応こういう条件付きで書いてあるようだ。
0169デフォルトの名無しさん2016/06/19(日) 11:20:02.62ID:v9j4Ju2+
無断転載されても逆に面倒くさいしJava言語仕様に書かれてないことを吹聴してるクソ、で結論は出ているだろ
0170デフォルトの名無しさん2016/06/19(日) 12:03:54.21ID:3rB45jJy
ようするにわかりませんてことか。
0171デフォルトの名無しさん2016/06/19(日) 13:40:43.89ID:oY7TlxuV
Rubyでは、一番厳しい等値判定は、オブジェクトIDを使う。
この場合、オブジェクトの内容が同じでも、別のオブジェクトなら非等値になる

オブジェクトをソートに使うのなら、先に、<=> UFO・宇宙船演算子(Comparable)を定義する

ハッシュの等値は、UFO演算子の、= の別名にするか、独自に定義する

3 == 3.0 → ソートでは等しい
3 == 3.0 → ハッシュでは異なる
0172デフォルトの名無しさん2016/06/20(月) 22:14:00.85ID:zVDaZ2+M
eclipseでプログラム完成したんだけど
javaってどれが最終的な実行ファイル?
Windowsでクリック実行するにはバッチみたいのが必要なんでしょうか?
0173デフォルトの名無しさん2016/06/20(月) 22:17:20.00ID:g0Cn2Mhi
.classファイルもしくは.jarファイル
起動するにはjavaコマンドでmainメソッドがあるクラスやらなんやらを指定する
0174デフォルトの名無しさん2016/06/20(月) 22:23:32.32ID:zVDaZ2+M
>>173
有り難うございます
使ったクラス群はビルドされて単体ファイルに含まれてるんでしょうか?
0175デフォルトの名無しさん2016/06/20(月) 22:28:47.48ID:Tybwfjf0
javaのwebアプリを作ろうとしています。
フレームワークのJSTLを使おうとしておりますが、JSTLのインストールを
解説しているサイトではJSTLのサイトから
�@javax.servlet.jsp.jstl-api-1.2.1.jar
�Ajavax.servlet.jsp.jstl-1.2.1.jar
の2種をダウンロードすると記載されています。

�@は難なくダウンロードできたのですが、�Aがどうやっても見つからず
ダウンロードできません。(一覧にあがってこない)
�Aはもう提供されていないのでしょうか。
0176デフォルトの名無しさん2016/06/21(火) 05:06:56.47ID:ZRyqXqGn
スッキリ分かるjava入門を二回読んでみてスッキリしないことがあるので教えてください。
配列とかクラス型の参照型変数はアドレスを参照にしてるから
ブロック外で値を変えても、元の変数も値が変わる
こんな程度の認識しかないんですが大丈夫ですか?今は

それともう一つ
実行環境を整えずにdokojavaでやってたせいか
packageとAPIについての知識が全くつかなかったんですがこの先これで大丈夫でしょうか?
0177デフォルトの名無しさん2016/06/21(火) 07:25:54.45ID:jCImJq08
>>175
取り敢えず上だけいれて使えるか試してみた?
0178デフォルトの名無しさん2016/06/21(火) 08:47:50.93ID:ZRyqXqGn
なんか日本語になってなくてごめん

変数を作るとメモリからアドレスを確保してそこに格納とか
プログラミング入門の段階で教えられても意味が分かりません
この参照型の仕組みを覚えておくと以降の章を読むのが楽になりますって書いてあるけど
全然参照型について理解出来てないけど普通に以降の章は理解できたしよくわかりません。。
0179デフォルトの名無しさん2016/06/21(火) 09:07:55.94ID:oaiM5wE7
とりあえずは

int[] a = {1};
System.out.println(a[0]); //=> 1
{
int[] b = a; b[0] = 10;
}
System.out.println(a[0]); //=> ?

と

int a = 1;
System.out.println(a); //=> 1
{
int b = a; b = 10;
}
System.out.println(a); //=> ?

の実行結果の違いがわかって説明できればOK
0180デフォルトの名無しさん2016/06/21(火) 09:28:50.43ID:rdnhr1yO
横だが>>179みたいのを手軽に試せる対話型のRELPみたいのってないのかな
0181デフォルトの名無しさん2016/06/21(火) 09:50:15.02ID:rdnhr1yO
まさにJAVA RELPってのがあったんだな
スレ汚しすまそ
0182デフォルトの名無しさん2016/06/21(火) 12:40:07.51ID:ZRyqXqGn
>>179
レスありがとうございます。
上は配列aの要素数0に1を投入してその後にb配列にaを代入してるから
ab両方とも同じアドレスを参照するようになってbに値を入れてもaも同じアドレを見てるから
実行結果は10になって
下はただの変数だからbにaを代入してもaは1のままで実行結果は1
でこんなんですが大丈夫ですか?今の段階では
0183デフォルトの名無しさん2016/06/21(火) 12:50:54.05ID:F8rFyF6H
今の段階ではJavaREPLを使うのが手っ取り早いだろうな
EarlyAccessでよければJava9でjshellが実行できる
0184デフォルトの名無しさん2016/06/21(火) 19:06:28.13ID:SKnRlXlV
>>182
Javaの場合はJavaのバーチャルマシンがメモリのアドレスを管理している。

読んでいる本がJavaの参照型をアドレスと言っているなら、その本はよくない。

Javaプログラムは実際のメインメモリのアドレスを意識しないし、通常、直接アドレスを扱ったりしない。

同じ領域を参照しているか、していないかだけ考えた方がいい。
0185デフォルトの名無しさん2016/06/21(火) 22:11:55.71ID:jb5TwFgE
>>177
レスありがとうございます。
はい、
C:\Users\ユーザー名\Documents\NetBeansProjects\AAA\web\WEB-INF\lib
に格納して試しましたが、動作しませんでした。
入れるところが間違っているのでしょうか。
コードを実行すると、以下のメッセージが表示されます。
「C:\Users\ユーザー名\Documents\NetBeansProjects\AAA\build\generated\src\org\apache\jsp\response_jsp.java:124: エラー: パッケージorg.apache.taglibs.standard.tag.rt.sqlは存在しません」
0186デフォルトの名無しさん2016/06/21(火) 22:23:04.45ID:F8M3kR9Z
Java歴6日目の者です。
次の2つのクラスを作りましたが実行できません。どこが悪いのでしょうか?
Calc.java:
public class Calc {
 public static int add(int x, int y) {
  return x + y;
 }
}
Main.java:
public class Main {
 public static void main(String[] args) {
  Calc c = new Calc();
  System.out.println(c.add(10, 5);
 }
}
0187デフォルトの名無しさん2016/06/21(火) 22:24:53.94ID:91LhrXVC
さいごかっこなくね
てかエラー嫁
それでわからなかったらエラーもはっとけ
0188デフォルトの名無しさん2016/06/21(火) 22:27:02.55ID:p8YkQE1T
printlnの行に)が足りないが
それが原因かは分からん
0189デフォルトの名無しさん2016/06/21(火) 22:28:40.86ID:F8M3kR9Z
System.out.println(c.add(10, 5));
こうですね。ありがとうございます。
0190デフォルトの名無しさん2016/06/21(火) 22:30:44.97ID:F8M3kR9Z
動きました!が、c.add(10, 5)に黄色い波線が出ています。
eclipseなのでコンパイルエラーとかは出てきません。
自動ビルドのようです。
0191デフォルトの名無しさん2016/06/21(火) 22:31:02.43ID:rdnhr1yO
System.out.println(c.add(10, 5));にすればちゃんと15が出力されるよ
■ このスレッドは過去ログ倉庫に格納されています